PageSourceSearch

https://hospitalitaliano.org.ar/scripts/8526c.vendor.js

js hospitalitaliano.org.ar collected 2026-10-01 10:45:10 UTC 1,898,128 bytes, 1 lines download raw bytes

vendor: 5,754 bytes, line 1
1if(function(global,factory){"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){var arr=[],document=window.document,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},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()};function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);return"function"!==type&&!jQuery.isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj)}jQuery.fn=jQuery.prototype={jquery:"2.2.4",constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return null!=num?num<0?this[num+this.length]:this[num]:slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret.context=this.context,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=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],target!==(copy=options[name])&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return"function"===jQuery.type(obj)},isArray:Array.isArray,isWindow:function(obj){return null!=obj&&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("object"!==jQuery.type(obj)||obj.nodeType||jQuery.isWindow(obj))return!1;if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype||{},"isPrototypeOf"))return!1;for(key in obj);return void 0===key||hasOwn.call(obj,key)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},type:function(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){var script,indirect=eval;(code=jQuery.trim(code))&&(1===code.indexOf("use strict")?((script=document.createElement("script")).text=code,document.head.appendChild(script).parentNode.removeChild(script)):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))for(length=obj.length;i<length&&!1!==callback.call(obj[i],i,obj[i]);i++);else for(i in obj)if(!1===callback.call(obj[i],i,obj[i]))break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)!callback(elems[i],i)!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)null!=(value=callback(elems[i],i,arg))&&ret.push(value);else for(i in elems)null!=(value=callback(elems[i],i,arg))&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if("string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn))return args=slice.call(arguments,2),(proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))}).guid=fn.guid=fn.guid||jQuery.guid++,proxy},now:Date.now,support:support}),"function"==typeof Symbol&&(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()});var Sizzle=function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,
vendor: 29,569 bytes, line 1
1setDocument,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){return a===b&&(hasDuplicate=!0),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){for(var i=0,len=list.length;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-65536;return high!=high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},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){for(var j=target.length,i=0;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;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rescape,"\\$&"):context.setAttribute("id",nid=expando),i=(groups=tokenize(selector)).length,nidselect=ridentifier.test(nid)?"#"+nid:"[id='"+nid+"']";i--;)groups[i]=nidselect+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];return function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return!1}finally{div.parentNode&&div.parentNode.removeChild(div),div=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}for(i in support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(docElem=(document=doc).documentElement,documentIsHTML=!isXML(document),(parent=document.defaultView)&&parent.top!==parent&&(parent.addEventListener?parent.addEventListener("unload",unloadHandler,!1):parent.attachEvent&&parent.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(div){return div.className="i",!div.getAttribute("className")}),support.getElementsByTagName=assert(function(div){return div.appendChild(document.createComment("")),!div.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(div){return docElem.appendChild(div).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&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}}):(delete Expr.find.ID,Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(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>",div.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),div.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),div.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),div.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),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"),div.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),div.querySelectorAll(":enabled").length||rbuggyQSA.push(":enabled",":disabled"),div.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(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=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(1&(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,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;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):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']"),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&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?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;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},(Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}: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("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===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+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?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=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(diff=(nodeIndex=(cache=(uniqueCache=(outerCache=(node=parent)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1])&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(diff=nodeIndex=(cache=(uniqueCache=(outerCache=(node=elem)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1]),!1===diff)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&((uniqueCache=(outerCache=node[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]=[dirruns,diff]),node!==elem)););return(diff-=last)===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);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)seed[idx=indexOf(seed,matched[i])]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return(elemLang=elemLang.toLowerCase())===lang||0===elemLang.indexOf(lang+"-")}while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),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!1===elem.disabled},disabled:function(elem){return!0===elem.disabled},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,!0===elem.selected},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},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"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},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){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}}).pseudos.nth=Expr.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&"parentNode"===dir,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements){if((oldCache=(uniqueCache=(outerCache=elem[expando]||(elem[expando]={}))[elem.uniqueID]||(outerCache[elem.uniqueID]={}))[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[dir]=newCache,newCache[2]=matcher(elem,context,xml))return!0}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||function(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(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),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(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,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if((matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches))[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);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)}return 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);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){for(type in matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length)),Expr.filter)!(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)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)(cached=matcherFromTokens(match[i]))[expando]?setMatchers.push(cached):elementMatchers.push(cached);(cached=compilerCache(selector,function(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+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}(elementMatchers,setMatchers))).selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if((tokens=match[0]=match[0].slice(0)).length>2&&"ID"===(token=tokens[0]).type&&support.getById&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(!(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0]))return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),!(selector=seed.length&&toSelector(tokens)))return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(div1){return 1&div1.compareDocumentPosition(document.createElement("div"))}),assert(function(div){return div.innerHTML="<a href='#'></a>","#"===div.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(div){return div.innerHTML="<input/>",div.firstChild.setAttribute("value",""),""===div.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(div){return null==div.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return!0===elem[name]?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);
vendor: 11,175 bytes, line 1
1jQuery.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){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,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("string"==typeof qualifier){if(risSimple.test(qualifier))return jQuery.filter(qualifier,elements,not);qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not})}jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(i=0;i<len;i++)jQuery.find(selector,self[i],ret);return(ret=this.pushStack(len>1?jQuery.unique(ret):ret)).selector=this.selector?this.selector+" "+selector:selector,ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return(elem=document.getElementById(match[2]))&&elem.parentNode&&(this.length=1,this[0]=elem),this.context=document,this.selector=selector,this}return selector.nodeType?(this.context=this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):(void 0!==selector.selector&&(this.selector=selector.selector,this.context=selector.context),jQuery.makeArray(selector,this))}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i<l;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){for(var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||"string"!=typeof selectors?jQuery(selectors,context||this.context):0;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(pos?pos.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?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);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var readyList,rnotwhite=/\S+/g;function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}jQuery.Callbacks=function(options){options="string"==typeof options?function(options){var object={};return jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=!0}),object}(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)!1===list[firingIndex].apply(memory[0],memory[1])&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=[context,(args=args||[]).slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),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(){return deferred.done(arguments).fail(arguments),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);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)})}),fns=null}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return promise.pipe=promise.then,jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[1^i][2].disable,tuples[2][2].lock),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?promise:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(subordinate){var progressValues,progressContexts,resolveContexts,i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=1!==length||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=1===remaining?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this,values[i]=arguments.length>1?slice.call(arguments):value,values===progressValues?deferred.notifyWith(contexts,values):--remaining||deferred.resolveWith(contexts,values)}};if(length>1)for(progressValues=new Array(length),progressContexts=new Array(length),resolveContexts=new Array(length);i<length;i++)resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)?resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject):--remaining;return remaining||deferred.resolveWith(resolveContexts,resolveValues),deferred.promise()}}),jQuery.fn.ready=function(fn){return jQuery.ready.promise().done(fn),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){(!0===wait?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,!0!==wait&&--jQuery.readyWait>0||(readyList.resolveWith(document,[jQuery]),jQuery.fn.triggerHandler&&(jQuery(document).triggerHandler("ready"),jQuery(document).off("ready"))))}}),jQuery.ready.promise=function(obj){return readyList||(readyList=jQuery.Deferred(),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed))),readyList.promise(obj)},jQuery.ready.promise();var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===jQuery.type(key))for(i in chainable=!0,key)access(elems,fn,i,key[i],!0,emptyGet,raw);else if(void 0!==value&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&
1(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),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},acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};function Data(){this.expando=jQuery.expando+Data.uid++}Data.uid=1,Data.prototype={register:function(owner,initial){var value=initial||{};return owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,writable:!0,configurable:!0}),owner[this.expando]},cache:function(owner){if(!acceptData(owner))return{};var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[data]=value;else for(prop in data)cache[prop]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][key]},access:function(owner,key,value){var stored;return void 0===key||key&&"string"==typeof key&&void 0===value?void 0!==(stored=this.get(owner,key))?stored:this.get(owner,jQuery.camelCase(key)):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,name,camel,cache=owner[this.expando];if(void 0!==cache){if(void 0===key)this.register(owner);else{jQuery.isArray(key)?name=key.concat(key.map(jQuery.camelCase)):(camel=jQuery.camelCase(key),name=key in cache?[key,camel]:(name=camel)in cache?[name]:name.match(rnotwhite)||[]),i=name.length;for(;i--;)delete cache[name[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),"string"==typeof(data=elem.getAttribute(name))){try{data="true"===data||"false"!==data&&("null"===data?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data)}catch(e){}dataUser.set(elem,key,data)}else data=void 0;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(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&0===(name=attrs[i].name).indexOf("data-")&&(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name]));dataPriv.set(elem,"hasDataAttrs",!0)}return data}return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data,camelKey;if(elem&&void 0===value)return void 0!==(data=dataUser.get(elem,key)||dataUser.get(elem,key.replace(rmultiDash,"-$&").toLowerCase()))?data:(camelKey=jQuery.camelCase(key),void 0!==(data=dataUser.get(elem,camelKey))?data:void 0!==(data=dataAttr(elem,camelKey,void 0))?data:void 0);camelKey=jQuery.camelCase(key),this.each(function(){var data=dataUser.get(this,camelKey);dataUser.set(this,camelKey,value),key.indexOf("-")>-1&&void 0!==data&&dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||jQuery.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),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);"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,function(){jQuery.dequeue(elem,type)},hooks)),!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;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&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(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)(tmp=dataPriv.get(elements[i],type+"queueHooks"))&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHidden=function(elem,el){return elem=el||elem,"none"===jQuery.css(elem,"display")||!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]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do{initialInUnit/=scale=scale||".5",jQuery.style(elem,prop,initialInUnit+unit)}
vendor: 8,363 bytes, line 1
1while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([\w:-]+)/,rscriptType=/^$|\/(?:java|ecma)script/i,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,"",""]};function getAll(context,tag){var ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[];return void 0===tag||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var div,input,rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i<l;i++)if((elem=elems[i])||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(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];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),(tmp=fragment.firstChild).textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}div=document.createDocumentFragment().appendChild(document.createElement("div")),(input=document.createElement("input")).setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){for(type in"string"!=typeof selector&&(data=data||selector,selector=void 0),types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,(fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)}).guid=origFn.guid||(origFn.guid=jQuery.guid++)),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)for(handler.handler&&(handler=(handleObjIn=handler).handler,selector=handleObjIn.selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return void 0!==jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),t=(types=(types||"").match(rnotwhite)||[""]).length;t--;)type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(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),(handlers=events[type])||((handlers=events[type]=[]).delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},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)){for(t=(types=(types||"").match(rnotwhite)||[""]).length;t--;)if(type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},handlers=events[type=(selector?special.delegateType:special.bindType)||type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!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),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);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]||{};if(args[0]=event,event.delegateTarget=this,!special.preDispatch||!1!==special.preDispatch.call(this,event)){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,void 0!==(ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args))&&!1===(event.result=ret)&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&("click"!==event.type||isNaN(event.button)||event.button<1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&(!0!==cur.disabled||"click"!==event.type)){for(matches=[],i=0;i<delegateCount;i++)void 0===matches[sel=(handleObj=handlers[i]).selector+" "]&&(matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matches[sel]&&matches.push(handleObj);matches.length&&handlerQueue.push({elem:cur,handlers:matches})}return delegateCount<handlers.length&&handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)}),handlerQueue},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{}
vendor: 3,155 bytes, line 1
1,keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){return null==event.which&&(event.which=null!=original.charCode?original.charCode:original.keyCode),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;return null==event.pageX&&null!=original.clientX&&(doc=(eventDoc=event.target.ownerDocument||document).documentElement,body=eventDoc.body,event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)),event.which||void 0===button||(event.which=1&button?1:2&button?3:4&button?2:0),event}},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];for(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;i--;)event[prop=copy[i]]=originalEvent[prop];return event.target||(event.target=document),3===event.target.nodeType&&(event.target=event.target.parentNode),fixHook.filter?fixHook.filter(event,originalEvent):event},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&jQuery.nodeName(this,"input"))return this.click(),!1},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&!1===src.returnValue?returnTrue:returnFalse):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}}
vendor: 14,113 bytes, line 1
1,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,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===this||jQuery.contains(this,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),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)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return!1!==selector&&"function"!=typeof selector||(fn=selector,selector=void 0),!1===fn&&(fn=returnFalse),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(11!==content.nodeType?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events))for(type in delete pdataCur.handle,pdataCur.events={},events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i]);dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}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&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(first=(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored)).firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(hasScripts=(scripts=jQuery.map(getAll(fragment,"script"),disableScript)).length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):jQuery.globalEval(node.textContent.replace(rcleanScript,"")))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(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,src,dest,nodeName,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),i=0,l=(srcElements=getAll(elem)).length;i<l;i++)src=srcElements[i],dest=destElements[i],void 0,"input"===(nodeName=dest.nodeName.toLowerCase())&&rcheckableType.test(src.type)?dest.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return(destElements=getAll(clone,"script")).length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({domManip:domManip,detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||manipulationTarget(this,elem).appendChild(elem)})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,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(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)1===(elem=this[i]||{}).nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),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){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;i<=last;i++)elems=i===last?this:this.clone(!0),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");return elem.detach(),display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];return display||("none"!==(display=actualDisplay(nodeName,doc))&&display||((doc=(iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement))[0].contentDocument).write(),doc.close(),display=actualDisplay(nodeName,doc),iframe.detach()),elemdisplay[nodeName]=display),display}var rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];for(name in ret=callback.apply(elem,args||[]),options)elem.style[name]=old[name];return ret},documentElement=document.documentElement;function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return""!==(ret=(computed=computed||getStyles(elem))?computed.getPropertyValue(name)||computed[name]:void 0)&&void 0!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),computed&&!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),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(!conditionFn())return(this.get=hookFn).apply(this,arguments);delete this.get}}}!function(){var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("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="1%"!==divStyle.top,reliableMarginLeftVal="2px"===divStyle.marginLeft,boxSizingReliableVal="4px"===divStyle.width,div.style.marginRight="50%",pixelMarginRightVal="4px"===divStyle.marginRight,documentElement.removeChild(container)}div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",container.appendChild(div),jQuery.extend(support,{pixelPosition:function(){return computeStyleTests(),pixelPositionVal},boxSizingReliable:function(){return null==boxSizingReliableVal&&computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return null==boxSizingReliableVal&&computeStyleTests(),pixelMarginRightVal},reliableMarginLeft:function(){return null==boxSizingReliableVal&&computeStyleTests(),reliableMarginLeftVal},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));return 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),ret}}))}();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;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if((name=cssPrefixes[i]+capName)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){for(var i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0,val=0;i<4;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=!0,val="width"===name?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles);if(val<=0||null==val){if(((val=curCSS(elem,name,styles))<0||null==val)&&(val=elem.style[name]),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){for(var display,elem,hidden,values=[],index=0,length=elements.length;index<length;index++)(elem=elements[index]).style&&(values[index]=dataPriv.get(elem,"olddisplay"),display=elem.style.display,show?(values[index]||"none"!==display||(elem.style.display=""),""===elem.style.display&&isHidden(elem)&&(values[index]=dataPriv.access(elem,"olddisplay",defaultDisplay(elem.nodeName)))):(hidden=isHidden(elem),"none"===display&&hidden||dataPriv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))));for(index=0;index<length;index++)(elem=elements[index]).style&&(show&&"none"!==elem.style.display&&""!==elem.style.display||(elem.style.display=s
vendor: 7,766 bytes, line 1
1how?values[index]||"":"none"));return elements}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;if(name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value)return hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name];"string"===(type=typeof value)&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value==value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(style[name]=value))}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),(hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName])&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),!0===extra||isFinite(num)?num||0:val):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"))&&0===elem.offsetWidth?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,"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles);return subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[name]=value,value=jQuery.css(elem,name)),setPositiveNumber(0,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){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},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)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHidden(this)?jQuery(this).show():jQuery(this).hide()})}}),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];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""))&&"auto"!==result?result:0},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.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(){return window.setTimeout(function(){fxNow=void 0}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)attrs["margin"+(which=cssExpand[i])]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}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!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),percent=1-(remaining/animation.duration||0),index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{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);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(!function(props,specialEasing){var index,name,easing,value,hooks;
vendor: 10,463 bytes, line 1
1for(index in props)if(easing=specialEasing[name=jQuery.camelCase(index)],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),(hooks=jQuery.cssHooks[name])&&"expand"in hooks)for(index in value=hooks.expand(value),delete props[name],value)index in props||(props[index]=value[index],specialEasing[index]=easing);else specialEasing[name]=easing}(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),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})),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);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.match(rnotwhite);for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[function(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=dataPriv.get(elem,"fxshow");for(prop in opts.queue||(null==(hooks=jQuery._queueHooks(elem,"fx")).unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})})),1===elem.nodeType&&("height"in props||"width"in props)&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],"inline"===("none"===(display=jQuery.css(elem,"display"))?dataPriv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display)&&"none"===jQuery.css(elem,"float")&&(style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),props)if(value=props[prop],rfxtypes.exec(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else display=void 0;if(jQuery.isEmptyObject(orig))"inline"===("none"===display?defaultDisplay(elem.nodeName):display)&&(style.display=display);else for(prop in dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{}),toggle&&(dataShow.hidden=!hidden),hidden?jQuery(elem).show():anim.done(function(){jQuery(elem).hide()}),anim.done(function(){var prop;for(prop in dataPriv.remove(elem,"fxshow"),orig)jQuery.style(elem,prop,orig[prop])}),orig)tween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=tween.start,hidden&&(tween.end=tween.start,tween.start="width"===prop||"height"===prop?1:0))}],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return opt.duration=jQuery.fx.off?0:"number"==typeof opt.duration?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default,null!=opt.queue&&!0!==opt.queue||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},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);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||!1===optall.queue?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)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&!1!==type&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return!1!==type&&(type=type||"fx"),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;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)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 null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),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;for(fxNow=jQuery.now();i<timers.length;i++)(timer=timers[i])()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),timer()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){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){return time=jQuery.fx&&jQuery.fx.speeds[time]||time,type=type||"fx",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=!0,support.optDisabled=!opt.disabled,(input=document.createElement("input")).value="t",input.type="radio",support.radioValue="t"===input.value}();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(3!==nType&&8!==nType&&2!==nType)return void 0===elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(name=name.toLowerCase(),hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:null==(ret=jQuery.find.attr(elem,name))?void 0:ret)},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&jQuery.nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)propName=jQuery.propFix[name]||name,jQuery.expr.match.bool.test(name)&&(elem[propName]=!1),elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return!1===value?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),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;return isXML||(handle=attrHandle[name],attrHandle[name]=ret,ret=null!=getter(elem,name,isXML)?name.toLowerCase():null,attrHandle[name]=handle),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(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret: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?
vendor: 5,579 bytes, line 1
10:-1}}},propFix:{for:"htmlFor",class:"className"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,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("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");curValue!==(finalValue=jQuery.trim(cur))&&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("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");curValue!==(finalValue=jQuery.trim(cur))&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value;return"boolean"==typeof stateVal&&"string"===type?stateVal?this.addClass(value):this.removeClass(value):jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if("string"===type)for(i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||((className=getClass(this))&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||!1===value?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+getClass(elem)+" ").replace(rclass," ").indexOf(className)>-1)return!0;return!1}});var rreturn=/\r/g,rspaces=/[\x20\t\r\n\f]+/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];return arguments.length?(isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(null==(val=isFunction?value.call(this,i,jQuery(this).val()):value)?val="":"number"==typeof val?val+="":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),(hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()])&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))})):elem?(hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()])&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:"string"==typeof(ret=elem.value)?ret.replace(rreturn,""):null==ret?"":ret:void 0}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:jQuery.trim(jQuery.text(elem)).replace(rspaces," ")}},select:{get:function(elem){for(var value,option,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;i<max;i++)if(((option=options[i]).selected||i===index)&&(support.optDisabled?!option.disabled:null===option.getAttribute("disabled"))&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)((option=options[i]).selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),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}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"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("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(type=(namespaces=type.split(".")).shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,(event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event)).isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rn
vendor: 4,052 bytes, line 1
1amespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||!1!==special.trigger.apply(elem,data))){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,(handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"))&&handle.apply(cur,data),(handle=ontype&&cur[ontype])&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),!1===event.result&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&!1!==special._default.apply(eventPath.pop(),data)||!acceptData(elem)||ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)&&((tmp=elem[ontype])&&(elem[ontype]=null),jQuery.event.triggered=type,elem[type](),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem)}}),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,!0)}}),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,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);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=jQuery.now(),rquery=/\?/;jQuery.parseJSON=function(data){return JSON.parse(data+"")},jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;
vendor: 16,360 bytes, line 1
1return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(location.protocol),global:!0,processData:!0,async:!0,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":!0,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},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){"object"==typeof url&&(options=url,url=void 0),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(2===state){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return 2===state?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();return state||(name=requestHeadersNames[lname]=requestHeadersNames[lname]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return state||(s.mimeType=type),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;return transport&&transport.abort(finalText),done(0,finalText),this}};if(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)||[""],null==s.crossDomain){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=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),2===state)return jqXHR;for(i in(fireGlobals=jQuery.event&&s.global)&&0==jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url,s.hasContent||(s.data&&(cacheURL=s.url+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),!1===s.cache&&(s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++)),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&!1!==s.contentType||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["*"]),s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(!1===s.beforeSend.call(callbackContext,jqXHR,s)||2===state))return jqXHR.abort();for(i in strAbort="abort",{success:1,error:1,complete:1})jqXHR[i](s[i]);if(transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),2===state)return jqXHR;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))throw e;done(-1,e)}}else done(-1,"No Transport");function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;2!==state&&(state=2,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&status<300||304===status,responses&&(response=function(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(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}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}(s,jqXHR,responses)),response=function(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];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(!(conv=converters[prev+" "+current]||converters["* "+current]))for(conv2 in converters)if((tmp=conv2.split(" "))[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){!0===conv?conv=converters[conv2]:!0!==converters[conv2]&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(!0!==conv)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}}(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&((modified=jqXHR.getResponseHeader("Last-Modified"))&&(jQuery.lastModified[cacheURL]=modified),(modified=jqXHR.getResponseHeader("etag"))&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,isSuccess=!(error=response.error))):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--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,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=void 0),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:!1,global:!1,throws:!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapAll(html.call(this,i))}):(this[0]&&(wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this)},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):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(){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){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():null==value?"":value,s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(void 0===traditional&&(traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional),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 null==val?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();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];for(i in options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest"),headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){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){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){var script,callback;if(s.crossDomain)return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),jQuery.parseHTML=function(data,context,keepScripts){if(!data||"string"!=typeof data)return null;"boolean"==typeof context&&(keepScripts=context,context=!1),context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];return parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))};var _load=jQuery.fn.load;function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&elem.defaultView}jQuery.fn.load=function(url,params,callback){if("string"!=typeof url&&_load
vendor: 4,823 bytes, line 1
1)return _load.apply(this,arguments);var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=jQuery.trim(url.slice(off)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),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(this,response||[jqXHR.responseText,status,jqXHR])})}),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},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1?(curTop=(curPosition=curElem.position()).top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?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;return doc?(docElem=doc.documentElement,jQuery.contains(docElem,elem)?(box=elem.getBoundingClientRect(),win=getWindow(doc),{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft}):box):void 0},position:function(){if(this[0]){var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",!0)),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)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(void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):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)return computed=curCSS(elem,prop),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||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,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 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)},size:function(){return this.length}}
1),jQuery.fn.andSelf=jQuery.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery}),function(window){"use strict";function minErr(module,ErrorConstructor){return ErrorConstructor=ErrorConstructor||Error,function(){var paramPrefix,i,templateArgs=arguments,code=templateArgs[0],message="["+(module?module+":":"")+code+"] ";for(message+=templateArgs[1].replace(/\{\d+\}/g,function(match){var shiftedIndex=+match.slice(1,-1)+2;return shiftedIndex<templateArgs.length?toDebugString(templateArgs[shiftedIndex]):match}),message+="\nhttp://errors.angularjs.org/1.5.8/"+(module?module+"/":"")+code,i=2,paramPrefix="?";i<templateArgs.length;i++,paramPrefix="&")message+=paramPrefix+"p"+(i-2)+"="+encodeURIComponent(toDebugString(templateArgs[i]));return new ErrorConstructor(message)}}var REGEX_STRING_REGEXP=/^\/(.+)\/([a-z]*)$/,VALIDITY_STATE_PROPERTY="validity",hasOwnProperty=Object.prototype.hasOwnProperty,lowercase=function(string){return isString(string)?string.toLowerCase():string},uppercase=function(string){return isString(string)?string.toUpperCase():string};"i"!=="I".toLowerCase()&&(lowercase=function(s){return isString(s)?s.replace(/[A-Z]/g,function(ch){return String.fromCharCode(32|ch.charCodeAt(0))}):s},uppercase=function(s){return isString(s)?s.replace(/[a-z]/g,function(ch){return String.fromCharCode(-33&ch.charCodeAt(0))}):s});var msie,jqLite,jQuery,angularModule,slice=[].slice,splice=[].splice,push=[].push,toString=Object.prototype.toString,getPrototypeOf=Object.getPrototypeOf,ngMinErr=minErr("ng"),angular=window.angular||(window.angular={}),uid=0;function isArrayLike(obj){if(null==obj||isWindow(obj))return!1;if(isArray(obj)||isString(obj)||jqLite&&obj instanceof jqLite)return!0;var length="length"in Object(obj)&&obj.length;return isNumber(length)&&(length>=0&&(length-1 in obj||obj instanceof Array)||"function"==typeof obj.item)}function forEach(obj,iterator,context){var key,length;if(obj)if(isFunction(obj))for(key in obj)"prototype"==key||"length"==key||"name"==key||obj.hasOwnProperty&&!obj.hasOwnProperty(key)||iterator.call(context,obj[key],key,obj);else if(isArray(obj)||isArrayLike(obj)){var isPrimitive="object"!=typeof obj;for(key=0,length=obj.length;key<length;key++)(isPrimitive||key in obj)&&iterator.call(context,obj[key],key,obj)}else if(obj.forEach&&obj.forEach!==forEach)obj.forEach(iterator,context,obj);else if(isBlankObject(obj))for(key in obj)iterator.call(context,obj[key],key,obj);else if("function"==typeof obj.hasOwnProperty)for(key in obj)obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else for(key in obj)hasOwnProperty.call(obj,key)&&iterator.call(context,obj[key],key,obj);return obj}function forEachSorted(obj,iterator,context){for(var keys=Object.keys(obj).sort(),i=0;i<keys.length;i++)iterator.call(context,obj[keys[i]],keys[i]);return keys}function reverseParams(iteratorFn){return function(value,key){iteratorFn(key,value)}}function nextUid(){return++uid}function setHashKey(obj,h){h?obj.$$hashKey=h:delete obj.$$hashKey}function baseExtend(dst,objs,deep){for(var h=dst.$$hashKey,i=0,ii=objs.length;i<ii;++i){var obj=objs[i];if(isObject(obj)||isFunction(obj))for(var keys=Object.keys(obj),j=0,jj=keys.length;j<jj;j++){var key=keys[j],src=obj[key];deep&&isObject(src)?isDate(src)?dst[key]=new Date(src.valueOf()):isRegExp(src)?dst[key]=new RegExp(src):src.nodeName?dst[key]=src.cloneNode(!0):isElement(src)?dst[key]=src.clone():(isObject(dst[key])||(dst[key]=isArray(src)?[]:{}),baseExtend(dst[key],[src],!0)):dst[key]=src}}return setHashKey(dst,h),dst}function extend(dst){return baseExtend(dst,slice.call(arguments,1),!1)}function merge(dst){return baseExtend(dst,slice.call(arguments,1),!0)}function toInt(str){return parseInt(str,10)}function inherit(parent,extra){return extend(Object.create(parent),extra)}function noop(){}function identity($){return $}function valueFn(value){return function(){return value}}function hasCustomToString(obj){return isFunction(obj.toString)&&obj.toString!==toString}function isUndefined(value){return void 0===value}function isDefined(value){return void 0!==value}function isObject(value){return null!==value&&"object"==typeof value}function isBlankObject(value){return null!==value&&"object"==typeof value&&!getPrototypeOf(value)}function isString(value){return"string"==typeof value}function isNumber(value){return"number"==typeof value}function isDate(value){return"[object Date]"===toString.call(value)}msie=window.document.documentMode,noop.$inject=[],identity.$inject=[];var isArray=Array.isArray;function isFunction(value){return"function"==typeof value}function isRegExp(value){return"[object RegExp]"===toString.call(value)}function isWindow(obj){return obj&&obj.window===obj}function isScope(obj){return obj&&obj.$evalAsync&&obj.$watch}function isBoolean(value){return"boolean"==typeof value}function isPromiseLike(obj){return obj&&isFunction(obj.then)}var TYPED_ARRAY_REGEXP=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/;var trim=function(value){return isString(value)?value.trim():value},escapeForRegexp=function(s){return s.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function isElement(node){return!(!node||!(node.nodeName||node.prop&&node.attr&&node.find))}function nodeName_(element){return lowercase(element.nodeName||element[0]&&element[0].nodeName)}function arrayRemove(array,value){var index=array.indexOf(value);return index>=0&&array.splice(index,1),index}function copy(source,destination){var obj,value,stackSource=[],stackDest=[];if(destination){if((value=destination)&&isNumber(value.length)&&TYPED_ARRAY_REGEXP.test(toString.call(value))||(obj=destination,"[object ArrayBuffer]"===toString.call(obj)))throw ngMinErr("cpta","Can't copy! TypedArray de
1stination cannot be mutated.");if(source===destination)throw ngMinErr("cpi","Can't copy! Source and destination are identical.");return isArray(destination)?destination.length=0:forEach(destination,function(value,key){"$$hashKey"!==key&&delete destination[key]}),stackSource.push(source),stackDest.push(destination),copyRecurse(source,destination)}return copyElement(source);function copyRecurse(source,destination){var key,h=destination.$$hashKey;if(isArray(source))for(var i=0,ii=source.length;i<ii;i++)destination.push(copyElement(source[i]));else if(isBlankObject(source))for(key in source)destination[key]=copyElement(source[key]);else if(source&&"function"==typeof source.hasOwnProperty)for(key in source)source.hasOwnProperty(key)&&(destination[key]=copyElement(source[key]));else for(key in source)hasOwnProperty.call(source,key)&&(destination[key]=copyElement(source[key]));return setHashKey(destination,h),destination}function copyElement(source){if(!isObject(source))return source;var index=stackSource.indexOf(source);if(-1!==index)return stackDest[index];if(isWindow(source)||isScope(source))throw ngMinErr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var needsRecurse=!1,destination=function(source){switch(toString.call(source)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new source.constructor(copyElement(source.buffer),source.byteOffset,source.length);case"[object ArrayBuffer]":if(!source.slice){var copied=new ArrayBuffer(source.byteLength);return new Uint8Array(copied).set(new Uint8Array(source)),copied}return source.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new source.constructor(source.valueOf());case"[object RegExp]":var re=new RegExp(source.source,source.toString().match(/[^\/]*$/)[0]);return re.lastIndex=source.lastIndex,re;case"[object Blob]":return new source.constructor([source],{type:source.type})}if(isFunction(source.cloneNode))return source.cloneNode(!0)}(source);return void 0===destination&&(destination=isArray(source)?[]:Object.create(getPrototypeOf(source)),needsRecurse=!0),stackSource.push(source),stackDest.push(destination),needsRecurse?copyRecurse(source,destination):destination}}function equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!=o1&&o2!=o2)return!0;var length,key,keySet,t1=typeof o1;if(t1==typeof o2&&"object"==t1){if(!isArray(o1)){if(isDate(o1))return!!isDate(o2)&&equals(o1.getTime(),o2.getTime());if(isRegExp(o1))return!!isRegExp(o2)&&o1.toString()==o2.toString();if(isScope(o1)||isScope(o2)||isWindow(o1)||isWindow(o2)||isArray(o2)||isDate(o2)||isRegExp(o2))return!1;for(key in keySet=createMap(),o1)if("$"!==key.charAt(0)&&!isFunction(o1[key])){if(!equals(o1[key],o2[key]))return!1;keySet[key]=!0}for(key in o2)if(!(key in keySet)&&"$"!==key.charAt(0)&&isDefined(o2[key])&&!isFunction(o2[key]))return!1;return!0}if(!isArray(o2))return!1;if((length=o1.length)==o2.length){for(key=0;key<length;key++)if(!equals(o1[key],o2[key]))return!1;return!0}}return!1}var csp=function(){if(!isDefined(csp.rules)){var ngCspElement=window.document.querySelector("[ng-csp]")||window.document.querySelector("[data-ng-csp]");if(ngCspElement){var ngCspAttribute=ngCspElement.getAttribute("ng-csp")||ngCspElement.getAttribute("data-ng-csp");csp.rules={noUnsafeEval:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-unsafe-eval"),noInlineStyle:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-inline-style")}}else csp.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return csp.rules},jq=function(){if(isDefined(jq.name_))return jq.name_;var el,i,prefix,name,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(prefix=ngAttrPrefixes[i],el=window.document.querySelector("["+prefix.replace(":","\\:")+"jq]")){name=el.getAttribute(prefix+"jq");break}return jq.name_=name};function concat(array1,array2,index){return array1.concat(slice.call(array2,index))}function sliceArgs(args,startIndex){return slice.call(args,startIndex||
10)}function bind(self,fn){var curryArgs=arguments.length>2?sliceArgs(arguments,2):[];return!isFunction(fn)||fn instanceof RegExp?fn:curryArgs.length?function(){return arguments.length?fn.apply(self,concat(curryArgs,arguments,0)):fn.apply(self,curryArgs)}:function(){return arguments.length?fn.apply(self,arguments):fn.call(self)}}function toJsonReplacer(key,value){var val=value;return"string"==typeof key&&"$"===key.charAt(0)&&"$"===key.charAt(1)?val=void 0:isWindow(value)?val="$WINDOW":value&&window.document===value?val="$DOCUMENT":isScope(value)&&(val="$SCOPE"),val}function toJson(obj,pretty){if(!isUndefined(obj))return isNumber(pretty)||(pretty=pretty?2:null),JSON.stringify(obj,toJsonReplacer,pretty)}function fromJson(json){return isString(json)?JSON.parse(json):json}var ALL_COLONS=/:/g;function timezoneToOffset(timezone,fallback){timezone=timezone.replace(ALL_COLONS,"");var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function convertTimezoneToLocal(date,timezone,reverse){reverse=reverse?-1:1;var dateTimezoneOffset=date.getTimezoneOffset();return function(date,minutes){return(date=new Date(date.getTime())).setMinutes(date.getMinutes()+minutes),date}(date,reverse*(timezoneToOffset(timezone,dateTimezoneOffset)-dateTimezoneOffset))}function startingTag(element){element=jqLite(element).clone();try{element.empty()}catch(e){}var elemHtml=jqLite("<div>").append(element).html();try{return element[0].nodeType===NODE_TYPE_TEXT?lowercase(elemHtml):elemHtml.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(match,nodeName){return"<"+lowercase(nodeName)})}catch(e){return lowercase(elemHtml)}}function tryDecodeURIComponent(value){try{return decodeURIComponent(value)}catch(e){}}function parseKeyValue(keyValue){var obj={};return forEach((keyValue||"").split("&"),function(keyValue){var splitPoint,key,val;keyValue&&(key=keyValue=keyValue.replace(/\+/g,"%20"),-1!==(splitPoint=keyValue.indexOf("="))&&(key=keyValue.substring(0,splitPoint),val=keyValue.substring(splitPoint+1)),isDefined(key=tryDecodeURIComponent(key))&&(val=!isDefined(val)||tryDecodeURIComponent(val),hasOwnProperty.call(obj,key)?isArray(obj[key])?obj[key].push(val):obj[key]=[obj[key],val]:obj[key]=val))}),obj}function toKeyValue(obj){var parts=[];return forEach(obj,function(value,key){isArray(value)?forEach(value,function(arrayValue){parts.push(encodeUriQuery(key,!0)+(!0===arrayValue?"":"="+encodeUriQuery(arrayValue,!0)))}):parts.push(encodeUriQuery(key,!0)+(!0===value?"":"="+encodeUriQuery(value,!0)))}),parts.length?parts.join("&"):""}function encodeUriSegment(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,pctEncodeSpaces?"%20":"+")}var ngAttrPrefixes=["ng-","data-ng-","ng:","x-ng-"];function angularInit(element,bootstrap){var appElement,module,config={};forEach(ngAttrPrefixes,function(prefix){var name=prefix+"app";!appElement&&element.hasAttribute&&element.hasAttribute(name)&&(appElement=element,module=element.getAttribute(name))}),forEach(ngAttrPrefixes,function(prefix){var candidate,name=prefix+"app";!appElement&&(candidate=element.querySelector("["+name.replace(":","\\:")+"]"))&&(appElement=candidate,module=candidate.getAttribute(name))}),appElement&&(config.strictDi=null!==function(element,ngAttr){var attr,i,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(attr=ngAttrPrefixes[i]+ngAttr,isString(attr=element.getAttribute(attr)))return attr;return null}(appElement,"strict-di"),bootstrap(appElement,module?[module]:[],config))}function bootstrap(element,modules,config){isObject(config)||(config={});config=extend({strictDi:!1},config);var doBootstrap=function(){if((element=jqLite(element)).injector()){var tag=element[0]===window.document?"document":startingTag(element);throw ngMinErr("btstrpd","App already bootstrapped with this element '{0}'",tag.replace(/</,"&lt;").replace(/>/,"&gt;"))}(modules=modules||[]).unshift(["$provide",function($provide){$provide.value("$rootElement",element)}]),config.debugInfoEnabled&&modules.push(["$compileProvider",function($compileProvider){$compileProvider.debugInfoEnabled(!0)}]),modules.unshift("ng");var injector=createInjector(modules,config.strictDi);return injector.invoke(["$rootScope","$rootElement","$compile","$injector",function(scope,element,compile,injector){scope.$apply(function(){element.data("$injector",injector),compile(element)(scope)})}]),injector},NG_ENABLE_DEBUG_INFO=/^NG_ENABLE_DEBUG_INFO!/,NG_DEFER_BOOTSTRAP=/^NG_DEFER_BOOTSTRAP!/;if(window&&NG_ENABLE_DEBUG_INFO.test(window.name)&&(config.debugInfoEnabled=!0,window.name=window.name.replace(NG_ENABLE_DEBUG_INFO,"")),window&&!NG_DEFER_BOOTSTRAP.test(window.name))return doBootstrap();window.name=window.name.replace(NG_DEFER_BOOTSTRAP,""),angular.resumeBootstrap=function(extraModules){return forEach(extraModules,function(module){modules.push(module)}),doBootstrap()},isFunction(angular.resumeDeferredBootstrap)&&angular.resumeDeferredBootstrap()}function reloadWithDebugInfo(){window.name="NG_ENABLE_DEBUG_INFO!"+window.name,window.location.reload()}function getTestability(rootElement){var injector=angular.element(rootElement).injector();if(!injector)throw ngMinErr("test","no injector found for element argument to getTestability");return injector.get("$$testability")}var SNAKE_CASE_REGEXP=/[A-Z]/g;function snake_case(name,separator){return separator=separator||"_",name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var bindJQueryFired=!1;function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function assertArgFn(arg,name,acceptArrayAnnotation){return acceptArrayAnnotation&&isArray(arg)&&(arg=arg[arg.length-1]),assertArg(isFunction(arg),name,"not a function, got "+(arg&&"object"==typeof arg?arg.constructor.name||"Object":typeof arg)),arg}function assertNotHasOwnProperty(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}function getter(obj,path,bindFnToScope){if(!path)return obj;for(var key,keys=path.split("."),lastInstance=obj,len=keys.length,i=0;i<len;i++)key=keys[i],obj&&(obj=(lastInstance=obj)[key]);return!bindFnToScope&&isFunction(obj)?bind(lastInstance,obj):obj}
1function getBlockNodes(nodes){for(var blockNodes,node=nodes[0],endNode=nodes[nodes.length-1],i=1;node!==endNode&&(node=node.nextSibling);i++)(blockNodes||nodes[i]!==node)&&(blockNodes||(blockNodes=jqLite(slice.call(nodes,0,i))),blockNodes.push(node));return blockNodes||nodes}function createMap(){return Object.create(null)}var NODE_TYPE_ELEMENT=1,NODE_TYPE_TEXT=3,NODE_TYPE_COMMENT=8,NODE_TYPE_DOCUMENT=9,NODE_TYPE_DOCUMENT_FRAGMENT=11;function shallowCopy(src,dst){if(isArray(src)){dst=dst||[];for(var i=0,ii=src.length;i<ii;i++)dst[i]=src[i]}else if(isObject(src))for(var key in dst=dst||{},src)"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst||src}function toDebugString(obj){return"function"==typeof obj?obj.toString().replace(/ \{[\s\S]*$/,""):isUndefined(obj)?"undefined":"string"!=typeof obj?function(obj){var seen=[];return JSON.stringify(obj,function(key,val){if(isObject(val=toJsonReplacer(key,val))){if(seen.indexOf(val)>=0)return"...";seen.push(val)}return val})}(obj):obj}var version={full:"1.5.8",major:1,minor:5,dot:8,codeName:"arbitrary-fallbacks"};JQLite.expando="ng339";var jqCache=JQLite.cache={},jqId=1,addEventListenerFn=function(element,type,fn){element.addEventListener(type,fn,!1)},removeEventListenerFn=function(element,type,fn){element.removeEventListener(type,fn,!1)};JQLite._data=function(node){return this.cache[node[this.expando]]||{}};var SPECIAL_CHARS_REGEXP=/([\:\-\_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/,MOUSE_EVENT_MAP={mouseleave:"mou
1seout",mouseenter:"mouseover"},jqLiteMinErr=minErr("jqLite");function camelCase(name){return name.replace(SPECIAL_CHARS_REGEXP,function(_,separator,letter,offset){return offset?letter.toUpperCase():letter}).replace(MOZ_HACK_REGEXP,"Moz$1")}var SINGLE_TAG_REGEXP=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,HTML_REGEXP=/<|&#?\w+;/,TAG_NAME_REGEXP=/<([\w:-]+)/,XHTML_TAG_REGEXP=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,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,"",""]};function jqLiteIsTextNode(html){return!HTML_REGEXP.test(html)}function jqLiteAcceptsData(node){var nodeType=node.nodeType;return nodeType===NODE_TYPE_ELEMENT||!nodeType||nodeType===NODE_TYPE_DOCUMENT}function jqLiteBuildFragment(html,context){var tmp,tag,wrap,i,fragment=context.createDocumentFragment(),nodes=[];if(jqLiteIsTextNode(html))nodes.push(context.createTextNode(html));else{for(tmp=fragment.appendChild(context.createElement("div")),tag=(TAG_NAME_REGEXP.exec(html)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+html.replace(XHTML_TAG_REGEXP,"<$1></$2>")+wrap[2],i=wrap[0];i--;)tmp=tmp.lastChild;nodes=concat(nodes,tmp.childNodes),(tmp=fragment.firstChild).textContent=""}return fragment.textContent="",fragment.innerHTML="",forEach(nodes,function(node){fragment.appendChild(node)}),fragment}function jqLiteWrapNode(node,wrapper){var parent=node.parentNode;parent&&parent.replaceChild(wrapper,node),wrapper.appendChild(node)}wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var jqLiteContains=window.Node.prototype.contains||function(arg){return!!(16&this.compareDocumentPosition(arg))};function JQLite(element){if(element instanceof JQLite)return element;var argIsString,html,context,parsed;if(isString(element)&&(element=trim(element),argIsString=!0),!(this instanceof JQLite)){if(argIsString&&"<"!=element.charAt(0))throw jqLiteMinErr("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new JQLite(element)}jqLiteAddNodes(this,argIsString?(html=element,context=context||window.document,(parsed=SINGLE_TAG_REGEXP.exec(html))?[context.createElement(parsed[1])]:(parsed=jqLiteBuildFragment(html,context))?parsed.childNodes:[]):element)}function jqLiteClone(element){return element.cloneNode(!0)}function jqLiteDealoc(element,onlyDescendants){if(onlyDescendants||jqLiteRemoveData(element),element.querySelectorAll)for(var descendants=element.querySelectorAll("*"),i=0,l=descendants.length;i<l;i++)jqLiteRemoveData(descendants[i])}
1function jqLiteOff(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("offargs","jqLite#off() does not support the `selector` argument");var expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,handle=expandoStore&&expandoStore.handle;if(handle)if(type){var removeHandler=function(type){var listenerFns=events[type];isDefined(fn)&&arrayRemove(listenerFns||[],fn),isDefined(fn)&&listenerFns&&listenerFns.length>0||(removeEventListenerFn(element,type,handle),delete events[type])};forEach(type.split(" "),function(type){removeHandler(type),MOUSE_EVENT_MAP[type]&&removeHandler(MOUSE_EVENT_MAP[type])})}else for(type in events)"$destroy"!==type&&removeEventListenerFn(element,type,handle),delete events[type]}function jqLiteRemoveData(element,name){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];if(expandoStore){if(name)return void delete expandoStore.data[name];expandoStore.handle&&(expandoStore.events.$destroy&&expandoStore.handle({},"$destroy"),jqLiteOff(element)),delete jqCache[expandoId],element.ng339=void 0}}function jqLiteExpandoStore(element,createIfNecessary){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];return createIfNecessary&&!expandoStore&&(element.ng339=expandoId=++jqId,expandoStore=jqCache[expandoId]={events:{},data:{},handle:void 0}),expandoStore}function jqLiteData(element,key,value){if(jqLiteAcceptsData(element)){var isSimpleSetter=isDefined(value),isSimpleGetter=!isSimpleSetter&&key&&!isObject(key),massGetter=!key,expandoStore=jqLiteExpandoStore(element,!isSimpleGetter),data=expandoStore&&expandoStore.data;if(isSimpleSetter)data[key]=value;else{if(massGetter)return data;if(isSimpleGetter)return data&&data[key];extend(data,key)}}}function jqLiteHasClass(element,selector){return!!element.getAttribute&&(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+selector+" ")>-1}function jqLiteRemoveClass(element,cssClasses){cssClasses&&element.setAttribute&&forEach(cssClasses.split(" "),function(cssClass){element.setAttribute("class",trim((" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+trim(cssClass)+" "," ")))})}function jqLiteAddClass(element,cssClasses){if(cssClasses&&element.setAttribute){var existingClasses=(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");forEach(cssClasses.split(" "),function(cssClass){cssClass=trim(cssClass),-1===existingClasses.indexOf(" "+cssClass+" ")&&(existingClasses+=cssClass+" ")}),element.setAttribute("class",trim(existingClasses))}}function jqLiteAddNodes(root,elements){if(elements)if(elements.nodeType)root[root.length++]=elements;else{var length=elements.length;if("number"==typeof length&&elements.window!==elements){if(length)for(var i=0;i<length;i++)root[root.length++]=elements[i]}else root[root.length++]=elements}}function jqLiteController(element,name){return jqLiteInheritedData(element,"$"+(name||"ngController")+"Controller")}function jqLiteInheritedData(element,name,value){element.nodeType==NODE_TYPE_DOCUMENT&&(element=element.documentElement);for(var names=isArray(name)?name:[name];element;){for(var i=0,ii=names.length;i<ii;i++)if(isDefined(value=jqLite.data(element,names[i])))return value;element=element.parentNode||element.nodeType===NODE_TYPE_DOCUMENT_FRAGMENT&&element.host}}function jqLiteEmpty(element){for(jqLiteDealoc(element,!0);element.firstChild;)element.removeChild(element.firstChild)}function jqLiteRemove(element,keepData){keepData||jqLiteDealoc(element);var parent=element.parentNode;parent&&parent.removeChild(element)}var JQLitePrototype=JQLite.prototype={ready:function(fn){var fired=!1;function trigger(){fired||(fired=!0,fn())}"complete"===window.document.readyState?window.setTimeout(trigger):(this.on("DOMContentLoaded",trigger),JQLite(window).on("load",trigger))},toString:function(){var value=[];return forEach(this,function(e){value.push(""+e)}),"["+value.join(", ")+"]"},eq:function(index){return jqLite(index>=0?this[index]:this[this.length+index])},length:0,push:push,sort:[].sort,splice:[].splice},BOOLEAN_ATTR={};forEach("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(value){BOOLEAN_ATTR[lowercase(value)]=value});var BOOLEAN_ELEMENTS={};forEach("input,select,option,textarea,button,form,details".split(","),function(value){BOOLEAN_ELEMENTS[value]=!0});var ALIASED_ATTR={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};function getBooleanAttrName(element,name){var booleanAttr=BOOLEAN_ATTR[name.toLowerCase()];return booleanAttr&&BOOLEAN_ELEMENTS[nodeName_(element)]&&booleanAttr}function defaultHandlerWrapper(element,event,handler){handler.call(element,event)}function specialMouseHandlerWrapper(target,event,handler){var related=event.relatedTarget;related&&(related===target||jqLiteContains.call(target,related))||handler.call(target,event)}function $$jqLiteProvider(){this.$get=function(){return extend(JQLite,{hasClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteHasClass(node,classes)},addClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteAddClass(node,classes)},removeClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteRemoveClass(node,classes)}})}}function hashKey(obj,nextUidFn){var key=obj&&obj.$$hashKey;if(key)return"function"==typeof key&&(key=obj.$$hashKey()),key;var objType=typeof obj;return key="function"==objType||"object"==objType&&null!==obj?obj.$$hashKey=objType+":"+(nextUidFn||nextUid)():objType+":"+obj}function HashMap(array,isolatedUid){if(isolatedUid){var uid=0;this.nextUid=function(){return++uid}}forEach(array,this.put,this)}forEach({data:jqLiteData,removeData:jqLiteRemoveData,hasData:function(node){for(var key in jqCache[node.ng339])return!0;return!1},cleanData:function(nodes){for(var i=0,ii=nodes.length;i<ii;i++)jqLiteRemoveData(nodes[i])}},function(fn,name){JQLite[name]=fn}
1),forEach({data:jqLiteData,inheritedData:jqLiteInheritedData,scope:function(element){return jqLite.data(element,"$scope")||jqLiteInheritedData(element.parentNode||element,["$isolateScope","$scope"])},isolateScope:function(element){return jqLite.data(element,"$isolateScope")||jqLite.data(element,"$isolateScopeNoTemplate")},controller:jqLiteController,injector:function(element){return jqLiteInheritedData(element,"$injector")},removeAttr:function(element,name){element.removeAttribute(name)},hasClass:jqLiteHasClass,css:function(element,name,value){if(name=camelCase(name),!isDefined(value))return element.style[name];element.style[name]=value},attr:function(element,name,value){var nodeType=element.nodeType;if(nodeType!==NODE_TYPE_TEXT&&2!==nodeType&&nodeType!==NODE_TYPE_COMMENT){var lowercasedName=lowercase(name);if(BOOLEAN_ATTR[lowercasedName]){if(!isDefined(value))return element[name]||(element.attributes.getNamedItem(name)||noop).specified?lowercasedName:void 0;value?(element[name]=!0,element.setAttribute(name,lowercasedName)):(element[name]=!1,element.removeAttribute(lowercasedName))}else if(isDefined(value))element.setAttribute(name,value);else if(element.getAttribute){var ret=element.getAttribute(name,2);return null===ret?void 0:ret}}},prop:function(element,name,value){if(!isDefined(value))return element[name];element[name]=value},text:function(){return getText.$dv="",getText;function getText(element,value){if(isUndefined(value)){var nodeType=element.nodeType;return nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_TEXT?element.textContent:""}element.textContent=value}}(),val:function(element,value){if(isUndefined(value)){if(element.multiple&&"select"===nodeName_(element)){var result=[];return forEach(element.options,function(option){option.selected&&result.push(option.value||option.text)}),0===result.length?null:result}return element.value}element.value=value},html:function(element,value){if(isUndefined(value))return element.innerHTML;jqLiteDealoc(element,!0),element.innerHTML=value},empty:jqLiteEmpty},function(fn,name){JQLite.prototype[name]=function(arg1,arg2){var i,key,nodeCount=this.length;if(fn!==jqLiteEmpty&&isUndefined(2==fn.length&&fn!==jqLiteHasClass&&fn!==jqLiteController?arg1:arg2)){if(isObject(arg1)){for(i=0;i<nodeCount;i++)if(fn===jqLiteData)fn(this[i],arg1);else for(key in arg1)fn(this[i],key,arg1[key]);return this}for(var value=fn.$dv,jj=isUndefined(value)?Math.min(nodeCount,1):nodeCount,j=0;j<jj;j++){var nodeValue=fn(this[j],arg1,arg2);value=value?value+nodeValue:nodeValue}return value}for(i=0;i<nodeCount;i++)fn(this[i],arg1,arg2);return this}}),forEach({removeData:jqLiteRemoveData,on:function(element,type,fn,unsupported){if(isDefined(u
1nsupported))throw jqLiteMinErr("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(jqLiteAcceptsData(element)){var expandoStore=jqLiteExpandoStore(element,!0),events=expandoStore.events,handle=expandoStore.handle;handle||(handle=expandoStore.handle=function(element,events){var eventHandler=function(event,type){event.isDefaultPrevented=function(){return event.defaultPrevented};var eventFns=events[type||event.type],eventFnsLength=eventFns?eventFns.length:0;if(eventFnsLength){if(isUndefined(event.immediatePropagationStopped)){var originalStopImmediatePropagation=event.stopImmediatePropagation;event.stopImmediatePropagation=function(){event.immediatePropagationStopped=!0,event.stopPropagation&&event.stopPropagation(),originalStopImmediatePropagation&&originalStopImmediatePropagation.call(event)}}event.isImmediatePropagationStopped=function(){return!0===event.immediatePropagationStopped};var handlerWrapper=eventFns.specialHandlerWrapper||defaultHandlerWrapper;eventFnsLength>1&&(eventFns=shallowCopy(eventFns));for(var i=0;i<eventFnsLength;i++)event.isImmediatePropagationStopped()||handlerWrapper(element,event,eventFns[i])}};return eventHandler.elem=element,eventHandler}(element,events));for(var types=type.indexOf(" ")>=0?type.split(" "):[type],i=types.length,addHandler=function(type,specialHandlerWrapper,noEventListener){var eventFns=events[type];eventFns||((eventFns=events[type]=[]).specialHandlerWrapper=specialHandlerWrapper,"$destroy"===type||noEventListener||addEventListenerFn(element,type,handle)),eventFns.push(fn)};i--;)type=types[i],MOUSE_EVENT_MAP[type]?(addHandler(MOUSE_EVENT_MAP[type],specialMouseHandlerWrapper),addHandler(type,void 0,!0)):addHandler(type)}},off:jqLiteOff,one:function(element,type,fn){(element=jqLite(element)).on(type,function onFn(){element.off(type,fn),element.off(type,onFn)}),element.on(type,fn)},replaceWith:function(element,replaceNode){var index,parent=element.parentNode;jqLiteDealoc(element),forEach(new JQLite(replaceNode),function(node){index?parent.insertBefore(node,index.nextSibling):parent.replaceChild(node,element),index=node})},children:function(element){var children=[];return forEach(element.childNodes,function(element){element.nodeType===NODE_TYPE_ELEMENT&&children.push(element)}),children},contents:function(element){return element.contentDocument||element.childNodes||[]},append:function(element,node){var nodeType=element.nodeType;if(nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_DOCUMENT_FRAGMENT)for(var i=0,ii=(node=new JQLite(node)).length;i<ii;i++){var child=node[i];element.appendChild(child)}},prepend:function(element,node){if(element.nodeType===NODE_TYPE_ELEMENT){var index=element.firstChild;forEach(new JQLite(node),function(child){element.insertBefore(child,index)})}},wrap:function(element,wrapNode){jqLiteWrapNode(element,jqLite(wrapNode).eq(0).clone()[0])},remove:jqLiteRemove,detach:function(element){jqLiteRemove(element,!0)},after:function(element,newElement){for(var index=element,parent=element.parentNode,i=0,ii=(newElement=new JQLite(newElement)).length;i<ii;i++){var node=newElement[i];parent.insertBefore(node,index.nextSibling),index=node}},addClass:jqLiteAddClass,removeClass:jqLiteRemoveClass,toggleClass:function(element,selector,condition){selector&&forEach(selector.split(" "),function(className){var classCondition=condition;isUndefined(classCondition)&&(classCondition=!jqLiteHasClass(element,className)),(classCondition?jqLiteAddClass:jqLiteRemoveClass)(element,className)})},parent:function(element){var parent=element.parentNode;return parent&&parent.nodeType!==NODE_TYPE_DOCUMENT_FRAGMENT?parent:null},next:function(element){return element.nextElementSibling},find:function(element,selector){return element.getElementsByTagName?element.getElementsByTagName(selector):[]},clone:jqLiteClone,triggerHandler:function(element,event,extraParameters){var dummyEvent,eventFnsCopy,handlerArgs,eventName=event.type||event,expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,eventFns=events&&events[eventName];eventFns&&(dummyEvent={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:noop,type:eventName,target:element},event.type&&(dummyEvent=extend(dummyEvent,event)),eventFnsCopy=shallowCopy(eventFns),handlerArgs=extraParameters?[dummyEvent].concat(extraParameters):[dummyEvent],forEach(eventFnsCopy,function(fn){dummyEvent.isImmediatePropagationStopped()||fn.apply(element,handlerArgs)}))}},function(fn,name){JQLite.prototype[name]=function(arg1,arg2,arg3){for(var value,i=0,ii=this.length;i<ii;i++)isUndefined(value)?isDefined(value=fn(this[i],arg1,arg2,arg3))&&(value=jqLite(value)):jqLiteAddNodes(value,fn(this[i],arg1,arg2,arg3));return isDefined(value)?value:this},JQLite.prototype.bind=JQLite.prototype.on,JQLite.prototype.unbind=JQLite.prototype.off}),HashMap.prototype={put:function(key,value){this[hashKey(key,this.nextUid)]=value},get:function(key){return this[hashKey(key,this.nextUid)]},remove:function(key){var value=this[key=hashKey(key,this.nextUid)];return delete this[key],value}};var $$HashMapProvider=[function(){this.$get=[function(){return HashMap}]}],ARROW_ARG=/^([^\(]+?)=>/,FN_ARGS=/^[^\(]*\(\s*([^\)]*)\)/m,FN_ARG_SPLIT=/,/,FN_ARG=/^\s*(_?)(\S+?)\1\s*$/,STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,$injectorMinErr=minErr("$injector");function stringifyFn(fn){return Function.prototype.toString.call(fn)+" "}function extractArgs(fn){var fnText=stringifyFn(fn).replace(STRIP_COMMENTS,"");return fnText.match(ARROW_ARG)||fnText.match(FN_ARGS)}function createInjector(modulesToLoad,strictDi){strictDi=!0===strictDi;var INSTANTIATING={},providerSuffix="Provider",path=[],loadedModules=new HashMap([],!0),providerCache={$provide:{provider:supportObject(provider),factory:supportObject(factory),service:supportObject(function(name,constructor){return factory(name,["$injector",function($injector){return $injector.instantiate(constructor)}])}),value:supportObject(function(name,val){return factory(name,valueFn(val),!1)}),constant:supportObject(function(name,value){assertNotHasOwnProperty(name,"constant"),providerCache[name]=value,instanceCache[name]=value}),decorator:function(serviceName,decorFn){var origProvider=providerInjector.get(serviceName+providerSuffix),orig$get=origProvider.$get;origProvider.$get=function(){var origInstance=instanceInjector.invoke(orig$get,origProvider);return instanceInjector.invoke(decorFn,null,{$delegate:origInstance})}}}},providerInjector=providerCache.$injector=createInternalInjector(prov
1iderCache,function(serviceName,caller){throw angular.isString(caller)&&path.push(caller),$injectorMinErr("unpr","Unknown provider: {0}",path.join(" <- "))}),instanceCache={},protoInstanceInjector=createInternalInjector(instanceCache,function(serviceName,caller){var provider=providerInjector.get(serviceName+providerSuffix,caller);return instanceInjector.invoke(provider.$get,provider,void 0,serviceName)}),instanceInjector=protoInstanceInjector;providerCache["$injector"+providerSuffix]={$get:valueFn(protoInstanceInjector)};var runBlocks=function loadModules(modulesToLoad){assertArg(isUndefined(modulesToLoad)||isArray(modulesToLoad),"modulesToLoad","not an array");var moduleFn,runBlocks=[];forEach(modulesToLoad,function(module){if(!loadedModules.get(module)){loadedModules.put(module,!0);try{isString(module)?(moduleFn=angularModule(module),runBlocks=runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks),runInvokeQueue(moduleFn._invokeQueue),runInvokeQueue(moduleFn._configBlocks)):isFunction(module)?runBlocks.push(providerInjector.invoke(module)):isArray(module)?runBlocks.push(providerInjector.invoke(module)):assertArgFn(module,"module")}catch(e){throw isArray(module)&&(module=module[module.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),$injectorMinErr("modulerr","Failed to instantiate module {0} due to:\n{1}",module,e.stack||e.message||e)}}function runInvokeQueue(queue){var i,ii;for(i=0,ii=queue.length;i<ii;i++){var invokeArgs=queue[i],provider=providerInjector.get(invokeArgs[0]);provider[invokeArgs[1]].apply(provider,invokeArgs[2])}}});return runBlocks}(modulesToLoad);return(instanceInjector=protoInstanceInjector.get("$injector")).strictDi=strictDi,forEach(runBlocks,function(fn){fn&&instanceInjector.invoke(fn)}),instanceInjector;function supportObject(delegate){return function(key,value){if(!isObject(key))return delegate(key,value);forEach(key,reverseParams(delegate))}}function provider(name,provider_){if(assertNotHasOwnProperty(name,"service"),(isFunction(provider_)||isArray(provider_))&&(provider_=providerInjector.instantiate(provider_)),!provider_.$get)throw $injectorMinErr("pget","Provider '{0}' must define $get factory method.",name);return providerCache[name+providerSuffix]=provider_}function factory(name,factoryFn,enforce){return provider(name,{$get:!1!==enforce?function(name,factory){return function(){var result=instanceInjector.invoke(factory,this);if(isUndefined(result))throw $injectorMinErr("undef","Provider '{0}' must return a value from $get factory method.",name);return result}}(name,factoryFn):factoryFn})}function createInternalInjector(cache,factory){function getService(serviceName,caller){if(cache.hasOwnProperty(serviceName)){if(cache[serviceName]===INSTANTIATING)throw $injectorMinErr("cdep","Circular dependency found: {0}",serviceName+" <- "+path.join(" <- "));return cache[serviceName]}try{return path.unshift(serviceName),cache[serviceName]=INSTANTIATING,cache[serviceName]=factory(serviceName,caller)}catch(err){throw cache[serviceName]===INSTANTIATING&&delete cache[serviceName],err}finally{path.shift()}}function injectionArgs(fn,locals,serviceName){for(var args=[],$inject=createInjector.$$annotate(fn,strictDi,serviceName),i=0,length=$inject.length;i<length;i++){var key=$inject[i];if("string"!=typeof key)throw $injectorMinErr("itkn","Incorrect injection token! Expected service name as string, got {0}",key);args.push(locals&&locals.hasOwnProperty(key)?locals[key]:getService(key,serviceName))}return args}return{invoke:function(fn,self,locals,serviceName){"string"==typeof locals&&(serviceName=locals,locals=null);var func,args=injectionArgs(fn,locals,serviceName);return isArray(fn)&&(fn=fn[fn.length-1]),func=fn,msie<=11||"function"!=typeof func||!/^(?:class\b|constructor\()/.test(stringifyFn(func))?fn.apply(self,args):(args.unshift(null),new(Function.prototype.bind.apply(fn,args)))},instantiate:function(Type,locals,serviceName){var ctor=isArray(Type)?Type[Type.length-1]:Type,args=injectionArgs(Type,locals,serviceName);return args.unshift(null),new(Function.prototype.bind.apply(ctor,args))},get:getService,annotate:createInjector.$$annotate,has:function(name){return providerCache.hasOwnProperty(name+providerSuffix)||cache.hasOwnProperty(name)}}}}function $AnchorScrollProvider(){var autoScrollingEnabled=!0;this.disableAutoScrolling=function(){autoScrollingEnabled=!1},this.$get=["$window","$location","$rootScope",function($window,$location,$rootScope){var document=$window.document;function scrollTo(elem){if(elem){elem.scrollIntoView();var offset=function(){var offset=scroll.yOffset;if(isFunction(offset))offset=offset();else if(isElement(offset)){var elem=offset[0];offset="fixed"!==$window.getComputedStyle(elem).position?0:elem.getBoundingClientRect().bottom}else isNumber(offset)||(offset=0);return offset}();if(offset){var elemTop=elem.getBoundingClientRect().top;$window.scrollBy(0,elemTop-offset)}}else $window.scrollTo(0,0)}function scroll(hash){var elm,list,result;(hash=isString(hash)?hash:$location.hash())?(elm=document.getElementById(hash))?scrollTo(elm):(list=document.getElementsByName(hash),result=null,Array.prototype.some.call(list,function(element){if("a"===nodeName_(element))return result=element,!0}),(elm=result)?scrollTo(elm):"top"===hash&&scrollTo(null)):scrollTo(null)}return autoScrollingEnabled&&$rootScope.$watch(function(){return $location.hash()},function(newVal,oldVal){var action,win;newVal===oldVal&&""===newVal||(action=function(){$rootScope.$evalAsync(scroll)},"complete"===(win=win||window).document.readyState?win.setTimeout(action):jqLite(win).on("load",action))}),scroll}]}createInjector.$$annotate=function(fn,strictDi,name){var $inject,last;if("function"==typeof fn){if(!($inject=fn.$inject)){if($inject=[],fn.length){if(strictDi)throw isString(name)&&name||(name=fn.name||function(fn){var args=extractArgs(fn);return args?"function("+(args[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(fn)),$injectorMinErr("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",name);forEach(extractArgs(fn)[1].split(FN_ARG_SPLIT),function(arg){arg.replace(FN_ARG,function(all,underscore,name){$inject.push(name)})})}fn.$inject=$inject}}else isArray(fn)?(assertArgFn(fn[last=fn.length-1],"fn"),$inject=fn.slice(0,last)):assertArgFn(fn,"fn",!0);return $inject};var $animateMinErr=minErr("$animate"),ELEMENT_NODE=1;function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function prepareAnimateOptions(options){return isObject(options)?options:{}}
1var $$CoreAnimateJsProvider=function(){this.$get=noop},$$CoreAnimateQueueProvider=function(){var postDigestQueue=new HashMap,postDigestElements=[];this.$get=["$$AnimateRunner","$rootScope",function($$AnimateRunner,$rootScope){return{enabled:noop,on:noop,off:noop,pin:noop,push:function(element,event,options,domOperation){domOperation&&domOperation(),(options=options||{}).from&&element.css(options.from),options.to&&element.css(options.to),(options.addClass||options.removeClass)&&function(element,add,remove){var data=postDigestQueue.get(element)||{},classesAdded=updateData(data,add,!0),classesRemoved=updateData(data,remove,!1);(classesAdded||classesRemoved)&&(postDigestQueue.put(element,data),postDigestElements.push(element),1===postDigestElements.length&&$rootScope.$$postDigest(handleCSSClassChanges))}(element,options.addClass,options.removeClass);var runner=new $$AnimateRunner;return runner.complete(),runner}};function updateData(data,classes,value){var changed=!1;return classes&&forEach(classes=isString(classes)?classes.split(" "):isArray(classes)?classes:[],function(className){className&&(changed=!0,data[className]=value)}),changed}function handleCSSClassChanges(){forEach(postDigestElements,function(element){var data=postDigestQueue.get(element);if(data){var existing=function(classes){isString(classes)&&(classes=classes.split(" "));var obj=createMap();return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}(element.attr("class")),toAdd="",toRemove="";forEach(data,function(status,className){status!==!!existing[className]&&(status?toAdd+=(toAdd.length?" ":"")+className:toRemove+=(toRemove.length?" ":"")+className)}
1),forEach(element,function(elm){toAdd&&jqLiteAddClass(elm,toAdd),toRemove&&jqLiteRemoveClass(elm,toRemove)}),postDigestQueue.remove(element)}}),postDigestElements.length=0}}]},$AnimateProvider=["$provide",function($provide){var provider=this;this.$$registeredAnimations=Object.create(null),this.register=function(name,factory){if(name&&"."!==name.charAt(0))throw $animateMinErr("notcsel","Expecting class selector starting with '.' got '{0}'.",name);var key=name+"-animation";provider.$$registeredAnimations[name.substr(1)]=key,$provide.factory(key,factory)},this.classNameFilter=function(expression){if(1===arguments.length&&(this.$$classNameFilter=expression instanceof RegExp?expression:null,this.$$classNameFilter&&new RegExp("(\\s+|\\/)ng-animate(\\s+|\\/)").test(this.$$classNameFilter.toString())))throw $animateMinErr("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',"ng-animate");return this.$$classNameFilter},this.$get=["$$animateQueue",function($$animateQueue){function domInsert(element,parentElement,afterElement){if(afterElement){var afterNode=function(element){for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}(afterElement);!afterNode||afterNode.parentNode||afterNode.previousElementSibling||(afterElement=null)}afterElement?afterElement.after(element):parentElement.prepend(element)}return{on:$$animateQueue.on,off:$$animateQueue.off,pin:$$animateQueue.pin,enabled:$$animateQueue.enabled,cancel:function(runner){runner.end&&runner.end()},enter:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"enter",prepareAnimateOptions(options))},move:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"move",prepareAnimateOptions(options))},leave:function(element,options){return $$animateQueue.push(element,"leave",prepareAnimateOptions(options),function(){element.remove()})},addClass:function(element,className,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addclass,className),$$animateQueue.push(element,"addClass",options)},removeClass:function(element,className,options){return(options=prepareAnimateOptions(options)).removeClass=mergeClasses(options.removeClass,className),$$animateQueue.push(element,"removeClass",options)},setClass:function(element,add,remove,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addClass,add),options.removeClass=mergeClasses(options.removeClass,remove),$$animateQueue.push(element,"setClass",options)},animate:function(element,from,to,className,options){return(options=prepareAnimateOptions(options)).from=options.from?extend(options.from,from):from,options.to=options.to?extend(options.to,to):to,className=className||"ng-inline-animate",options.tempClasses=mergeClasses(options.tempClasses,className),$$animateQueue.push(element,"animate",options)}}}]}],$$AnimateAsyncRunFactoryProvider=function(){this.$get=["$$rAF",function($$rAF){var waitQueue=[];function waitForTick(fn){waitQueue.push(fn),waitQueue.length>1||$$rAF(function(){for(var i=0;i<waitQueue.length;i++)waitQueue[i]();waitQueue=[]})}return function(){var passed=!1;return waitForTick(function(){passed=!0}),function(callback){passed?callback():waitForTick(callback)}}}]},$$AnimateRunnerFactoryProvider=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$document","$timeout",function($q,$sniffer,$$animateAsyncRun,$document,$timeout){function AnimateRunner(host){this.setHost(host);var rafTick=$$animateAsyncRun();this._doneCallbacks=[],this._tick=function(fn){var doc=$document[0];doc&&doc.hidden?function(fn){$timeout(fn,0,!1)}(fn):rafTick(fn)},this._state=0}return AnimateRunner.chain=function(chain,callback){var index=0;!function next(){if(index===chain.length)return void callback(!0);chain[index](function(response){!1!==response?(index++,next()):callback(!1)})}()},AnimateRunner.all=function(runners,callback){var count=0,status=!0;function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){2===this._state?fn():this._doneCallbacks.push(fn)},progress:noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){!1===status?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},catch:function(handler){return this.getPromise().catch(handler)},finally:function(handler){return this.getPromise().finally(handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;0===self._state&&(self._state=1,self._tick(function(){self._resolve(response)}))},_resolve:function(response){2!==this._state&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=2)}},AnimateRunner}]},$CoreAnimateCssProvider=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function($$rAF,$q,$$AnimateRunner){return function(element,initialOptions){var options=initialOptions||{};options.$$prepared||(options=copy(options)),options.cleanupStyles&&(options.from=options.to=null),options.from&&(element.css(options.from),options.from=null);var closed,runner=new $$AnimateRunner;return{start:run,end:run};function run(){return $$rAF(function(){!function(){options.addClass&&(element.addClass(options.addClass),options.addClass=null);
1options.removeClass&&(element.removeClass(options.removeClass),options.removeClass=null);options.to&&(element.css(options.to),options.to=null)}(),closed||runner.complete(),closed=!0}),runner}}}]};function $BrowserProvider(){this.$get=["$window","$log","$sniffer","$document",function($window,$log,$sniffer,$document){return new function(window,document,$log,$sniffer){var self=this,location=window.location,history=window.history,setTimeout=window.setTimeout,clearTimeout=window.clearTimeout,pendingDeferIds={};self.isMock=!1;var outstandingRequestCount=0,outstandingRequestCallbacks=[];function completeOutstandingRequest(fn){try{fn.apply(null,sliceArgs(arguments,1))}finally{if(0==--outstandingRequestCount)for(;outstandingRequestCallbacks.length;)try{outstandingRequestCallbacks.pop()()}catch(e){$log.error(e)}}}self.$$completeOutstandingRequest=completeOutstandingRequest,self.$$incOutstandingRequestCount=function(){outstandingRequestCount++},self.notifyWhenNoOutstandingRequests=function(callback){0===outstandingRequestCount?callback():outstandingRequestCallbacks.push(callback)};var cachedState,lastHistoryState,lastBrowserUrl=location.href,baseElement=document.find("base"),pendingLocation=null,getCurrentState=$sniffer.history?function(){try{return history.state}catch(e){}}:noop;cacheState(),lastHistoryState=cachedState,self.url=function(url,replace,state){if(isUndefined(state)&&(state=null),location!==window.location&&(location=window.location),history!==window.history&&(history=window.history),url){var sameState=lastHistoryState===state;if(lastBrowserUrl===url&&(!$sniffer.history||sameState))return self;var sameBase=lastBrowserUrl&&stripHash(lastBrowserUrl)===stripHash(url);return lastBrowserUrl=url,lastHistoryState=state,!$sniffer.history||sameBase&&sameState?(sameBase||(pendingLocation=url),replace?location.replace(url):sameBase?location.hash=function(url){var index=url.indexOf("#");return-1===index?"":url.substr(index)}(url):location.href=url,location.href!==url&&(pendingLocation=url)):(history[replace?"replaceState":"pushState"](state,"",url),cacheState(),lastHistoryState=cachedState),pendingLocation&&(pendingLocation=url),self}return pendingLocation||location.href.replace(/%27/g,"'")},self.state=function(){return cachedState};var urlChangeListeners=[],urlChangeInit=!1;function cacheStateAndFireUrlChange(){pendingLocation=null,cacheState(),fireUrlChange()}var lastCachedState=null;function cacheState(){equals(cachedState=isUndefined(cachedState=getCurrentState())?null:cachedState,lastCachedState)&&(cachedState=lastCachedState),lastCachedState=cachedState}function fireUrlChange(){lastBrowserUrl===self.url()&&lastHistoryState===cachedState||(lastBrowserUrl=self.url(),lastHistoryState=cachedState,forEach(urlChangeListeners,function(listener){listener(self.url(),cachedState)}))}self.onUrlChange=function(callback){return urlChangeInit||($sniffer.history&&jqLite(window).on("popstate",cacheStateAndFireUrlChange),jqLite(window).on("hashchange",cacheStateAndFireUrlChange),urlChangeInit=!0),urlChangeListeners.push(callback),callback},self.$$applicationDestroyed=function(){jqLite(window).off("hashchange popstate",cacheStateAndFireUrlChange)},self.$$checkUrlChange=fireUrlChange,self.baseHref=function(){var href=baseElement.attr("href");return href?href.replace(/^(https?\:)?\/\/[^\/]*/,""):""},self.defer=function(fn,delay){var timeoutId;return outstandingRequestCount++,timeoutId=setTimeout(function(){delete pendingDeferIds[timeoutId],completeOutstandingRequest(fn)},delay||0),pendingDeferIds[timeoutId]=!0,timeoutId},self.defer.cancel=function(deferId){return!!pendingDeferIds[deferId]&&(delete pendingDeferIds[deferId],clearTimeout(deferId),completeOutstandingRequest(noop),!0)}}($window,$document,$log,$sniffer)}]}function $CacheFactoryProvider(){this.$get=function(){var caches={};function cacheFactory(cacheId,options){if(cacheId in caches)throw minErr("$cacheFactory")("iid","CacheId '{0}' is already taken!",cacheId);var size=0,stats=extend({},options,{id:cacheId}),data=createMap(),capacity=options&&options.capacity||Number.MAX_VALUE,lruHash=createMap(),freshEnd=null,staleEnd=null;return caches[cacheId]={put:function(key,value){if(!isUndefined(value)){if(capacity<Number.MAX_VALUE)refresh(lruHash[key]||(lruHash[key]={key:key}));return key in data||size++,data[key]=value,size>capacity&&this.remove(staleEnd.key),value}},get:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;refresh(lruEntry)}return data[key]},remove:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;lruEntry==freshEnd&&(freshEnd=lruEntry.p),lruEntry==staleEnd&&(staleEnd=lruEntry.n),link(lruEntry.n,lruEntry.p),delete lruHash[key]}key in data&&(delete data[key],size--)},removeAll:function(){data=createMap(),size=0,lruHash=createMap(),freshEnd=staleEnd=null},destroy:function(){data=null,stats=null,lruHash=null,delete caches[cacheId]},info:function(){return extend({},stats,{size:size})}};function refresh(entry){entry!=freshEnd&&(staleEnd?staleEnd==entry&&(staleEnd=entry.n):staleEnd=entry,link(entry.n,entry.p),link(entry,freshEnd),(freshEnd=entry).n=null)}
1function link(nextEntry,prevEntry){nextEntry!=prevEntry&&(nextEntry&&(nextEntry.p=prevEntry),prevEntry&&(prevEntry.n=nextEntry))}}return cacheFactory.info=function(){var info={};return forEach(caches,function(cache,cacheId){info[cacheId]=cache.info()}),info},cacheFactory.get=function(cacheId){return caches[cacheId]},cacheFactory}}function $TemplateCacheProvider(){this.$get=["$cacheFactory",function($cacheFactory){return $cacheFactory("templates")}]}var $compileMinErr=minErr("$compile");var _UNINITIALIZED_VALUE=new function(){};function $CompileProvider($provide,$$sanitizeUriProvider){var hasDirectives={},Suffix="Directive",COMMENT_DIRECTIVE_REGEXP=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,CLASS_DIRECTIVE_REGEXP=/(([\w\-]+)(?:\:([^;]+))?;?)/,ALL_OR_NOTHING_ATTRS=function(str){var i,obj={},items=str.split(",");for(i=0;i<items.length;i++)obj[items[i]]=!0;return obj}("ngSrc,ngSrcset,src,srcset"),REQUIRE_PREFIX_REGEXP=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,EVENT_HANDLER_ATTR_REGEXP=/^(on[a-z]+|formaction)$/,bindingCache=createMap();function parseIsolateBindings(scope,directiveName,isController){var LOCAL_REGEXP=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,bindings=createMap();return forEach(scope,function(definition,scopeName){if(definition in bindingCache)bindings[scopeName]=bindingCache[definition];else{var match=definition.match(LOCAL_REGEXP);if(!match)throw $compileMinErr("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",directiveName,scopeName,definition,isController?"controller bindings definition":"isolate scope definition");bindings[scopeName]={mode:match[1][0],collection:"*"===match[2],optional:"?"===match[3],attrName:match[4]||scopeName},match[4]&&(bindingCache[definition]=bindings[scopeName])}}),bindings}function parseDirectiveBindings(directive,directiveName){var bindings={isolateScope:null,bindToController:null};if(isObject(directive.scope)&&(!0===directive.bindToController?(bindings.bindToController=parseIsolateBindings(directive.scope,directiveName,!0),bindings.isolateScope={}):bindings.isolateScope=parseIsolateBindings(directive.scope,directiveName,!1)),isObject(directive.bindToController)&&(bindings.bindToController=parseIsolateBindings(directive.bindToController,directiveName,!0)),isObject(bindings.bindToController)){var controller=directive.controller,controllerAs=directive.controllerAs;if(!controller)throw $compileMinErr("noctrl","Cannot bind to controller without directive '{0}'s controller.",directiveName);if(!identifierForController(controller,controllerAs))throw $compileMinErr("noident","Cannot bind to controller without identifier for directive '{0}'.",directiveName)}return bindings}this.directive=function registerDirective(name,directiveFactory){return assertNotHasOwnProperty(name,"directive"),isString(name)?(!function(name){var letter=name.charAt(0);if(!letter||letter!==lowercase(letter))throw $compileMinErr("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",name);if(name!==name.trim())throw $compileMinErr("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",name)}(name),assertArg(directiveFactory,"directiveFactory"),hasDirectives.hasOwnProperty(name)||(hasDirectives[name]=[],$provide.factory(name+Suffix,["$injector","$exceptionHandler",function($injector,$exceptionHandler){var directives=[];return forEach(hasDirectives[name],function(directiveFactory,index){try{var directive=$injector.invoke(directiveFactory);isFunction(directive)?directive={compile:valueFn(directive)}:!directive.compile&&directive.link&&(directive.compile=valueFn(directive.link)),directive.priority=directive.priority||0,directive.index=index,directive.name=directive.name||name,directive.require=function(directive){var require=directive.require||directive.controller&&directive.name;return!isArray(require)&&isObject(require)&&forEach(require,function(value,key){var match=value.match(REQUIRE_PREFIX_REGEXP);value.substring(match[0].length)||(require[key]=match[0]+key)}),require}(directive),directive.restrict=directive.restrict||"EA",directive.$$moduleName=directiveFactory.$$moduleName,directives.push(directive)}catch(e){$exceptionHandler(e)}}),directives}
1])),hasDirectives[name].push(directiveFactory)):forEach(name,reverseParams(registerDirective)),this},this.component=function(name,options){var controller=options.controller||function(){};function factory($injector){function makeInjectable(fn){return isFunction(fn)||isArray(fn)?function(tElement,tAttrs){return $injector.invoke(fn,this,{$element:tElement,$attrs:tAttrs})}:fn}var template=options.template||options.templateUrl?options.template:"",ddo={controller:controller,controllerAs:identifierForController(options.controller)||options.controllerAs||"$ctrl",template:makeInjectable(template),templateUrl:makeInjectable(options.templateUrl),transclude:options.transclude,scope:{},bindToController:options.bindings||{},restrict:"E",require:options.require};return forEach(options,function(val,key){"$"===key.charAt(0)&&(ddo[key]=val)}),ddo}return forEach(options,function(val,key){"$"===key.charAt(0)&&(factory[key]=val,isFunction(controller)&&(controller[key]=val))}),factory.$inject=["$injector"],this.directive(name,factory)},this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.imgSrcSanitizationWhitelist()};var debugInfoEnabled=!0;this.debugInfoEnabled=function(enabled){return isDefined(enabled)?(debugInfoEnabled=enabled,this):debugInfoEnabled};var TTL=10;this.onChangesTtl=function(value){return arguments.length?(TTL=value,this):TTL},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function($injector,$interpolate,$exceptionHandler,$templateRequest,$parse,$controller,$rootScope,$sce,$animate,$$sanitizeUri){var onChangesQueue,SIMPLE_ATTR_NAME=/^\w/,specialAttrHolder=window.document.createElement("div"),onChangesTtl=TTL;function flushOnChangesQueue(){try{if(!--onChangesTtl)throw onChangesQueue=void 0,$compileMinErr("infchng","{0} $onChanges() iterations reached. Aborting!\n",TTL);$rootScope.$apply(function(){for(var errors=[],i=0,ii=onChangesQueue.length;i<ii;++i)try{onChangesQueue[i]()}catch(e){errors.push(e)}if(onChangesQueue=void 0,errors.length)throw errors})}finally{onChangesTtl++}}function Attributes(element,attributesToCopy){if(attributesToCopy){var i,l,key,keys=Object.keys(attributesToCopy);for(i=0,l=keys.length;i<l;i++)this[key=keys[i]]=attributesToCopy[key]}else this.$attr={};this.$$element=element}function safeAddClass($element,className){try{$element.addClass(className)}catch(e){}}Attributes.prototype={$normalize:directiveNormalize,$addClass:function(classVal){classVal&&classVal.length>0&&$animate.addClass(this.$$element,classVal)},$removeClass:function(classVal){classVal&&classVal.length>0&&$animate.removeClass(this.$$element,classVal)},$updateClass:function(newClasses,oldClasses){var toAdd=tokenDifference(newClasses,oldClasses);toAdd&&toAdd.length&&$animate.addClass(this.$$element,toAdd);var toRemove=tokenDifference(oldClasses,newClasses);toRemove&&toRemove.length&&$animate.removeClass(this.$$element,toRemove)},$set:function(key,value,writeAttr,attrName){var nodeName,booleanKey=getBooleanAttrName(this.$$element[0],key),aliasedKey=ALIASED_ATTR[key],observer=key;if(booleanKey?(this.$$element.prop(key,value),attrName=booleanKey):aliasedKey&&(this[aliasedKey]=value,observer=aliasedKey),this[key]=value,attrName?this.$attr[key]=attrName:(attrName=this.$attr[key])||(this.$attr[key]=attrName=snake_case(key,"-")),"a"===(nodeName=nodeName_(this.$$element))&&("href"===key||"xlinkHref"===key)||"img"===nodeName&&"src"===key)this[key]=value=$$sanitizeUri(value,"src"===key);else if("img"===nodeName&&"srcset"===key&&isDefined(value)){for(var result="",trimmedSrcset=trim(value),pattern=/\s/.test(trimmedSrcset)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,rawUris=trimmedSrcset.split(pattern),nbrUrisWith2parts=Math.floor(rawUris.length/2),i=0;i<nbrUrisWith2parts;i++){var innerIdx=2*i;result+=$$sanitizeUri(trim(rawUris[innerIdx]),!0),result+=" "+trim(rawUris[innerIdx+1])}var lastTuple=trim(rawUris[2*i]).split(/\s/);result+=$$sanitizeUri(trim(lastTuple[0]),!0),2===lastTuple.length&&(result+=" "+trim(lastTuple[1])),this[key]=value=result}!1!==writeAttr&&(null===value||isUndefined(value)?this.$$element.removeAttr(attrName):SIMPLE_ATTR_NAME.test(attrName)?this.$$element.attr(attrName,value):function(element,attrName,value){specialAttrHolder.innerHTML="<span "+attrName+">";var attributes=specialAttrHolder.firstChild.attributes,attribute=attributes[0];attributes.removeNamedItem(attribute.name),attribute.value=value,element.attributes.setNamedItem(attribute)}(this.$$element[0],attrName,value));var $$observers=this.$$observers;
1$$observers&&forEach($$observers[observer],function(fn){try{fn(value)}catch(e){$exceptionHandler(e)}})},$observe:function(key,fn){var attrs=this,$$observers=attrs.$$observers||(attrs.$$observers=createMap()),listeners=$$observers[key]||($$observers[key]=[]);return listeners.push(fn),$rootScope.$evalAsync(function(){listeners.$$inter||!attrs.hasOwnProperty(key)||isUndefined(attrs[key])||fn(attrs[key])}),function(){arrayRemove(listeners,fn)}}};var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),denormalizeTemplate="{{"==startSymbol&&"}}"==endSymbol?identity:function(template){return template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol)},NG_ATTR_BINDING=/^ngAttr[A-Z]/,MULTI_ELEMENT_DIR_RE=/^(.+)Start$/;return compile.$$addBindingInfo=debugInfoEnabled?function($element,binding){var bindings=$element.data("$binding")||[];isArray(binding)?bindings=bindings.concat(binding):bindings.push(binding),$element.data("$binding",bindings)}:noop,compile.$$addBindingClass=debugInfoEnabled?function($element){safeAddClass($element,"ng-binding")}:noop,compile.$$addScopeInfo=debugInfoEnabled?function($element,scope,isolated,noTemplate){var dataName=isolated?noTemplate?"$isolateScopeNoTemplate":"$isolateScope":"$scope";$element.data(dataName,scope)}:noop,compile.$$addScopeClass=debugInfoEnabled?function($element,isolated){safeAddClass($element,isolated?"ng-isolate-scope":"ng-scope")}:noop,compile.$$createComment=function(directiveName,comment){var content="";return debugInfoEnabled&&(content=" "+(directiveName||"")+": ",comment&&(content+=comment+" ")),window.document.createComment(content)},compile;function compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){$compileNodes instanceof jqLite||($compileNodes=jqLite($compileNodes));for(var NOT_EMPTY=/\S+/,i=0,len=$compileNodes.length;i<len;i++){var domNode=$compileNodes[i];domNode.nodeType===NODE_TYPE_TEXT&&domNode.nodeValue.match(NOT_EMPTY)&&jqLiteWrapNode(domNode,$compileNodes[i]=window.document.createElement("span"))}var compositeLinkFn=compileNodes($compileNodes,transcludeFn,$compileNodes,maxPriority,ignoreDirective,previousCompileContext);compile.$$addScopeClass($compileNodes);var namespace=null;return function(scope,cloneConnectFn,options){assertArg(scope,"scope"),previousCompileContext&&previousCompileContext.needsNewScope&&(scope=scope.$parent.$new());var parentElement,node,$linkNode,parentBoundTranscludeFn=(options=options||{}).parentBoundTranscludeFn,transcludeControllers=options.transcludeControllers,futureParentElement=options.futureParentElement;if(parentBoundTranscludeFn&&parentBoundTranscludeFn.$$boundTransclude&&(parentBoundTranscludeFn=parentBoundTranscludeFn.$$boundTransclude),namespace||(node=(parentElement=futureParentElement)&&parentElement[0],namespace=node&&"foreignobject"!==nodeName_(node)&&toString.call(node).match(/SVG/)?"svg":"html"),$linkNode="html"!==namespace?jqLite(wrapTemplate(namespace,jqLite("<div>").append($compileNodes).html())):cloneConnectFn?JQLitePrototype.clone.call($compileNodes):$compileNodes,transcludeControllers)for(var controllerName in transcludeControllers)$linkNode.data("$"+controllerName+"Controller",transcludeControllers[controllerName].instance);return compile.$$addScopeInfo($linkNode,scope),cloneConnectFn&&cloneConnectFn($linkNode,scope),compositeLinkFn&&compositeLinkFn(scope,$linkNode,$linkNode,parentBoundTranscludeFn),$linkNode}}function compileNodes(nodeList,transcludeFn,$rootElement,maxPriority,ignoreDirective,previousCompileContext){for(var attrs,directives,nodeLinkFn,childNodes,childLinkFn,linkFnFound,nodeLinkFnFound,linkFns=[],i=0;i<nodeList.length;i++)attrs=new Attributes,(nodeLinkFn=(directives=collectDirectives(nodeList[i],[],attrs,0===i?maxPriority:void 0,ignoreDirective)).length?applyDirectivesToNode(directives,nodeList[i],attrs,transcludeFn,$rootElement,null,[],[],previousCompileContext):null)&&nodeLinkFn.scope&&compile.$$addScopeClass(attrs.$$element),childLinkFn=nodeLinkFn&&nodeLinkFn.terminal||!(childNodes=nodeList[i].childNodes)||!childNodes.length?null:compileNodes(childNodes,nodeLinkFn?(nodeLinkFn.transcludeOnThisElement||!nodeLinkFn.templateOnThisElement)&&nodeLinkFn.transclude:transcludeFn),(nodeLinkFn||childLinkFn)&&(linkFns.push(i,nodeLinkFn,childLinkFn),linkFnFound=!0,nodeLinkFnFound=nodeLinkFnFound||nodeLinkFn),previousCompileContext=null;
1return linkFnFound?function(scope,nodeList,$rootElement,parentBoundTranscludeFn){var nodeLinkFn,childLinkFn,node,childScope,i,ii,idx,childBoundTranscludeFn,stableNodeList;if(nodeLinkFnFound){var nodeListLength=nodeList.length;for(stableNodeList=new Array(nodeListLength),i=0;i<linkFns.length;i+=3)idx=linkFns[i],stableNodeList[idx]=nodeList[idx]}else stableNodeList=nodeList;for(i=0,ii=linkFns.length;i<ii;)node=stableNodeList[linkFns[i++]],nodeLinkFn=linkFns[i++],childLinkFn=linkFns[i++],nodeLinkFn?(nodeLinkFn.scope?(childScope=scope.$new(),compile.$$addScopeInfo(jqLite(node),childScope)):childScope=scope,childBoundTranscludeFn=nodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,nodeLinkFn.transclude,parentBoundTranscludeFn):!nodeLinkFn.templateOnThisElement&&parentBoundTranscludeFn?parentBoundTranscludeFn:!parentBoundTranscludeFn&&transcludeFn?createBoundTranscludeFn(scope,transcludeFn):null,nodeLinkFn(childLinkFn,childScope,node,$rootElement,childBoundTranscludeFn)):childLinkFn&&childLinkFn(scope,node.childNodes,void 0,parentBoundTranscludeFn)}:null}function createBoundTranscludeFn(scope,transcludeFn,previousBoundTranscludeFn){function boundTranscludeFn(transcludedScope,cloneFn,controllers,futureParentElement,containingScope){return transcludedScope||((transcludedScope=scope.$new(!1,containingScope)).$$transcluded=!0),transcludeFn(transcludedScope,cloneFn,{parentBoundTranscludeFn:previousBoundTranscludeFn,transcludeControllers:controllers,futureParentElement:futureParentElement})}var boundSlots=boundTranscludeFn.$$slots=createMap();for(var slotName in transcludeFn.$$slots)transcludeFn.$$slots[slotName]?boundSlots[slotName]=createBoundTranscludeFn(scope,transcludeFn.$$slots[slotName],previousBoundTranscludeFn):boundSlots[slotName]=null;return boundTranscludeFn}function collectDirectives(node,directives,attrs,maxPriority,ignoreDirective){var match,className,nodeType=node.nodeType,attrsMap=attrs.$attr;switch(nodeType){case NODE_TYPE_ELEMENT:addDirective(directives,directiveNormalize(nodeName_(node)),"E",maxPriority,ignoreDirective);for(var attr,name,nName,ngAttrName,value,isNgAttr,nAttrs=node.attributes,j=0,jj=nAttrs&&nAttrs.length;j<jj;j++){var attrStartName=!1,attrEndName=!1;name=(attr=nAttrs[j]).name,value=trim(attr.value),ngAttrName=directiveNormalize(name),(isNgAttr=NG_ATTR_BINDING.test(ngAttrName))&&(name=name.replace(PREFIX_REGEXP,"").substr(8).replace(/_(.)/g,function(match,letter){return letter.toUpperCase()}));var multiElementMatch=ngAttrName.match(MULTI_ELEMENT_DIR_RE);multiElementMatch&&directiveIsMultiElement(multiElementMatch[1])&&(attrStartName=name,attrEndName=name.substr(0,name.length-5)+"end",name=name.substr(0,name.length-6)),attrsMap[nName=directiveNormalize(name.toLowerCase())]=name,!isNgAttr&&attrs.hasOwnProperty(nName)||(attrs[nName]=value,getBooleanAttrName(node,nName)&&(attrs[nName]=!0)),addAttrInterpolateDirective(node,directives,value,nName,isNgAttr),addDirective(directives,nName,"A",maxPriority,ignoreDirective,attrStartName,attrEndName)}if(isObject(className=node.className)&&(className=className.animVal),isString(className)&&""!==className)for(;match=CLASS_DIRECTIVE_REGEXP.exec(className);)addDirective(directives,nName=directiveNormalize(match[2]),"C",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[3])),className=className.substr(match.index+match[0].length);break;case NODE_TYPE_TEXT:if(11===msie)for(;node.parentNode&&node.nextSibling&&node.nextSibling.nodeType===NODE_TYPE_TEXT;)node.nodeValue=node.nodeValue+node.nextSibling.nodeValue,node.parentNode.removeChild(node.nextSibling);!function(directives,text){var interpolateFn=$interpolate(text,!0);interpolateFn&&directives.push({priority:0,compile:function(templateNode){var templateNodeParent=templateNode.parent(),hasCompileParent=!!templateNodeParent.length;return hasCompileParent&&compile.$$addBindingClass(templateNodeParent),function(scope,node){var parent=node.parent();hasCompileParent||compile.$$addBindingClass(parent),compile.$$addBindingInfo(parent,interpolateFn.expressions),scope.$watch(interpolateFn,function(value){node[0].nodeValue=value})}}})}(directives,node.nodeValue);break;case NODE_TYPE_COMMENT:!function(node,directives,attrs,maxPriority,ignoreDirective){try{var match=COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);if(match){var nName=directiveNormalize(match[1]);addDirective(directives,nName,"M",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[2]))}}catch(e){}}(node,directives,attrs,maxPriority,ignoreDirective)}return directives.sort(byPriority),directives}function groupScan(node,attrStart,attrEnd){var nodes=[],depth=0;
1if(attrStart&&node.hasAttribute&&node.hasAttribute(attrStart))do{if(!node)throw $compileMinErr("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",attrStart,attrEnd);node.nodeType==NODE_TYPE_ELEMENT&&(node.hasAttribute(attrStart)&&depth++,node.hasAttribute(attrEnd)&&depth--),nodes.push(node),node=node.nextSibling}while(depth>0);else nodes.push(node);return jqLite(nodes)}function groupElementsLinkFnWrapper(linkFn,attrStart,attrEnd){return function(scope,element,attrs,controllers,transcludeFn){return element=groupScan(element[0],attrStart,attrEnd),linkFn(scope,element,attrs,controllers,transcludeFn)}}function compilationGenerator(eager,$compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){var compiled;return eager?compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext):function(){return compiled||(compiled=compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext),$compileNodes=transcludeFn=previousCompileContext=null),compiled.apply(this,arguments)}}function applyDirectivesToNode(directives,compileNode,templateAttrs,transcludeFn,jqCollection,originalReplaceDirective,preLinkFns,postLinkFns,previousCompileContext){previousCompileContext=previousCompileContext||{};for(var directive,directiveName,$template,linkFn,directiveValue,terminalPriority=-Number.MAX_VALUE,newScopeDirective=previousCompileContext.newScopeDirective,controllerDirectives=previousCompileContext.controllerDirectives,newIsolateScopeDirective=previousCompileContext.newIsolateScopeDirective,templateDirective=previousCompileContext.templateDirective,nonTlbTranscludeDirective=previousCompileContext.nonTlbTranscludeDirective,hasTranscludeDirective=!1,hasTemplate=!1,hasElementTranscludeDirective=previousCompileContext.hasElementTranscludeDirective,$compileNode=templateAttrs.$$element=jqLite(compileNode),replaceDirective=originalReplaceDirective,childTranscludeFn=transcludeFn,didScanForMultipleTransclusion=!1,mightHaveMultipleTransclusionError=!1,i=0,ii=directives.length;i<ii;i++){var attrStart=(directive=directives[i]).$$start,attrEnd=directive.$$end;if(attrStart&&($compileNode=groupScan(compileNode,attrStart,attrEnd)),$template=void 0,terminalPriority>directive.priority)break;if((directiveValue=directive.scope)&&(directive.templateUrl||(isObject(directiveValue)?(assertNoDuplicate("new/isolated scope",newIsolateScopeDirective||newScopeDirective,directive,$compileNode),newIsolateScopeDirective=directive):assertNoDuplicate("new/isolated scope",newIsolateScopeDirective,directive,$compileNode)),newScopeDirective=newScopeDirective||directive),directiveName=directive.name,!didScanForMultipleTransclusion&&(directive.replace&&(directive.templateUrl||directive.template)||directive.transclude&&!directive.$$tlb)){for(var candidateDirective,scanningIndex=i+1;candidateDirective=directives[scanningIndex++];)if(candidateDirective.transclude&&!candidateDirective.$$tlb||candidateDirective.replace&&(candidateDirective.templateUrl||candidateDirective.template)){mightHaveMultipleTransclusionError=!0;break}didScanForMultipleTransclusion=!0}if(!directive.templateUrl&&directive.controller&&(directiveValue=directive.controller,controllerDirectives=controllerDirectives||createMap(),assertNoDuplicate("'"+directiveName+"' controller",controllerDirectives[directiveName],directive,$compileNode),controllerDirectives[directiveName]=directive),directiveValue=directive.transclude)if(hasTranscludeDirective=!0,directive.$$tlb||(assertNoDuplicate("transclusion",nonTlbTranscludeDirective,directive,$compileNode),nonTlbTranscludeDirective=directive),"element"==directiveValue)hasElementTranscludeDirective=!0,terminalPriority=directive.priority,$template=$compileNode,$compileNode=templateAttrs.$$element=jqLite(compile.$$createComment(directiveName,templateAttrs[directiveName])),compileNode=$compileNode[0],replaceWith(jqCollection,sliceArgs($template),compileNode),$template[0].$$parentNode=$template[0].parentNode,childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,terminalPriority,replaceDirective&&replaceDirective.name,{nonTlbTranscludeDirective:nonTlbTranscludeDirective});else{var slots=createMap();if($template=jqLite(jqLiteClone(compileNode)).contents(),isObject(directiveValue)){$template=[];var slotMap=createMap(),filledSlots=createMap();for(var slotName in forEach(directiveValue,function(elementSelector,slotName){var optional="?"===elementSelector.charAt(0);elementSelector=optional?elementSelector.substring(1):elementSelector,slotMap[elementSelector]=slotName,slots[slotName]=null,filledSlots[slotName]=optional}
1),forEach($compileNode.contents(),function(node){var slotName=slotMap[directiveNormalize(nodeName_(node))];slotName?(filledSlots[slotName]=!0,slots[slotName]=slots[slotName]||[],slots[slotName].push(node)):$template.push(node)}),forEach(filledSlots,function(filled,slotName){if(!filled)throw $compileMinErr("reqslot","Required transclusion slot `{0}` was not filled.",slotName)}),slots)slots[slotName]&&(slots[slotName]=compilationGenerator(mightHaveMultipleTransclusionError,slots[slotName],transcludeFn))}$compileNode.empty(),(childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,void 0,void 0,{needsNewScope:directive.$$isolateScope||directive.$$newScope})).$$slots=slots}if(directive.template)if(hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directiveValue=isFunction(directive.template)?directive.template($compileNode,templateAttrs):directive.template,directiveValue=denormalizeTemplate(directiveValue),directive.replace){if(replaceDirective=directive,$template=jqLiteIsTextNode(directiveValue)?[]:removeComments(wrapTemplate(directive.templateNamespace,trim(directiveValue))),compileNode=$template[0],1!=$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",directiveName,"");replaceWith(jqCollection,$compileNode,compileNode);var newTemplateAttrs={$attr:{}},templateDirectives=collectDirectives(compileNode,[],newTemplateAttrs),unprocessedDirectives=directives.splice(i+1,directives.length-(i+1));(newIsolateScopeDirective||newScopeDirective)&&markDirectiveScope(templateDirectives,newIsolateScopeDirective,newScopeDirective),directives=directives.concat(templateDirectives).concat(unprocessedDirectives),mergeTemplateAttributes(templateAttrs,newTemplateAttrs),ii=directives.length}else $compileNode.html(directiveValue);if(directive.templateUrl)hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directive.replace&&(replaceDirective=directive),nodeLinkFn=compileTemplateUrl(directives.splice(i,directives.length-i),$compileNode,templateAttrs,jqCollection,hasTranscludeDirective&&childTranscludeFn,preLinkFns,postLinkFns,{controllerDirectives:controllerDirectives,newScopeDirective:newScopeDirective!==directive&&newScopeDirective,newIsolateScopeDirective:newIsolateScopeDirective,templateDirective:templateDirective,nonTlbTranscludeDirective:nonTlbTranscludeDirective}),ii=directives.length;else if(directive.compile)try{linkFn=directive.compile($compileNode,templateAttrs,childTranscludeFn);var context=directive.$$originalDirective||directive;isFunction(linkFn)?addLinkFns(null,bind(context,linkFn),attrStart,attrEnd):linkFn&&addLinkFns(bind(context,linkFn.pre),bind(context,linkFn.post),attrStart,attrEnd)}catch(e){$exceptionHandler(e,startingTag($compileNode))}directive.terminal&&(nodeLinkFn.terminal=!0,terminalPriority=Math.max(terminalPriority,directive.priority))}return nodeLinkFn.scope=newScopeDirective&&!0===newScopeDirective.scope,nodeLinkFn.transcludeOnThisElement=hasTranscludeDirective,nodeLinkFn.templateOnThisElement=hasTemplate,nodeLinkFn.transclude=childTranscludeFn,previousCompileContext.hasElementTranscludeDirective=hasElementTranscludeDirective,nodeLinkFn;function addLinkFns(pre,post,attrStart,attrEnd){pre&&(attrStart&&(pre=groupElementsLinkFnWrapper(pre,attrStart,attrEnd)),pre.require=directive.require,pre.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(pre=cloneAndAnnotateFn(pre,{isolateScope:!0})),preLinkFns.push(pre)),post&&(attrStart&&(post=groupElementsLinkFnWrapper(post,attrStart,attrEnd)),post.require=directive.require,post.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(post=cloneAndAnnotateFn(post,{isolateScope:!0})),postLinkFns.push(post))}function nodeLinkFn(childLinkFn,scope,linkNode,$rootElement,boundTranscludeFn){var i,ii,linkFn,isolateScope,controllerScope,elementControllers,transcludeFn,$element,attrs,scopeBindingInfo;for(var name in compileNode===linkNode?(attrs=templateAttrs,$element=templateAttrs.$$element):attrs=new Attributes($element=jqLite(linkNode),templateAttrs),controllerScope=scope,newIsolateScopeDirective?isolateScope=scope.$new(!0):newScopeDirective&&(controllerScope=scope.$parent),boundTranscludeFn&&((transcludeFn=function(scope,cloneAttachFn,futureParentElement,slotName){var transcludeControllers;isScope(scope)||(slotName=futureParentElement,futureParentElement=cloneAttachFn,cloneAttachFn=scope,scope=void 0);hasElementTranscludeDirective&&(transcludeControllers=elementControllers);futureParentElement||(futureParentElement=hasElementTranscludeDirective?$element.parent():$element);if(!slotName)return boundTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);var slotTranscludeFn=boundTranscludeFn.$$slots[slotName];if(slotTranscludeFn)return slotTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);if(isUndefined(slotTranscludeFn))throw $compileMinErr("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',slotName,startingTag($element))}
1).$$boundTransclude=boundTranscludeFn,transcludeFn.isSlotFilled=function(slotName){return!!boundTranscludeFn.$$slots[slotName]}),controllerDirectives&&(elementControllers=function($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective){var elementControllers=createMap();for(var controllerKey in controllerDirectives){var directive=controllerDirectives[controllerKey],locals={$scope:directive===newIsolateScopeDirective||directive.$$isolateScope?isolateScope:scope,$element:$element,$attrs:attrs,$transclude:transcludeFn},controller=directive.controller;"@"==controller&&(controller=attrs[directive.name]);var controllerInstance=$controller(controller,locals,!0,directive.controllerAs);elementControllers[directive.name]=controllerInstance,$element.data("$"+directive.name+"Controller",controllerInstance.instance)}return elementControllers}($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective)),newIsolateScopeDirective&&(compile.$$addScopeInfo($element,isolateScope,!0,!(templateDirective&&(templateDirective===newIsolateScopeDirective||templateDirective===newIsolateScopeDirective.$$originalDirective))),compile.$$addScopeClass($element,!0),isolateScope.$$isolateBindings=newIsolateScopeDirective.$$isolateBindings,(scopeBindingInfo=initializeDirectiveBindings(scope,attrs,isolateScope,isolateScope.$$isolateBindings,newIsolateScopeDirective)).removeWatches&&isolateScope.$on("$destroy",scopeBindingInfo.removeWatches)),elementControllers){var controllerDirective=controllerDirectives[name],controller=elementControllers[name],bindings=controllerDirective.$$bindings.bindToController;controller.identifier&&bindings?controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective):controller.bindingInfo={};var controllerResult=controller();controllerResult!==controller.instance&&(controller.instance=controllerResult,$element.data("$"+controllerDirective.name+"Controller",controllerResult),controller.bindingInfo.removeWatches&&controller.bindingInfo.removeWatches(),controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective))}for(forEach(controllerDirectives,function(controllerDirective,name){var require=controllerDirective.require;controllerDirective.bindToController&&!isArray(require)&&isObject(require)&&extend(elementControllers[name].instance,getControllers(name,require,$element,elementControllers))}),forEach(elementControllers,function(controller){var controllerInstance=controller.instance;if(isFunction(controllerInstance.$onChanges))try{controllerInstance.$onChanges(controller.bindingInfo.initialChanges)}catch(e){$exceptionHandler(e)}if(isFunction(controllerInstance.$onInit))try{controllerInstance.$onInit()}catch(e){$exceptionHandler(e)}isFunction(controllerInstance.$doCheck)&&(controllerScope.$watch(function(){controllerInstance.$doCheck()}),controllerInstance.$doCheck()),isFunction(controllerInstance.$onDestroy)&&controllerScope.$on("$destroy",function(){controllerInstance.$onDestroy()})}),i=0,ii=preLinkFns.length;i<ii;i++)invokeLinkFn(linkFn=preLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);var scopeToChild=scope;for(newIsolateScopeDirective&&(newIsolateScopeDirective.template||null===newIsolateScopeDirective.templateUrl)&&(scopeToChild=isolateScope),childLinkFn&&childLinkFn(scopeToChild,linkNode.childNodes,void 0,boundTranscludeFn),i=postLinkFns.length-1;i>=0;i--)invokeLinkFn(linkFn=postLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);forEach(elementControllers,function(controller){var controllerInstance=controller.instance;isFunction(controllerInstance.$postLink)&&controllerInstance.$postLink()})}}function getControllers(directiveName,require,$element,elementControllers){var value;if(isString(require)){var match=require.match(REQUIRE_PREFIX_REGEXP),name=require.substring(match[0].length),inheritType=match[1]||match[3],optional="?"===match[2];
1if("^^"===inheritType?$element=$element.parent():value=(value=elementControllers&&elementControllers[name])&&value.instance,!value){var dataName="$"+name+"Controller";value=inheritType?$element.inheritedData(dataName):$element.data(dataName)}if(!value&&!optional)throw $compileMinErr("ctreq","Controller '{0}', required by directive '{1}', can't be found!",name,directiveName)}else if(isArray(require)){value=[];for(var i=0,ii=require.length;i<ii;i++)value[i]=getControllers(directiveName,require[i],$element,elementControllers)}else isObject(require)&&(value={},forEach(require,function(controller,property){value[property]=getControllers(directiveName,controller,$element,elementControllers)}));return value||null}function markDirectiveScope(directives,isolateScope,newScope){for(var j=0,jj=directives.length;j<jj;j++)directives[j]=inherit(directives[j],{$$isolateScope:isolateScope,$$newScope:newScope})}function addDirective(tDirectives,name,location,maxPriority,ignoreDirective,startAttrName,endAttrName){if(name===ignoreDirective)return null;var match=null;if(hasDirectives.hasOwnProperty(name))for(var directive,directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)try{if(directive=directives[i],(isUndefined(maxPriority)||maxPriority>directive.priority)&&-1!=directive.restrict.indexOf(location)){if(startAttrName&&(directive=inherit(directive,{$$start:startAttrName,$$end:endAttrName})),!directive.$$bindings){var bindings=directive.$$bindings=parseDirectiveBindings(directive,directive.name);isObject(bindings.isolateScope)&&(directive.$$isolateBindings=bindings.isolateScope)}tDirectives.push(directive),match=directive}}catch(e){$exceptionHandler(e)}return match}function directiveIsMultiElement(name){if(hasDirectives.hasOwnProperty(name))for(var directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)if(directives[i].multiElement)return!0;return!1}function mergeTemplateAttributes(dst,src){var srcAttr=src.$attr,dstAttr=dst.$attr;dst.$$element;forEach(dst,function(value,key){"$"!=key.charAt(0)&&(src[key]&&src[key]!==value&&(value+=("style"===key?";":" ")+src[key]),dst.$set(key,value,!0,srcAttr[key]))}),forEach(src,function(value,key){dst.hasOwnProperty(key)||"$"===key.charAt(0)||(dst[key]=value,"class"!==key&&"style"!==key&&(dstAttr[key]=srcAttr[key]))})}function compileTemplateUrl(directives,$compileNode,tAttrs,$rootElement,childTranscludeFn,preLinkFns,postLinkFns,previousCompileContext){var afterTemplateNodeLinkFn,afterTemplateChildLinkFn,linkQueue=[],beforeTemplateCompileNode=$compileNode[0],origAsyncDirective=directives.shift(),derivedSyncDirective=inherit(origAsyncDirective,{templateUrl:null,transclude:null,replace:null,$$originalDirective:origAsyncDirective}),templateUrl=isFunction(origAsyncDirective.templateUrl)?origAsyncDirective.templateUrl($compileNode,tAttrs):origAsyncDirective.templateUrl,templateNamespace=origAsyncDirective.templateNamespace;return $compileNode.empty(),$templateRequest(templateUrl).then(function(content){var compileNode,tempTemplateAttrs,$template,childBoundTranscludeFn;if(content=denormalizeTemplate(content),origAsyncDirective.replace){if($template=jqLiteIsTextNode(content)?[]:removeComments(wrapTemplate(templateNamespace,trim(content))),compileNode=$template[0],1!=$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",origAsyncDirective.name,templateUrl);tempTemplateAttrs={$attr:{}},replaceWith($rootElement,$compileNode,compileNode);var templateDirectives=collectDirectives(compileNode,[],tempTemplateAttrs);isObject(origAsyncDirective.scope)&&markDirectiveScope(templateDirectives,!0),directives=templateDirectives.concat(directives),mergeTemplateAttributes(tAttrs,tempTemplateAttrs)}else compileNode=beforeTemplateCompileNode,$compileNode.html(content);for(directives.unshift(derivedSyncDirective),afterTemplateNodeLinkFn=applyDirectivesToNode(directives,compileNode,tAttrs,childTranscludeFn,$compileNode,origAsyncDirective,preLinkFns,postLinkFns,previousCompileContext),forEach($rootElement,function(node,i){
1node==compileNode&&($rootElement[i]=$compileNode[0])}),afterTemplateChildLinkFn=compileNodes($compileNode[0].childNodes,childTranscludeFn);linkQueue.length;){var scope=linkQueue.shift(),beforeTemplateLinkNode=linkQueue.shift(),linkRootElement=linkQueue.shift(),boundTranscludeFn=linkQueue.shift(),linkNode=$compileNode[0];if(!scope.$$destroyed){if(beforeTemplateLinkNode!==beforeTemplateCompileNode){var oldClasses=beforeTemplateLinkNode.className;previousCompileContext.hasElementTranscludeDirective&&origAsyncDirective.replace||(linkNode=jqLiteClone(compileNode)),replaceWith(linkRootElement,jqLite(beforeTemplateLinkNode),linkNode),safeAddClass(jqLite(linkNode),oldClasses)}childBoundTranscludeFn=afterTemplateNodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn):boundTranscludeFn,afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,linkNode,$rootElement,childBoundTranscludeFn)}}linkQueue=null}),function(ignoreChildLinkFn,scope,node,rootElement,boundTranscludeFn){var childBoundTranscludeFn=boundTranscludeFn;scope.$$destroyed||(linkQueue?linkQueue.push(scope,node,rootElement,childBoundTranscludeFn):(afterTemplateNodeLinkFn.transcludeOnThisElement&&(childBoundTranscludeFn=createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn)),afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,node,rootElement,childBoundTranscludeFn)))}}function byPriority(a,b){var diff=b.priority-a.priority;return 0!==diff?diff:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function assertNoDuplicate(what,previousDirective,directive,element){function wrapModuleNameIfDefined(moduleName){return moduleName?" (module: "+moduleName+")":""}if(previousDirective)throw $compileMinErr("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",previousDirective.name,wrapModuleNameIfDefined(previousDirective.$$moduleName),directive.name,wrapModuleNameIfDefined(directive.$$moduleName),what,startingTag(element))}function wrapTemplate(type,template){switch(type=lowercase(type||"html")){case"svg":case"math":var wrapper=window.document.createElement("div");return wrapper.innerHTML="<"+type+">"+template+"</"+type+">",wrapper.childNodes[0].childNodes;default:return template}}function addAttrInterpolateDirective(node,directives,value,name,allOrNothing){var trustedContext=function(node,attrNormalizedName){if("srcdoc"==attrNormalizedName)return $sce.HTML;var tag=nodeName_(node);return"xlinkHref"==attrNormalizedName||"form"==tag&&"action"==attrNormalizedName||"img"!=tag&&("src"==attrNormalizedName||"ngSrc"==attrNormalizedName)?$sce.RESOURCE_URL:void 0}(node,name);allOrNothing=ALL_OR_NOTHING_ATTRS[name]||allOrNothing;var interpolateFn=$interpolate(value,!0,trustedContext,allOrNothing);if(interpolateFn){if("multiple"===name&&"select"===nodeName_(node))throw $compileMinErr("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",startingTag(node));directives.push({priority:100,compile:function(){return{pre:function(scope,element,attr){var $$observers=attr.$$observers||(attr.$$observers=createMap());if(EVENT_HANDLER_ATTR_REGEXP.test(name))throw $compileMinErr("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var newValue=attr[name];newValue!==value&&(interpolateFn=newValue&&$interpolate(newValue,!0,trustedContext,allOrNothing),value=newValue),interpolateFn&&(attr[name]=interpolateFn(scope),($$observers[name]||($$observers[name]=[])).$$inter=!0,(attr.$$observers&&attr.$$observers[name].$$scope||scope).$watch(interpolateFn,function(newValue,oldValue){"class"===name&&newValue!=oldValue?attr.$updateClass(newValue,oldValue):attr.$set(name,newValue)}))}}}})}}function replaceWith($rootElement,elementsToRemove,newNode){var i,ii,firstElementToRemove=elementsToRemove[0],removeCount=elementsToRemove.length,parent=firstElementToRemove.parentNode;if($rootElement)for(i=0,ii=$rootElement.length;i<ii;i++)if($rootElement[i]==firstElementToRemove){$rootElement[i++]=newNode;for(var j=i,j2=j+removeCount-1,jj=$rootElement.length;j<jj;j++,j2++)j2<jj?$rootElement[j]=$rootElement[j2]:delete $rootElement[j];$rootElement.length-=removeCount-1,$rootElement.context===firstElementToRemove&&($rootElement.context=newNode);break}parent&&parent.replaceChild(newNode,firstElementToRemove);var fragment=window.document.createDocumentFragment();for(i=0;i<removeCount;i++)fragment.appendChild(elementsToRemove[i]);for(jqLite.hasData(firstElementToRemove)&&(jqLite.data(newNode,jqLite.data(firstElementToRemove)),jqLite(firstElementToRemove).off("$destroy")),jqLite.cleanData(fragment.querySelectorAll("*")),i=1;i<removeCount;i++)delete elementsToRemove[i];elementsToRemove[0]=newNode,elementsToRemove.length=1}function cloneAndAnnotateFn(fn,annotation){return extend(function(){return fn.apply(null,arguments)},fn,annotation)}function invokeLinkFn(linkFn,scope,$element,attrs,controllers,transcludeFn){try{linkFn(scope,$element,attrs,controllers,transcludeFn)}catch(e){$exceptionHandler(e,startingTag($element))}}function initializeDirectiveBindings(scope,attrs,destination,bindings,directive){var changes,removeWatchCollection=[],initialChanges={};function recordChanges(key,currentValue,previousValue){isFunction(destination.$onCh
1anges)&&currentValue!==previousValue&&(onChangesQueue||(scope.$$postDigest(flushOnChangesQueue),onChangesQueue=[]),changes||(changes={},onChangesQueue.push(triggerOnChangesHook)),changes[key]&&(previousValue=changes[key].previousValue),changes[key]=new SimpleChange(previousValue,currentValue))}function triggerOnChangesHook(){destination.$onChanges(changes),changes=void 0}return forEach(bindings,function(definition,scopeName){var lastValue,parentGet,parentSet,compare,removeWatch,attrName=definition.attrName,optional=definition.optional;switch(definition.mode){case"@":optional||hasOwnProperty.call(attrs,attrName)||(destination[scopeName]=attrs[attrName]=void 0),attrs.$observe(attrName,function(value){if(isString(value)||isBoolean(value)){var oldValue=destination[scopeName];recordChanges(scopeName,value,oldValue),destination[scopeName]=value}}),attrs.$$observers[attrName].$$scope=scope,isString(lastValue=attrs[attrName])?destination[scopeName]=$interpolate(lastValue)(scope):isBoolean(lastValue)&&(destination[scopeName]=lastValue),initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]);break;case"=":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]),compare=parentGet.literal?equals:function(a,b){return a===b||a!=a&&b!=b},parentSet=parentGet.assign||function(){throw lastValue=destination[scopeName]=parentGet(scope),$compileMinErr("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",attrs[attrName],attrName,directive.name)},lastValue=destination[scopeName]=parentGet(scope);var parentValueWatch=function(parentValue){return compare(parentValue,destination[scopeName])||(compare(parentValue,lastValue)?parentSet(scope,parentValue=destination[scopeName]):destination[scopeName]=parentValue),lastValue=parentValue};parentValueWatch.$stateful=!0,removeWatch=definition.collection?scope.$watchCollection(attrs[attrName],parentValueWatch):scope.$watch($parse(attrs[attrName],parentValueWatch),null,parentGet.literal),removeWatchCollection.push(removeWatch);break;case"<":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]);var initialValue=destination[scopeName]=parentGet(scope);initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]),removeWatch=scope.$watch(parentGet,function(newValue,oldValue){if(oldValue===newValue){if(oldValue===initialValue)return;oldValue=initialValue}recordChanges(scopeName,newValue,oldValue),destination[scopeName]=newValue},parentGet.literal),removeWatchCollection.push(removeWatch);break;case"&":if((parentGet=attrs.hasOwnProperty(attrName)?$parse(attrs[attrName]):noop)===noop&&optional)break;destination[scopeName]=function(locals){return parentGet(scope,locals)}}}),{initialChanges:initialChanges,removeWatches:removeWatchCollection.length&&function(){for(var i=0,ii=removeWatchCollection.length;i<ii;++i)removeWatchCollection[i]()}}}}]}function SimpleChange(previous,current){this.previousValue=previous,this.currentValue=current}$CompileProvider.$inject=["$provide","$$sanitizeUriProvider"],SimpleChange.prototype.isFirstChange=function(){return this.previousValue===_UNINITIALIZED_VALUE};var PREFIX_REGEXP=/^((?:x|data)[\:\-_])/i;function directiveNormalize(name){return camelCase(name.replace(PREFIX_REGEXP,""))}function tokenDifference(str1,str2){var values="",tokens1=str1.split(/\s+/),tokens2=str2.split(/\s+/);outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token==tokens2[j])continue outer;values+=(values.length>0?" ":"")+token}return values}function removeComments(jqNodes){var i=(jqNodes=jqLite(jqNodes)).length;if(i<=1)return jqNodes;for(;i--;){jqNodes[i].nodeType===NODE_TYPE_COMMENT&&splice.call(jqNodes,i,1)}return jqNodes}var $controllerMinErr=minErr("$controller"),CNTRL_REG=/^(\S+)(\s+as\s+([\w$]+))?$/;function identifierForController(controller,ident){if(ident&&isString(ident))return ident;if(isString(controller)){var match=CNTRL_REG.exec(controller);if(match)return match[3]}}function $ControllerProvider(){var controllers={},globals=!1;this.has=function(name){return controllers.hasOwnProperty(name)},this.register=function(name,constructor){assertNotHasOwnProperty(name,"controller"),isObject(name)?extend(controllers,name):controllers[name]=constructor},this.allowGlobals=function(){globals=!0},this.$get=["$injector","$window",function($injector,$window){return function(expression,locals,later,ident){var instance,match,constructor,identifier;if(later=!0===later,ident&&isString(ident)&&(identifier=ident),isString(expression)){if(!(match=expression.match(CNTRL_REG)))throw $controllerMinErr("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",expression);constructor=match[1],identifier=identifier||match[3],assertArgFn(expression=controllers.hasOwnProperty(constructor)?controllers[constructor]:getter(locals.$scope,constructor,!0)||(globals?getter($window,constructor,!0):void 0),constructor,!0)}if(later){var controllerPrototype=(isArray(expression)?expression[expression.length-1]:expression).prototype;return instance=Object.create(controllerPrototype||null),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),extend(function(){var result=$injector.invoke(expression,instance,locals,constructor);return result!==instance&&(isObject(result)||isFunction(result))&&(instance=result,identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name)),instance},{instance:instance,identifier:identifier})}return instance=$injector.instantiate(expression,locals,constructor),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),instance};function addIdentifier(locals,identifier,instance,name){if(!locals||!isObject(locals.$scope))throw minErr("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",name,identifier);locals.$scope[identifier]=instance}}]}function $DocumentProvider(){this.$get=["$window",function(window){return jqLite(window.document)}]}function $ExceptionHandlerProvider(){this.$get=["$log",function($log){return function(exception,cause){$log.error.apply($log,arguments)}}]}var $$ForceReflowProvider=function(){this.$get=["$document",function($document){return function(domNode){return domNode?!domNode.nodeType&&domNode instanceof jqLite&&(domNode=domNode[0]):domNode=$document[0].body,domNode.offsetWidth+1}}]},APPLICATION_JSON="application/json",CONTENT_TYPE_APPLICATION_JSON={"Content-Type":APPLICATION_JSON+";charset=utf-8"},JSON_START=/^\[|^\{(?!\{)/,JSON_ENDS={"[":/]$/,"{":/}$/},JSON_PROTECTION_PREFIX=/^\)\]\}',?\n/,$httpMinErr=minErr("$http"),$httpMinErrLegacyFn=function(method){return function(){throw $httpMinErr("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",method)}};function serializeValue(v){return isObject(v)?isDate(v)?v.toISOString():toJson(v):v}function $HttpParamSerializerProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return forEachSorted(params,function(value,key){null===value||isUndefined(value)||(isArray(value)?forEach(value,function(v){parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(v)))}):parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(value))))}),parts.join("&")}}}function $HttpParamSerializerJQLikeProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return function serialize(toSerialize,prefix,topLevel){if(null===toSerialize||isUndefined(toSerialize))return;isArray(toSerialize)?forEach(toSerialize,function(value,index){serialize(value,prefix+"["+(isObject(value)?index:"")+"]")}):isObject(toSerialize)&&!isDate(toSerialize)?forEachSorted(toSerialize,function(value,key){serialize(value,prefix+(topLevel?"":"[")+key+(topLevel?"":"]"))}):parts.push(encodeUriQuery(prefix)+"="+encodeUriQuery(serializeValue(toSerialize)))}(params,"",!0),parts.join("&")}}}function defaultHttpResponseTransform(data,headers){if(isString(data)){var tempData=data.replace(JSON_PROTECTION_PREFIX,"").trim();if(tempData){var contentType=headers("Content-Type");(contentType&&0===contentType.indexOf(APPLICATION_JSON)||(jsonStart=(str=tempData).match(JSON_START))&&JSON_ENDS[jsonStart[0]].test(str))&&(data=fromJson(tempData))}}var str,jsonStart;return data}function parseHeaders(headers){var i,parsed=createMap();
1function fillInParsed(key,val){key&&(parsed[key]=parsed[key]?parsed[key]+", "+val:val)}return isString(headers)?forEach(headers.split("\n"),function(line){i=line.indexOf(":"),fillInParsed(lowercase(trim(line.substr(0,i))),trim(line.substr(i+1)))}):isObject(headers)&&forEach(headers,function(headerVal,headerKey){fillInParsed(lowercase(headerKey),trim(headerVal))}),parsed}function headersGetter(headers){var headersObj;return function(name){if(headersObj||(headersObj=parseHeaders(headers)),name){var value=headersObj[lowercase(name)];return void 0===value&&(value=null),value}return headersObj}}function transformData(data,headers,status,fns){return isFunction(fns)?fns(data,headers,status):(forEach(fns,function(fn){data=fn(data,headers,status)}),data)}function isSuccess(status){return 200<=status&&status<300}function $HttpProvider(){var defaults=this.defaults={transformResponse:[defaultHttpResponseTransform],transformRequest:[function(d){return!isObject(d)||(obj=d,"[object File]"===toString.call(obj))||function(obj){return"[object Blob]"===toString.call(obj)}(d)||function(obj){return"[object FormData]"===toString.call(obj)}(d)?d:toJson(d);var obj}],headers:{common:{Accept:"application/json, text/plain, */*"},post:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),put:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),patch:shallowCopy(CONTENT_TYPE_APPLICATION_JSON)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},useApplyAsync=!1;this.useApplyAsync=function(value){return isDefined(value)?(useApplyAsync=!!value,this):useApplyAsync};var useLegacyPromise=!0;this.useLegacyPromiseExtensions=function(value){return isDefined(value)?(useLegacyPromise=!!value,this):useLegacyPromise};var interceptorFactories=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function($httpBackend,$$cookieReader,$cacheFactory,$rootScope,$q,$injector){var defaultCache=$cacheFactory("$http");defaults.paramSerializer=isString(defaults.paramSerializer)?$injector.get(defaults.paramSerializer):defaults.paramSerializer;var reversedInterceptors=[];function $http(requestConfig){if(!isObject(requestConfig))throw minErr("$http")("badreq","Http request configuration must be an object.  Received: {0}",requestConfig);if(!isString(requestConfig.url))throw minErr("$http")("badreq","Http request configuration url must be a string.  Received: {0}",requestConfig.url);var config=extend({method:"get",transformRequest:defaults.transformRequest,transformResponse:defaults.transformResponse,paramSerializer:defaults.paramSerializer},requestConfig);config.headers=function(config){var defHeaderName,lowercaseDefHeaderName,reqHeaderName,defHeaders=defaults.headers,reqHeaders=extend({},config.headers);defHeaders=extend({},defHeaders.common,defHeaders[lowercase(config.method)]);defaultHeadersIteration:for(defHeaderName in defHeaders){for(reqHeaderName in lowercaseDefHeaderName=lowercase(defHeaderName),reqHeaders)if(lowercase(reqHeaderName)===lowercaseDefHeaderName)continue defaultHeadersIteration;reqHeaders[defHeaderName]=defHeaders[defHeaderName]}return function(headers,config){var headerContent,processedHeaders={};return forEach(headers,function(headerFn,header){isFunction(headerFn)?null!=(headerContent=headerFn(config))&&(processedHeaders[header]=headerContent):processedHeaders[header]=headerFn}),processedHeaders}(reqHeaders,shallowCopy(config))}(requestConfig),config.method=uppercase(config.method),config.paramSerializer=isString(config.paramSerializer)?$injector.get(config.paramSerializer):config.paramSerializer;var requestInterceptors=[],responseInterceptors=[],promise=$q.when(config);return forEach(reversedInterceptors,function(interceptor){(interceptor.request||interceptor.requestError)&&requestInterceptors.unshift(interceptor.request,interceptor.requestError),(interceptor.response||interceptor.responseError)&&responseInterceptors.push(interceptor.response,interceptor.responseError)}),promise=chainInterceptors(promise=(promise=chainInterceptors(promise,requestInterceptors)).then(function(config){var headers=config.headers,reqData=transformData(config.data,headersGetter(headers),void 0,config.transformRequest);isUndefined(reqData)&&forEach(headers,function(value,header){"content-type"===lowercase(header)&&delete headers[header]});isUndefined(config.withCredentials)&&!isUndefined(defaults.withCredentials)&&(config.withCredentials=defaults.withCredentials);return function(config,reqData){var cache,cachedResp,deferred=$q.defer(),promise=deferred.promise,reqHeaders=config.headers,url=function(url,serializedParams){serializedParams.length>0&&(url+=(-1==url.indexOf("?")?"?":"&")+serializedParams);return url}(config.url,config.paramSerializer(config.params));$http.pendingRequests.push(config),promise.then(removePendingReq,removePendingReq),!config.cache&&!defaults.cache||!1===config.cache||"GET"!==config.method&&"JSONP"!==config.method||(cache=isObject(config.cache)?config.cache:isObject(defaults.cache)?defaults.cache:defaultCache);cache&&(isDefined(cachedResp=cache.get(url))?isPromiseLike(cachedResp)?cachedResp.then(resolvePromiseWithResult,resolvePromiseWithResult):isArray(cachedResp)?resolvePromise(cachedResp[1],cachedResp[0],shallowCopy(cachedResp[2]),cachedResp[3]):resolvePromise(cachedResp,200,{},"OK"):cache.put(url,promise));if(isUndefined(cachedResp)){var xsrfValue=urlIsSameOrigin(config.url)?$$cookieReader()[config.xsrfCookieName||defaults.xsrfCookieName]:void 0;xsrfValue&&(reqHeaders[config.xsrfHeaderName||defaults.xsrfHeaderName]=xsrfValue),$httpBackend(config.method,url,reqData,function(status,response,headersString,statusText){cache&&(isSuccess(status)?cache.put(url,[status,response,parseHeaders(headersString),statusText]):cache.remove(url));function resolveHttpPromise(){resolvePromise(response,status,headersString,statusText)}useApplyAsync?$rootScope.$applyAsync(resolveHttpPromise):(resolveHttpPromise(),$rootScope.$$phase||$rootScope.$apply())},reqHeaders,config.timeout,config.withCredentials,config.responseType,createApplyHandlers(config.eventHandlers),createApplyHandlers(config.uploadEventHandlers))}return promise;function createApplyHandlers(eventHandlers){if(eventHandlers){var applyHandlers={};return forEach(eventHandlers,function(eventHandler,key){applyHandlers[key]=function(event){function callEventHandler(){eventHandler(event)}useApplyAsync?$rootScope.$applyAsync(callEventHandler):$rootScope.$$phase?callEventHandler():$rootScope.$apply(callEventHandler)}}),applyHandlers}}function resolvePromise(response,status,headers,statusText){(isSuccess(status=status>=-1?status:0)?deferred.resolve:deferred.reject)({data:response,status:status,headers:headersGetter(headers),config:config,statusText:statusText})}function resolvePromiseWithResult(result){resolvePromise(result.data,result.status,shallowCopy(result.headers()),result.statusText)}function removePendingReq(){var idx=$http.pendingRequests.indexOf(config);-1!==idx&&$http.pendingRequests.splice(idx,1)}}(config,reqData).then(transformResponse,transformResponse)}),responseInterceptors),useLegacyPromise?(promise.success=function(fn){return assertArgFn(fn,"fn"),promise.then(function(response){fn(response.data,response.status,response.headers,config)}),promise},promise.error=function(fn){return assertArgFn(fn,"fn"),promise.then(null,function(response){fn(response.data,response.status,response.headers,config)}),promise}):(promise.success=$httpMinErrLegacyFn("success"),promise.error=$httpMinErrLegacyFn("error")),promise;function chainInterceptors(promise,interceptors){for(var i=0,ii=interceptors.length;i<ii;){var thenFn=interceptors[i++],rejectFn=interceptors[i++];promise=promise.then(thenFn,rejectFn)}return interceptors.length=0,promise}function transformResponse(response){var resp=extend({},response);return resp.data=transformData(response.data,response.headers,response.status,config.transformResponse),isSuccess(response.status)?resp:$q.reject(resp)}}return forEach(interceptorFactories,function(interceptorFactory){reversedInterceptors.unshift(isString(interceptorFactory)?$injector.get(interceptorFactory):$injector.invoke(interceptorFactory)
1)}),$http.pendingRequests=[],function(names){forEach(arguments,function(name){$http[name]=function(url,config){return $http(extend({},config||{},{method:name,url:url}))}})}("get","delete","head","jsonp"),function(name){forEach(arguments,function(name){$http[name]=function(url,data,config){return $http(extend({},config||{},{method:name,url:url,data:data}))}})}("post","put","patch"),$http.defaults=defaults,$http}]}function $xhrFactoryProvider(){this.$get=function(){return function(){return new window.XMLHttpRequest}}}function $HttpBackendProvider(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function($browser,$jsonpCallbacks,$document,$xhrFactory){return function($browser,createXhr,$browserDefer,callbacks,rawDocument){return function(method,url,post,callback,headers,timeout,withCredentials,responseType,eventHandlers,uploadEventHandlers){if($browser.$$incOutstandingRequestCount(),url=url||$browser.url(),"jsonp"===lowercase(method))var callbackPath=callbacks.createCallback(url),jsonpDone=function(url,callbackPath,done){url=url.replace("JSON_CALLBACK",callbackPath);var script=rawDocument.createElement("script"),callback=null;return script.type="text/javascript",script.src=url,script.async=!0,callback=function(event){removeEventListenerFn(script,"load",callback),removeEventListenerFn(script,"error",callback),rawDocument.body.removeChild(script),script=null;var status=-1,text="unknown";event&&("load"!==event.type||callbacks.wasCalled(callbackPath)||(event={type:"error"}),text=event.type,status="error"===event.type?404:200),done&&done(status,text)},addEventListenerFn(script,"load",callback),addEventListenerFn(script,"error",callback),rawDocument.body.appendChild(script),callback}(url,callbackPath,function(status,text){var response=200===status&&callbacks.getResponse(callbackPath);completeRequest(callback,status,response,"",text),callbacks.removeCallback(callbackPath)});else{var xhr=createXhr(method,url);xhr.open(method,url,!0),forEach(headers,function(value,key){isDefined(value)&&xhr.setRequestHeader(key,value)}
1),xhr.onload=function(){var statusText=xhr.statusText||"",response="response"in xhr?xhr.response:xhr.responseText,status=1223===xhr.status?204:xhr.status;0===status&&(status=response?200:"file"==urlResolve(url).protocol?404:0),completeRequest(callback,status,response,xhr.getAllResponseHeaders(),statusText)};var requestError=function(){completeRequest(callback,-1,null,null,"")};if(xhr.onerror=requestError,xhr.onabort=requestError,forEach(eventHandlers,function(value,key){xhr.addEventListener(key,value)}),forEach(uploadEventHandlers,function(value,key){xhr.upload.addEventListener(key,value)}),withCredentials&&(xhr.withCredentials=!0),responseType)try{xhr.responseType=responseType}catch(e){if("json"!==responseType)throw e}xhr.send(isUndefined(post)?null:post)}if(timeout>0)var timeoutId=$browserDefer(timeoutRequest,timeout);else isPromiseLike(timeout)&&timeout.then(timeoutRequest);function timeoutRequest(){jsonpDone&&jsonpDone(),xhr&&xhr.abort()}function completeRequest(callback,status,response,headersString,statusText){isDefined(timeoutId)&&$browserDefer.cancel(timeoutId),jsonpDone=xhr=null,callback(status,response,headersString,statusText),$browser.$$completeOutstandingRequest(noop)}}}($browser,$xhrFactory,$browser.defer,$jsonpCallbacks,$document[0])}]}var $interpolateMinErr=angular.$interpolateMinErr=minErr("$interpolate");function $InterpolateProvider(){var startSymbol="{{",endSymbol="}}";this.startSymbol=function(value){return value?(startSymbol=value,this):startSymbol},this.endSymbol=function(value){return value?(endSymbol=value,this):endSymbol},this.$get=["$parse","$exceptionHandler","$sce",function($parse,$exceptionHandler,$sce){var startSymbolLength=startSymbol.length,endSymbolLength=endSymbol.length,escapedStartRegexp=new RegExp(startSymbol.replace(/./g,escape),"g"),escapedEndRegexp=new RegExp(endSymbol.replace(/./g,escape),"g");function escape(ch){return"\\\\\\"+ch}function unescapeText(text){return text.replace(escapedStartRegexp,startSymbol).replace(escapedEndRegexp,endSymbol)}function constantWatchDelegate(scope,listener,objectEquality,constantInterp){var unwatch;return unwatch=scope.$watch(function(scope){return unwatch(),constantInterp(scope)},listener,objectEquality)}function $interpolate(text,mustHaveExpression,trustedContext,allOrNothing){if(!text.length||-1===text.indexOf(startSymbol)){var constantInterp;if(!mustHaveExpression)(constantInterp=valueFn(unescapeText(text))).exp=text,constantInterp.expressions=[],constantInterp.$$watchDelegate=constantWatchDelegate;return constantInterp}allOrNothing=!!allOrNothing;for(var startIndex,endIndex,exp,index=0,expressions=[],parseFns=[],textLength=text.length,concat=[],expressionPositions=[];index<textLength;){if(-1==(startIndex=text.indexOf(startSymbol,index))||-1==(endIndex=text.indexOf(endSymbol,startIndex+startSymbolLength))){index!==textLength&&concat.push(unescapeText(text.substring(index)));break}index!==startIndex&&concat.push(unescapeText(text.substring(index,startIndex))),exp=text.substring(startIndex+startSymbolLength,endIndex),expressions.push(exp),parseFns.push($parse(exp,parseStringifyInterceptor)),index=endIndex+endSymbolLength,expressionPositions.push(concat.length),concat.push("")}if(trustedContext&&concat.length>1&&$interpolateMinErr.throwNoconcat(text),!mustHaveExpression||expressions.length){var compute=function(values){for(var i=0,ii=expressions.length;i<ii;i++){if(allOrNothing&&isUndefined(values[i]))return;concat[expressionPositions[i]]=values[i]}return concat.join("")},getValue=function(value){return trustedContext?$sce.getTrusted(trustedContext,value):$sce.valueOf(value)};return extend(function(context){var i=0,ii=expressions.length,values=new Array(ii);try{for(;i<ii;i++)values[i]=parseFns[i](context);return compute(values)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}},{exp:text,expressions:expressions,$$watchDelegate:function(scope,listener){var lastValue;return scope.$watchGroup(parseFns,function(values,oldValues){var currValue=compute(values);isFunction(listener)&&listener.call(this,currValue,values!==oldValues?lastValue:currValue,scope),lastValue=currValue})}})}function parseStringifyInterceptor(value){try{return value=getValue(value),allOrNothing&&!isDefined(value)?value:function(value){if(null==value)return"";switch(typeof value){case"string":break;case"number":value=""+value;break;default:value=toJson(value)}return value}(value)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}}}return $interpolate.startSymbol=function(){return startSymbol},$interpolate.endSymbol=function(){return endSymbol},$interpolate}]}
1function $IntervalProvider(){this.$get=["$rootScope","$window","$q","$$q","$browser",function($rootScope,$window,$q,$$q,$browser){var intervals={};function interval(fn,delay,count,invokeApply){var hasParams=arguments.length>4,args=hasParams?sliceArgs(arguments,4):[],setInterval=$window.setInterval,clearInterval=$window.clearInterval,iteration=0,skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return count=isDefined(count)?count:0,promise.$$intervalId=setInterval(function(){skipApply?$browser.defer(callback):$rootScope.$evalAsync(callback),deferred.notify(iteration++),count>0&&iteration>=count&&(deferred.resolve(iteration),clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId]),skipApply||$rootScope.$apply()},delay),intervals[promise.$$intervalId]=deferred,promise;function callback(){hasParams?fn.apply(null,args):fn(iteration)}}return interval.cancel=function(promise){return!!(promise&&promise.$$intervalId in intervals)&&(intervals[promise.$$intervalId].reject("canceled"),$window.clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId],!0)},interval}]}$interpolateMinErr.throwNoconcat=function(text){throw $interpolateMinErr("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",text)},$interpolateMinErr.interr=function(text,err){return $interpolateMinErr("interr","Can't interpolate: {0}\n{1}",text,err.toString())};var $jsonpCallbacksProvider=function(){this.$get=["$window",function($window){var callbacks=$window.angular.callbacks,callbackMap={};return{createCallback:function(url){var callbackId="_"+(callbacks.$$counter++).toString(36),callbackPath="angular.callbacks."+callbackId,callback=function(callbackId){var callback=function(data){callback.data=data,callback.called=!0};return callback.id=callbackId,callback}(callbackId);return callbackMap[callbackPath]=callbacks[callbackId]=callback,callbackPath},wasCalled:function(callbackPath){return callbackMap[callbackPath].called},getResponse:function(callbackPath){return callbackMap[callbackPath].data},removeCallback:function(callbackPath){var callback=callbackMap[callbackPath];delete callbacks[callback.id],delete callbackMap[callbackPath]}}}]},PATH_MATCH=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,DEFAULT_PORTS={http:80,https:443,ftp:21},$locationMinErr=minErr("$location");function encodePath(path){for(var segments=path.split("/"),i=segments.length;i--;)segments[i]=encodeUriSegment(segments[i]);return segments.join("/")}function parseAbsoluteUrl(absoluteUrl,locationObj){var parsedUrl=urlResolve(absoluteUrl);locationObj.$$protocol=parsedUrl.protocol,locationObj.$$host=parsedUrl.hostname,locationObj.$$port=toInt(parsedUrl.port)||DEFAULT_PORTS[parsedUrl.protocol]||null}function parseAppUrl(relativeUrl,locationObj){var prefixed="/"!==relativeUrl.charAt(0);prefixed&&(relativeUrl="/"+relativeUrl);var match=urlResolve(relativeUrl);locationObj.$$path=decodeURIComponent(prefixed&&"/"===match.pathname.charAt(0)?match.pathname.substring(1):match.pathname),locationObj.$$search=parseKeyValue(match.search),locationObj.$$hash=decodeURIComponent(match.hash),locationObj.$$path&&"/"!=locationObj.$$path.charAt(0)&&(locationObj.$$path="/"+locationObj.$$path)}function startsWith(haystack,needle){return 0===haystack.lastIndexOf(needle,0)}function stripBaseUrl(base,url){if(startsWith(url,base))return url.substr(base.length)}function stripHash(url){var index=url.indexOf("#");return-1==index?url:url.substr(0,index)}function trimEmptyHash(url){return url.replace(/(#.+)|#$/,"$1")}function LocationHtml5Url(appBase,appBaseNoFile,basePrefix){this.$$html5=!0,basePrefix=basePrefix||"",parseAbsoluteUrl(appBase,this),this.$$parse=function(url){var pathUrl=stripBaseUrl(appBaseNoFile,url);if(!isString(pathUrl))throw $locationMinErr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',url,appBaseNoFile);parseAppUrl(pathUrl,this),this.$$path||(this.$$path="/"),this.$$compose()}
1,this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBaseNoFile+this.$$url.substr(1)},this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(isDefined(appUrl=stripBaseUrl(appBase,url))?(prevAppUrl=appUrl,rewrittenUrl=isDefined(appUrl=stripBaseUrl(basePrefix,appUrl))?appBaseNoFile+(stripBaseUrl("/",appUrl)||appUrl):appBase+prevAppUrl):isDefined(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBaseNoFile+appUrl:appBaseNoFile==url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var appUrl,prevAppUrl,rewrittenUrl}}function LocationHashbangUrl(appBase,appBaseNoFile,hashPrefix){parseAbsoluteUrl(appBase,this),this.$$parse=function(url){var withoutHashUrl,withoutBaseUrl=stripBaseUrl(appBase,url)||stripBaseUrl(appBaseNoFile,url);isUndefined(withoutBaseUrl)||"#"!==withoutBaseUrl.charAt(0)?this.$$html5?withoutHashUrl=withoutBaseUrl:(withoutHashUrl="",isUndefined(withoutBaseUrl)&&(appBase=url,this.replace())):isUndefined(withoutHashUrl=stripBaseUrl(hashPrefix,withoutBaseUrl))&&(withoutHashUrl=withoutBaseUrl),parseAppUrl(withoutHashUrl,this),this.$$path=function(path,url,base){var firstPathSegmentMatch,windowsFilePathExp=/^\/[A-Z]:(\/.*)/;startsWith(url,base)&&(url=url.replace(base,""));if(windowsFilePathExp.exec(url))return path;return(firstPathSegmentMatch=windowsFilePathExp.exec(path))?firstPathSegmentMatch[1]:path}(this.$$path,withoutHashUrl,appBase),this.$$compose()},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+(this.$$url?hashPrefix+this.$$url:"")},this.$$parseLinkUrl=function(url,relHref){return stripHash(appBase)==stripHash(url)&&(this.$$parse(url),!0)}}function LocationHashbangInHtml5Url(appBase,appBaseNoFile,hashPrefix){this.$$html5=!0,LocationHashbangUrl.apply(this,arguments),this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(appBase==stripHash(url)?rewrittenUrl=url:(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBase+hashPrefix+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var rewrittenUrl,appUrl},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+hashPrefix+this.$$url}}var locationPrototype={$$absUrl:"",$$html5:!1,$$replace:!1,absUrl:locationGetter("$$absUrl"),url:function(url){if(isUndefined(url))return this.$$url;var match=PATH_MATCH.exec(url);return(match[1]||""===url)&&this.path(decodeURIComponent(match[1])),(match[2]||match[1]||""===url)&&this.search(match[3]||""),this.hash(match[5]||""),this},protocol:locationGetter("$$protocol"),host:locationGetter("$$host"),port:locationGetter("$$port"),path:locationGetterSetter("$$path",function(path){return"/"==(path=null!==path?path.toString():"").charAt(0)?path:"/"+path}),search:function(search,paramValue){switch(arguments.length){case 0:return this.$$search;case 1:if(isString(search)||isNumber(search))search=search.toString(),this.$$search=parseKeyValue(search);else{if(!isObject(search))throw $locationMinErr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");forEach(search=copy(search,{}),function(value,key){null==value&&delete search[key]}),this.$$search=search}break;default:isUndefined(paramValue)||null===paramValue?delete this.$$search[search]:this.$$search[search]=paramValue}return this.$$compose(),this},hash:locationGetterSetter("$$hash",function(hash){return null!==hash?hash.toString():""}),replace:function(){return this.$$replace=!0,this}};function locationGetter(property){return function(){return this[property]}}function locationGetterSetter(property,preprocess){return function(value){return isUndefined(value)?this[property]:(this[property]=preprocess(value),this.$$compose(),this)}}function $LocationProvider(){var hashPrefix="",html5Mode={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(prefix){return isDefined(prefix)?(hashPrefix=prefix,this):hashPrefix},this.html5Mode=function(mode){return isBoolean(mode)?(html5Mode.enabled=mode,this):isObject(mode)?(isBoolean(mode.enabled)&&(html5Mode.enabled=mode.enabled),isBoolean(mode.requireBase)&&(html5Mode.requireBase=mode.requireBase),isBoolean(mode.rewriteLinks)&&(html5Mode.rewriteLinks=mode.rewriteLinks),this):html5Mode},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function($rootScope,$browser,$sniffer,$rootElement,$window){var $location,LocationMode,appBase,url,baseHref=$browser.baseHref(),initialUrl=$browser.url();if(html5Mode.enabled){if(!baseHref&&html5Mode.requireBase)throw $locationMinErr("nobase","$location in HTML5 mode requires a <base> tag to be present!");appBase=(url=initialUrl).substring(0,url.indexOf("/",url.indexOf("//")+2))+(baseHref||"/"),LocationMode=$sniffer.history?LocationHtml5Url:LocationHashbangInHtml5Url}else appBase=stripHash(initialUrl),LocationMode=LocationHashbangUrl;var appBaseNoFile=function(url){return url.substr(0,stripHash(url).lastIndexOf("/")+1)}(appBase);
1($location=new LocationMode(appBase,appBaseNoFile,"#"+hashPrefix)).$$parseLinkUrl(initialUrl,initialUrl),$location.$$state=$browser.state();var IGNORE_URI_REGEXP=/^\s*(javascript|mailto):/i;function setBrowserUrlWithFallback(url,replace,state){var oldUrl=$location.url(),oldState=$location.$$state;try{$browser.url(url,replace,state),$location.$$state=$browser.state()}catch(e){throw $location.url(oldUrl),$location.$$state=oldState,e}}$rootElement.on("click",function(event){if(html5Mode.rewriteLinks&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&2!=event.which&&2!=event.button){for(var elm=jqLite(event.target);"a"!==nodeName_(elm[0]);)if(elm[0]===$rootElement[0]||!(elm=elm.parent())[0])return;var absHref=elm.prop("href"),relHref=elm.attr("href")||elm.attr("xlink:href");isObject(absHref)&&"[object SVGAnimatedString]"===absHref.toString()&&(absHref=urlResolve(absHref.animVal).href),IGNORE_URI_REGEXP.test(absHref)||!absHref||elm.attr("target")||event.isDefaultPrevented()||$location.$$parseLinkUrl(absHref,relHref)&&(event.preventDefault(),$location.absUrl()!=$browser.url()&&($rootScope.$apply(),$window.angular["ff-684208-preventDefault"]=!0))}}),trimEmptyHash($location.absUrl())!=trimEmptyHash(initialUrl)&&$browser.url($location.absUrl(),!0);var initializing=!0;return $browser.onUrlChange(function(newUrl,newState){isUndefined(stripBaseUrl(appBaseNoFile,newUrl))?$window.location.href=newUrl:($rootScope.$evalAsync(function(){var defaultPrevented,oldUrl=$location.absUrl(),oldState=$location.$$state;newUrl=trimEmptyHash(newUrl),$location.$$parse(newUrl),$location.$$state=newState,defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,newState,oldState).defaultPrevented,$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState,setBrowserUrlWithFallback(oldUrl,!1,oldState)):(initializing=!1,afterLocationChange(oldUrl,oldState)))}),$rootScope.$$phase||$rootScope.$digest())}),$rootScope.$watch(function(){var oldUrl=trimEmptyHash($browser.url()),newUrl=trimEmptyHash($location.absUrl()),oldState=$browser.state(),currentReplace=$location.$$replace,urlOrStateChanged=oldUrl!==newUrl||$location.$$html5&&$sniffer.history&&oldState!==$location.$$state;(initializing||urlOrStateChanged)&&(initializing=!1,$rootScope.$evalAsync(function(){var newUrl=$location.absUrl(),defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,$location.$$state,oldState).defaultPrevented;$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState):(urlOrStateChanged&&setBrowserUrlWithFallback(newUrl,currentReplace,oldState===$location.$$state?null:$location.$$state),afterLocationChange(oldUrl,oldState)))})),$location.$$replace=!1}),$location;function afterLocationChange(oldUrl,oldState){$rootScope.$broadcast("$locationChangeSuccess",$location.absUrl(),oldUrl,$location.$$state,oldState)}}]}function $LogProvider(){var debug=!0,self=this;this.debugEnabled=function(flag){return isDefined(flag)?(debug=flag,this):debug},this.$get=["$window",function($window){return{log:consoleLog("log"),info:consoleLog("info"),warn:consoleLog("warn"),error:consoleLog("error"),debug:(fn=consoleLog("debug"),function(){debug&&fn.apply(self,arguments)})};var fn;function consoleLog(type){var console=$window.console||{},logFn=console[type]||console.log||noop,hasApply=!1;try{hasApply=!!logFn.apply}catch(e){}return hasApply?function(){var args=[];return forEach(arguments,function(arg){args.push(function(arg){return arg instanceof Error&&(arg.stack?arg=arg.message&&-1===arg.stack.indexOf(arg.message)?"Error: "+arg.message+"\n"+arg.stack:arg.stack:arg.sourceURL&&(arg=arg.message+"\n"+arg.sourceURL+":"+arg.line)),arg}(arg))}),logFn.apply(console,args)}:function(arg1,arg2){logFn(arg1,null==arg2?"":arg2)}}}]}forEach([LocationHashbangInHtml5Url,LocationHashbangUrl,LocationHtml5Url],function(Location){Location.prototype=Object.create(locationPrototype),Location.prototype.state=function(state){if(!arguments.length)return this.$$state;if(Location!==LocationHtml5Url||!this.$$html5)throw $locationMinErr("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=isUndefined(state)?null:state,this}});var $parseMinErr=minErr("$parse");function ensureSafeMemberName(name,fullExpression){if("__defineGetter__"===name||"__defineSetter__"===name||"__lookupGetter__"===name||"__lookupSetter__"===name||"__proto__"===name)throw $parseMinErr("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",fullExpression);return name}function getStringValue(name){return name+""}function ensureSafeObject(obj,fullExpression){if(obj){if(obj.constructor===obj)throw $parseMinErr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj.window===obj)throw $parseMinErr("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj.children&&(obj.nodeName||obj.prop&&obj.attr&&obj.find))throw $parseMinErr("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj===Object)throw $parseMinErr("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",fullExpression)}return obj}var CALL=Function.prototype.call,APPLY=Function.prototype.apply,BIND=Function.prototype.bind;function ensureSafeFunction(obj,fullExpression){if(obj){if(obj.constructor===obj)throw $parseMinErr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj===CALL||obj===APPLY||obj===BIND)throw $parseMinErr("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",fullExpression)}}function ensureSafeAssignContext(obj,fullExpression){if(obj&&(obj===(0).constructor||obj===(!1).c
1onstructor||obj==="".constructor||obj==={}.constructor||obj===[].constructor||obj===Function.constructor))throw $parseMinErr("isecaf","Assigning to a constructor is disallowed! Expression: {0}",fullExpression)}var OPERATORS=createMap();forEach("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(operator){OPERATORS[operator]=!0});var ESCAPE={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Lexer=function(options){this.options=options};Lexer.prototype={constructor:Lexer,lex:function(text){for(this.text=text,this.index=0,this.tokens=[];this.index<this.text.length;){var ch=this.text.charAt(this.index);if('"'===ch||"'"===ch)this.readString(ch);else if(this.isNumber(ch)||"."===ch&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(ch,"(){}[].,;:?"))this.tokens.push({index:this.index,text:ch}),this.index++;else if(this.isWhitespace(ch))this.index++;else{var ch2=ch+this.peek(),ch3=ch2+this.peek(2),op1=OPERATORS[ch],op2=OPERATORS[ch2],op3=OPERATORS[ch3];if(op1||op2||op3){var token=op3?ch3:op2?ch2:ch;this.tokens.push({index:this.index,text:token,operator:!0}),this.index+=token.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(ch,chars){return-1!==chars.indexOf(ch)},peek:function(i){var num=i||1;return this.index+num<this.text.length&&this.text.charAt(this.index+num)},isNumber:function(ch){return"0"<=ch&&ch<="9"&&"string"==typeof ch},isWhitespace:function(ch){return" "===ch||"\r"===ch||"\t"===ch||"\n"===ch||"\v"===ch||" "===ch},isIdentifierStart:function(ch){return this.options.isIdentifierStart?this.options.isIdentifierStart(ch,this.codePointAt(ch)):this.isValidIdentifierStart(ch)},isValidIdentifierStart:function(ch){return"a"<=ch&&ch<="z"||"A"<=ch&&ch<="Z"||"_"===ch||"$"===ch},isIdentifierContinue:function(ch){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(ch,this.codePointAt(ch)):this.isValidIdentifierContinue(ch)},isValidIdentifierContinue:function(ch,cp){return this.isValidIdentifierStart(ch,cp)||this.isNumber(ch)},codePointAt:function(ch){return 1===ch.length?ch.charCodeAt(0):(ch.charCodeAt(0)<<10)+ch.charCodeAt(1)-56613888},peekMultichar:function(){var ch=this.text.charAt(this.index),peek=this.peek();if(!peek)return ch;var cp1=ch.charCodeAt(0),cp2=peek.charCodeAt(0);return cp1>=55296&&cp1<=56319&&cp2>=56320&&cp2<=57343?ch+peek:ch},isExpOperator:function(ch){return"-"===ch||"+"===ch||this.isNumber(ch)},throwError:function(error,start,end){end=end||this.index;var colStr=isDefined(start)?"s "+start+"-"+this.index+" ["+this.text.substring(start,end)+"]":" "+end;throw $parseMinErr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",error,colStr,this.text)},readNumber:function(){for(var number="",start=this.index;this.index<this.text.length;){var ch=lowercase(this.text.charAt(this.index));if("."==ch||this.isNumber(ch))number+=ch;else{var peekCh=this.peek();if("e"==ch&&this.isExpOperator(peekCh))number+=ch;else if(this.isExpOperator(ch)&&peekCh&&this.isNumber(peekCh)&&"e"==number.charAt(number.length-1))number+=ch;else{if(!this.isExpOperator(ch)||peekCh&&this.isNumber(peekCh)||"e"!=number.charAt(number.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:start,text:number,constant:!0,value:Number(number)})},readIdent:function(){var start=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var ch=this.peekMultichar();if(!this.isIdentifierContinue(ch))break;this.index+=ch.length}this.tokens.push({index:start,text:this.text.slice(start,this.index),identifier:!0})},readString:function(quote){var start=this.index;this.index++;for(var string="",rawString=quote,escape=!1;this.index<this.text.length;){var ch=this.text.charAt(this.index);if(rawString+=ch,escape){if("u"===ch){var hex=this.text.substring(this.index+1,this.index+5);hex.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+hex+"]"),this.index+=4,string+=String.fromCharCode(parseInt(hex,16))}else{string+=ESCAPE[ch]||ch}escape=!1}else if("\\"===ch)escape=!0;else{if(ch===quote)return this.index++,void this.tokens.push({index:start,text:rawString,constant:!0,value:string});string+=ch}this.index++}this.throwError("Unterminated quote",start)}};var AST=function(lexer,options){this.lexer=lexer,this.options=options};function ifDefined(v,d){return void 0!==v?v:d}function plusFn(l,r){return void 0===l?r:void 0===r?l:l+r}function isStateless($filter,filterName){return!$filter(filterName).$stateful}function findConstantAndWatchExpressions(ast,$filter){var allConstants,argsToWatch;switch(ast.type){case AST.Program:allConstants=!0,forEach(ast.body,function(expr){findConstantAndWatchExpressions(expr.expression,$filter),allConstants=allConstants&&expr.expression.constant}),ast.constant=allConstants;break;case AST.Literal:ast.constant=!0,ast.toWatch=[];break;case AST.UnaryExpression:findConstantAndWatchExpressions(ast.argument,$filter),ast.constant=ast.argument.constant,ast.toWatch=ast.argument.toWatch;break;case AST.BinaryExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.left.toWatch.concat(ast.right.toWatch);break;case AST.LogicalExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.ConditionalExpression:findConstantAndWatchExpressions(ast.test,$filter),findConstantAndWatchExpressions(ast.alternate,$filter),findConstantAndWatchExpressions(ast.consequent,$filter),ast.constant=ast.test.constant&&ast.alternate.constant&&ast.consequent.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.Identifier:ast.constant=!1,ast.toWatch=[ast];break;
1case AST.MemberExpression:findConstantAndWatchExpressions(ast.object,$filter),ast.computed&&findConstantAndWatchExpressions(ast.property,$filter),ast.constant=ast.object.constant&&(!ast.computed||ast.property.constant),ast.toWatch=[ast];break;case AST.CallExpression:allConstants=!!ast.filter&&isStateless($filter,ast.callee.name),argsToWatch=[],forEach(ast.arguments,function(expr){findConstantAndWatchExpressions(expr,$filter),allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=ast.filter&&isStateless($filter,ast.callee.name)?argsToWatch:[ast];break;case AST.AssignmentExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=[ast];break;case AST.ArrayExpression:allConstants=!0,argsToWatch=[],forEach(ast.elements,function(expr){findConstantAndWatchExpressions(expr,$filter),allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ObjectExpression:allConstants=!0,argsToWatch=[],forEach(ast.properties,function(property){findConstantAndWatchExpressions(property.value,$filter),allConstants=allConstants&&property.value.constant&&!property.computed,property.value.constant||argsToWatch.push.apply(argsToWatch,property.value.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ThisExpression:case AST.LocalsExpression:ast.constant=!1,ast.toWatch=[]}}function getInputs(body){if(1==body.length){var lastExpression=body[0].expression,candidate=lastExpression.toWatch;return 1!==candidate.length?candidate:candidate[0]!==lastExpression?candidate:void 0}}function isAssignable(ast){return ast.type===AST.Identifier||ast.type===AST.MemberExpression}function assignableAST(ast){if(1===ast.body.length&&isAssignable(ast.body[0].expression))return{type:AST.AssignmentExpression,left:ast.body[0].expression,right:{type:AST.NGValueParameter},operator:"="}}function isLiteral(ast){return 0===ast.body.length||1===ast.body.length&&(ast.body[0].expression.type===AST.Literal||ast.body[0].expression.type===AST.ArrayExpression||ast.body[0].expression.type===AST.ObjectExpression)}function isConstant(ast){return ast.constant}function ASTCompiler(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}function ASTInterpreter(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}AST.Program="Program",AST.ExpressionStatement="ExpressionStatement",AST.AssignmentExpression="AssignmentExpression",AST.ConditionalExpression="ConditionalExpression",AST.LogicalExpression="LogicalExpression",AST.BinaryExpression="BinaryExpression",AST.UnaryExpression="UnaryExpression",AST.CallExpression="CallExpression",AST.MemberExpression="MemberExpression",AST.Identifier="Identifier",AST.Literal="Literal",AST.ArrayExpression="ArrayExpression",AST.Property="Property",AST.ObjectExpression="ObjectExpression",AST.ThisExpression="ThisExpression",AST.LocalsExpression="LocalsExpression",AST.NGValueParameter="NGValueParameter",AST.prototype={ast:function(text){this.text=text,this.tokens=this.lexer.lex(text);var value=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),value},program:function(){for(var body=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&body.push(this.expressionStatement()),!this.expect(";"))return{type:AST.Program,body:body}},expressionStatement:function(){return{type:AST.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var left=this.expression();this.expect("|");)left=this.filter(left);return left},expression:function(){return this.assignment()},assignment:function(){var result=this.ternary();return this.expect("=")&&(result={type:AST.AssignmentExpression,left:result,right:this.assignment(),operator:"="}),result},ternary:function(){var alternate,consequent,test=this.logicalOR();return this.expect("?")&&(alternate=this.expression(),this.consume(":"))?(consequent=this.expression(),{t
1ype:AST.ConditionalExpression,test:test,alternate:alternate,consequent:consequent}):test},logicalOR:function(){for(var left=this.logicalAND();this.expect("||");)left={type:AST.LogicalExpression,operator:"||",left:left,right:this.logicalAND()};return left},logicalAND:function(){for(var left=this.equality();this.expect("&&");)left={type:AST.LogicalExpression,operator:"&&",left:left,right:this.equality()};return left},equality:function(){for(var token,left=this.relational();token=this.expect("==","!=","===","!==");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.relational()};return left},relational:function(){for(var token,left=this.additive();token=this.expect("<",">","<=",">=");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.additive()};return left},additive:function(){for(var token,left=this.multiplicative();token=this.expect("+","-");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.multiplicative()};return left},multiplicative:function(){for(var token,left=this.unary();token=this.expect("*","/","%");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.unary()};return left},unary:function(){var token;return(token=this.expect("+","-","!"))?{type:AST.UnaryExpression,operator:token.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var primary,next;for(this.expect("(")?(primary=this.filterChain(),this.consume(")")):this.expect("[")?primary=this.arrayDeclaration():this.expect("{")?primary=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?primary=copy(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?primary={type:AST.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?primary=this.identifier():this.peek().constant?primary=this.constant():this.throwError("not a primary expression",this.peek());next=this.expect("(","[",".");)"("===next.text?(primary={type:AST.CallExpression,callee:primary,arguments:this.parseArguments()},this.consume(")")):"["===next.text?(primary={type:AST.MemberExpression,object:primary,property:this.expression(),computed:!0},this.consume("]")):"."===next.text?primary={type:AST.MemberExpression,object:primary,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return primary},filter:function(baseExpression){for(var args=[baseExpression],result={type:AST.CallExpression,callee:this.identifier(),arguments:args,filter:!0};this.expect(":");)args.push(this.expression());return result},parseArguments:function(){var args=[];if(")"!==this.peekToken().text)do{args.push(this.filterChain())}while(this.expect(","));return args},identifier:function(){var token=this.consume();return token.identifier||this.throwError("is not a valid identifier",token),{type:AST.Identifier,name:token.text}},constant:function(){return{type:AST.Literal,value:this.consume().value}},arrayDeclaration:function(){var elements=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;elements.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:AST.ArrayExpression,elements:elements}},object:function(){var property,properties=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;property={type:AST.Property,kind:"init"},this.peek().constant?(property.key=this.constant(),property.computed=!1,this.consume(":"),property.value=this.expression()):this.peek().identifier?(property.key=this.identifier(),property.computed=!1,this.peek(":")?(this.consume(":"),property.value=this.expression()):property.value=property.key):this.peek("[")?(this.consume("["),property.key=this.expression(),this.consume("]"),property.computed=!0,this.consume(":"),property.value=this.expression()):this.throwError("invalid key",this.peek()),properties.push(property)}while(this.expect(","));return this.consume("}"),{type:AST.ObjectExpression,properties:properties}},throwError:function(msg,token){throw $parseMinErr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",token.text,msg,token.index+1,this.text,this.text.substring(token.index))},consume:function(e1){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);var token=this.expect(e1);return token||this.throwError("is unexpected, expecting ["+e1+"]",this.peek()),token},peekToken:function(){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e1,e2,e3,e4){return this.peekAhead(0,e1,e2,e3,e4)},peekAhead:function(i,e1,e2,e3,e4){if(this.tokens.length>i){var token=this.tokens[i],t=token.text;if(t===e1||t===e2||t===e3||t===e4||!e1&&!e2&&!e3&&!e4)return token}return!1},expect:function(e1,e2,e3,e4){var token=this.peek(e1,e2,e3,e4);
1return!!token&&(this.tokens.shift(),token)},selfReferential:{this:{type:AST.ThisExpression},$locals:{type:AST.LocalsExpression}}},ASTCompiler.prototype={compile:function(expression,expensiveChecks){var self=this,ast=this.astBuilder.ast(expression);this.state={nextId:0,filters:{},expensiveChecks:expensiveChecks,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},findConstantAndWatchExpressions(ast,self.$filter);var assignable,extra="";if(this.stage="assign",assignable=assignableAST(ast)){this.state.computing="assign";var result=this.nextId();this.recurse(assignable,result),this.return_(result),extra="fn.assign="+this.generateFunction("assign","s,v,l")}var toWatch=getInputs(ast.body);self.stage="inputs",forEach(toWatch,function(watch,key){var fnKey="fn"+key;self.state[fnKey]={vars:[],body:[],own:{}},self.state.computing=fnKey;var intoId=self.nextId();self.recurse(watch,intoId),self.return_(intoId),self.state.inputs.push(fnKey),watch.watchId=key}),this.state.computing="fn",this.stage="main",this.recurse(ast);var fnString='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+extra+this.watchFns()+"return fn;",fn=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",fnString)(this.$filter,ensureSafeMemberName,ensureSafeObject,ensureSafeFunction,getStringValue,ensureSafeAssignContext,ifDefined,plusFn,expression);return this.state=this.stage=void 0,fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},USE:"use",STRICT:"strict",watchFns:function(){var result=[],fns=this.state.inputs,self=this;return forEach(fns,function(name){result.push("var "+name+"="+self.generateFunction(name,"s"))}),fns.length&&result.push("fn.inputs=["+fns.join(",")+"];"),result.join("")},generateFunction:function(name,params){return"function("+params+"){"+this.varsPrefix(name)+this.body(name)+"};"},filterPrefix:function(){var parts=[],self=this;return forEach(this.state.filters,function(id,filter){parts.push(id+"=$filter("+self.escape(filter)+")")}),parts.length?"var "+parts.join(",")+";":""},varsPrefix:function(section){return this.state[section].vars.length?"var "+this.state[section].vars.join(",")+";":""},body:function(section){return this.state[section].body.join("")},recurse:function(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck){var left,right,args,expression,computed,self=this;if(recursionFn=recursionFn||noop,!skipWatchIdCheck&&isDefined(ast.watchId))return intoId=intoId||this.nextId(),void this.if_("i",this.lazyAssign(intoId,this.computedMember("i",ast.watchId)),this.lazyRecurse(ast,intoId,nameId,recursionFn,create,!0));switch(ast.type){case AST.Program:forEach(ast.body,function(expression,pos){self.recurse(expression.expression,void 0,void 0,function(expr){right=expr}),pos!==ast.body.length-1?self.current().body.push(right,";"):self.return_(right)});break;case AST.Literal:expression=this.escape(ast.value),this.assign(intoId,expression),recursionFn(expression);break;case AST.UnaryExpression:this.recurse(ast.argument,void 0,void 0,function(expr){right=expr}),expression=ast.operator+"("+this.ifDefined(right,0)+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.BinaryExpression:this.recurse(ast.left,void 0,void 0,function(expr){left=expr}),this.recurse(ast.right,void 0,void 0,function(expr){right=expr}),expression="+"===ast.operator?this.plus(left,right):"-"===ast.operator?this.ifDefined(left,0)+ast.operator+this.ifDefined(right,0):"("+left+")"+ast.operator+"("+right+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.LogicalExpression:intoId=intoId||this.nextId(),self.recurse(ast.left,intoId),self.if_("&&"===ast.operator?intoId:self.not(intoId),self.lazyRecurse(ast.right,intoId)),recursionFn(intoId);break;case AST.ConditionalExpression:intoId=intoId||this.nextId(),self.recurse(ast.test,intoId),self.if_(intoId,self.lazyRecurse(ast.alternate,intoId),self.lazyRecurse(ast.consequent,intoId)),recursionFn(intoId);break;case AST.Identifier:intoId=intoId||this.nextId(),nameId&&(nameId.c
1ontext="inputs"===self.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",ast.name)+"?l:s"),nameId.computed=!1,nameId.name=ast.name),ensureSafeMemberName(ast.name),self.if_("inputs"===self.stage||self.not(self.getHasOwnProperty("l",ast.name)),function(){self.if_("inputs"===self.stage||"s",function(){create&&1!==create&&self.if_(self.not(self.nonComputedMember("s",ast.name)),self.lazyAssign(self.nonComputedMember("s",ast.name),"{}")),self.assign(intoId,self.nonComputedMember("s",ast.name))})},intoId&&self.lazyAssign(intoId,self.nonComputedMember("l",ast.name))),(self.state.expensiveChecks||isPossiblyDangerousMemberName(ast.name))&&self.addEnsureSafeObject(intoId),recursionFn(intoId);break;case AST.MemberExpression:left=nameId&&(nameId.context=this.nextId())||this.nextId(),intoId=intoId||this.nextId(),self.recurse(ast.object,left,void 0,function(){self.if_(self.notNull(left),function(){create&&1!==create&&self.addEnsureSafeAssignContext(left),ast.computed?(right=self.nextId(),self.recurse(ast.property,right),self.getStringValue(right),self.addEnsureSafeMemberName(right),create&&1!==create&&self.if_(self.not(self.computedMember(left,right)),self.lazyAssign(self.computedMember(left,right),"{}")),expression=self.ensureSafeObject(self.computedMember(left,right)),self.assign(intoId,expression),nameId&&(nameId.computed=!0,nameId.name=right)):(ensureSafeMemberName(ast.property.name),create&&1!==create&&self.if_(self.not(self.nonComputedMember(left,ast.property.name)),self.lazyAssign(self.nonComputedMember(left,ast.property.name),"{}")),expression=self.nonComputedMember(left,ast.property.name),(self.state.expensiveChecks||isPossiblyDangerousMemberName(ast.property.name))&&(expression=self.ensureSafeObject(expression)),self.assign(intoId,expression),nameId&&(nameId.computed=!1,nameId.name=ast.property.name))},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)},!!create);break;case AST.CallExpression:intoId=intoId||this.nextId(),ast.filter?(right=self.filter(ast.callee.name),args=[],forEach(ast.arguments,function(expr){var argument=self.nextId();self.recurse(expr,argument),args.push(argument)}),expression=right+"("+args.join(",")+")",self.assign(intoId,expression),recursionFn(intoId)):(right=self.nextId(),left={},args=[],self.recurse(ast.callee,right,left,function(){self.if_(self.notNull(right),function(){self.addEnsureSafeFunction(right),forEach(ast.arguments,function(expr){self.recurse(expr,self.nextId(),void 0,function(argument){args.push(self.ensureSafeObject(argument))})}),left.name?(self.state.expensiveChecks||self.addEnsureSafeObject(left.context),expression=self.member(left.context,left.name,left.computed)+"("+args.join(",")+")"):expression=right+"("+args.join(",")+")",expression=self.ensureSafeObject(expression),self.assign(intoId,expression)},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)}));break;case AST.AssignmentExpression:if(right=this.nextId(),left={},!isAssignable(ast.left))throw $parseMinErr("lval","Trying to assign a value to a non l-value");this.recurse(ast.left,void 0,left,function(){self.if_(self.notNull(left.context),function(){self.recurse(ast.right,right),self.addEnsureSafeObject(self.member(left.context,left.name,left.computed)),self.addEnsureSafeAssignContext(left.context),expression=self.member(left.context,left.name,left.computed)+ast.operator+right,self.assign(intoId,expression),recursionFn(intoId||expression)})},1);break;case AST.ArrayExpression:args=[],forEach(ast.elements,function(expr){self.recurse(expr,self.nextId(),void 0,function(argument){args.push(argument)})}),expression="["+args.join(",")+"]",this.assign(intoId,expression),recursionFn(expression);break;case AST.ObjectExpression:args=[],computed=!1,forEach(ast.properties,function(property){property.computed&&(computed=!0)}),computed?(intoId=intoId||this.nextId(),this.assign(intoId,"{}"),forEach(ast.properties,function(property){property.computed?(left=self.nextId(),self.recurse(property.key,left)):left=property.key.type===AST.Identifier?property.key.name:""+property.key.value,right=self.nextId(),self.recurse(property.value,right),self.assign(self.member(intoId,left,property.computed),right)})):(forEach(ast.properties,function(property){self.recurse(property.value,ast.constant?void 0:self.nextId(),void 0,function(expr){args.push(self.escape(property.key.type===AST.Identifier?property.key.name:""+property.key.value)+":"+expr)})}),expression="{"+args.join(",")+"}",this.assign(intoId,expression)),recursionFn(intoId||expression);break;case AST.ThisExpression:this.assign(intoId,"s"),recursionFn("s");break;case AST.LocalsExpression:this.assign(intoId,"l"),recursionFn("l");break;case AST.NGValueParameter:this.assign(intoId,"v"),recursionFn("v")}},getHasOwnProperty:function(element,property){var key=element+"."+property,own=this.current().own;return own.hasOwnProperty(key)||(own[key]=this.nextId(!1,element+"&&("+this.escape(property)+" in "+element+")")),own[key]},assign:function(id,value){if(id)return this.current().body.push(id,"=",value,";"),id},filter:function(filterName){return this.state.filters.hasOwnProperty(filterName)||(this.state.filters[filterName]=this.nextId(!0)),this.state.filters[filterName]},ifDefined:function(id,defaultValue){return"ifDefined("+id+","+this.escape(defaultValue)+")"},plus:function(left,right){return"plus("+left+","+right+")"},return_:function(id){this.current().body.push("return ",id,";")},if_:function(test,alternate,consequent){if(!0===test)alternate();else{var body=this.current().body;body.push("if(",test,"){"),alternate(),body.push("}"),consequent&&(body.push("else{"),consequent(),body.push("}"))}},not:function(expression){return"!("+expression+")"},notNull:function(expression){return expression+"!=null"},nonComputedMember:function(left,right){return/[$_a-zA-Z][$_a-zA-Z0-9]*/.test(right)?left+"."+right:left+'["'+right.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(left,right){return left+"["+right+"]"},member:function(left,right,computed){return computed?this.computedMember(left,right):this.nonComputedMember(left,right)},addEnsureSafeObject:function(item){this.current().body.push(this.ensureSafeObject(item),";")},addEnsureSafeMemberName:function(item){this.current().body.push(this.ensureSafeMemberName(item),";")},addEnsureSafeFunction:function(item){this.current().body.push(this.ensureSafeFunction(item),";")},addEnsureSafeAssignContext:function(item){this.current().body.push(this.ensureSafeAssignContext(item),";")},ensureSafeObject:function(item){return"ensureSafeObject("+item+",text)"},ensureSafeMemberName:function(item){return"ensureSafeMemberName("+item+",text)"},ensureSafeFunction:function(item){return"ensureSafeFunction("+item+",text)"},getStringValue:function(item){this.assign(item,"getStringValue("+item+")")},ensureSafeAssignContext:function(item){return"ensureSafeAssignContext("+item+",text)"},lazyRecurse:function(ast,intoId,nameId,recursionFn,create,skipWatchI
1dCheck){var self=this;return function(){self.recurse(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck)}},lazyAssign:function(id,value){var self=this;return function(){self.assign(id,value)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)},escape:function(value){if(isString(value))return"'"+value.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(isNumber(value))return value.toString();if(!0===value)return"true";if(!1===value)return"false";if(null===value)return"null";if(void 0===value)return"undefined";throw $parseMinErr("esc","IMPOSSIBLE")},nextId:function(skip,init){var id="v"+this.state.nextId++;return skip||this.current().vars.push(id+(init?"="+init:"")),id},current:function(){return this.state[this.state.computing]}},ASTInterpreter.prototype={compile:function(expression,expensiveChecks){var assignable,assign,self=this,ast=this.astBuilder.ast(expression);this.expression=expression,this.expensiveChecks=expensiveChecks,findConstantAndWatchExpressions(ast,self.$filter),(assignable=assignableAST(ast))&&(assign=this.recurse(assignable));var inputs,toWatch=getInputs(ast.body);toWatch&&(inputs=[],forEach(toWatch,function(watch,key){var input=self.recurse(watch);watch.input=input,inputs.push(input),watch.watchId=key}));var expressions=[];forEach(ast.body,function(expression){expressions.push(self.recurse(expression.expression))});var fn=0===ast.body.length?noop:1===ast.body.length?expressions[0]:function(scope,locals){var lastValue;return forEach(expressions,function(exp){lastValue=exp(scope,locals)}),lastValue};return assign&&(fn.assign=function(scope,value,locals){return assign(scope,locals,value)}),inputs&&(fn.inputs=inputs),fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},recurse:function(ast,context,create){var left,right,args,self=this;if(ast.input)return this.inputs(ast.input,ast.watchId);switch(ast.type){case AST.Literal:return this.value(ast.value,context);case AST.UnaryExpression:return right=this.recurse(ast.argument),this["unary"+ast.operator](right,context);case AST.BinaryExpression:case AST.LogicalExpression:return left=this.recurse(ast.left),right=this.recurse(ast.right),this["binary"+ast.operator](left,right,context);case AST.ConditionalExpression:return this["ternary?:"](this.recurse(ast.test),this.recurse(ast.alternate),this.recurse(ast.consequent),context);case AST.Identifier:return ensureSafeMemberName(ast.name,self.expression),self.identifier(ast.name,self.expensiveChecks||isPossiblyDangerousMemberName(ast.name),context,create,self.expression);case AST.MemberExpression:return left=this.recurse(ast.object,!1,!!create),ast.computed||(ensureSafeMemberName(ast.property.name,self.expression),right=ast.property.name),ast.computed&&(right=this.recurse(ast.property)),ast.computed?this.computedMember(left,right,context,create,self.expression):this.nonComputedMember(left,right,self.expensiveChecks,context,create,self.expression);case AST.CallExpression:return args=[],forEach(ast.arguments,function(expr){args.push(self.recurse(expr))}),ast.filter&&(right=this.$filter(ast.callee.name)),ast.filter||(right=this.recurse(ast.callee,!0)),ast.filter?function(scope,locals,assign,inputs){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));var value=right.apply(void 0,values,inputs);return context?{context:void 0,name:void 0,value:value}:value}:function(scope,locals,assign,inputs){var value,rhs=right(scope,locals,assign,inputs);if(null!=rhs.value){ensureSafeObject(rhs.context,self.expression),ensureSafeFunction(rhs.value,self.expression);for(var values=[],i=0;i<args.length;++i)values.push(ensureSafeObject(args[i](scope,locals,assign,inputs),self.expression));value=ensureSafeObject(rhs.value.apply(rhs.context,values),self.expression)}return context?{value:value}:value};case AST.AssignmentExpression:return left=this.recurse(ast.left,!0,1),right=this.recurse(ast.right),function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs);return ensureSafeObject(lhs.value,self.expression),ensureSafeAssignContext(lhs.context),lhs.context[lhs.name]=rhs,context?{value:rhs}:rhs};case AST.ArrayExpression:return args=[],forEach(ast.elements,function(expr){args.push(self.recurse(expr))}),function(scope,locals,assign,inputs){for(var value=[],i=0;i<args.length;++i)value.push(args[i](scope,locals,assign,inputs));return context?{value:value}:value};case AST.ObjectExpression:return args=[],forEach(ast.properties,function(property){property.computed?args.push({key:self.recurse(property.key),computed:!0,value:self.recurse(property.value)}):args.push({key:property.key.type===AST.Identifier?property.key.name:""+property.key.value,computed:!1,value:self.recurse(property.value)})}),function(scope,locals,assign,inputs){for(var value={},i=0;i<args.length;++i)args[i].computed?value[args[i].key(scope,locals,assign,inputs)]=args[i].value(scope,locals,assign,inputs):value[args[i].key]=args[i].value(scope,locals,assign,inputs);return context?{value:value}:value};case AST.ThisExpression:return function(scope){return context?{value:scope}:scope};case AST.LocalsExpression:return function(scope,locals){return context?{value:locals}:locals};case AST.NGValueParameter:return function(scope,locals,assign){return context?{value:assign}:assign}}},"unary+":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?+arg:0,context?{value:arg}:arg}},"unary-":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?-arg:0,context?{value:arg}:arg}},"unary!":function(argument,context){return function(scope,locals,assign,inputs){var arg=!argument(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary+":function(left,right,context){return function(scope,locals,assign,inputs){var arg=plusFn(left(scope,locals,assign,inputs),right(scope,locals,assign,inputs));return context?{value:arg}:arg}},"binary-":function(left,right,context){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs),arg=(isDefined(lhs)?lhs:0)-(isDefined(rhs)?rhs:0);return context?{value:arg}:arg}},"binary*":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)*right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary/":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)/right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary%":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)%right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary===":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)===right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary&&":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)&&right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary||":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)||right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"ternary?:":function(test,alternate,consequent,context){return function(scope,locals,assign,inputs){var arg=test(scope,locals,assign,inputs)?alternate(scope,locals,assign,inputs):consequent(scope,locals,assign,inputs);return context?{value:arg}:arg}},value:function(value,context){return function(){return context?{context:void 0,name:void 0,value:value}:value}},identifier:function(name,expensiveChecks,context,create,expression){return function(scope,locals,assign,inputs){var base=locals&&name in locals?locals:scope;create&&1!==create&&base&&!base[name]&&(base[name]={});var value=base?base[name]:void 0;return expensiveChecks&&ensureSafeObject(value,expression),context?{context:base,name:name,value:value}:value}},computedMember:function(left,right,context,create,expression){return function(scope,locals,assign,inputs){var rhs,value,lhs=left(scope,locals,assign,inputs);return null!=lhs&&(ensureSafeMemberName(rhs=getStringValue(rhs=right(scope,locals,assign,inputs)),expression),create&&1!==create&&(ensureSafeAssignContext(lhs),lhs&&!lhs[rhs]&&(lhs[rhs]={})),ensureSafeObject(value=lhs[rhs],expression)),context?{context:lhs,name:rhs,value:value}:value}},nonComputedMember:function(left,right,expensiveChecks,context,create,expression){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs);create&&1!==create&&(ensureSafeAssignContext(lhs),lhs&&!lhs[right]&&(lhs[right]={}));var value=null!=lhs?lhs[right]:void 0;return(expensiveChecks||isPossiblyDangerousMemberName(right))&&ensureSafeObject(value,expression),context?{context:lhs,name:right,value:value}:value}},inputs:function(input,watchId){return function(scope,value,locals,inputs){return input
1s?inputs[watchId]:input(scope,value,locals)}}};var Parser=function(lexer,$filter,options){this.lexer=lexer,this.$filter=$filter,this.options=options,this.ast=new AST(lexer,options),this.astCompiler=options.csp?new ASTInterpreter(this.ast,$filter):new ASTCompiler(this.ast,$filter)};function isPossiblyDangerousMemberName(name){return"constructor"==name}Parser.prototype={constructor:Parser,parse:function(text){return this.astCompiler.compile(text,this.options.expensiveChecks)}};var objectValueOf=Object.prototype.valueOf;function getValueOf(value){return isFunction(value.valueOf)?value.valueOf():objectValueOf.call(value)}function $ParseProvider(){var identStart,identContinue,cacheDefault=createMap(),cacheExpensive=createMap(),literals={true:!0,false:!1,null:null,undefined:void 0};this.addLiteral=function(literalName,literalValue){literals[literalName]=literalValue},this.setIdentifierFns=function(identifierStart,identifierContinue){return identStart=identifierStart,identContinue=identifierContinue,this},this.$get=["$filter",function($filter){var noUnsafeEval=csp().noUnsafeEval,$parseOptions={csp:noUnsafeEval,expensiveChecks:!1,literals:copy(literals),isIdentifierStart:isFunction(identStart)&&identStart,isIdentifierContinue:isFunction(identContinue)&&identContinue},$parseOptionsExpensive={csp:noUnsafeEval,expensiveChecks:!0,literals:copy(literals),isIdentifierStart:isFunction(identStart)&&identStart,isIdentifierContinue:isFunction(identContinue)&&identContinue},runningChecksEnabled=!1;return $parse.$$runningExpensiveChecks=function(){return runningChecksEnabled},$parse;function $parse(exp,interceptorFn,expensiveChecks){var parsedExpression,oneTime,cacheKey;switch(expensiveChecks=expensiveChecks||runningChecksEnabled,typeof exp){case"string":cacheKey=exp=exp.trim();var cache=expensiveChecks?cacheExpensive:cacheDefault;if(!(parsedExpression=cache[cacheKey])){":"===exp.charAt(0)&&":"===exp.charAt(1)&&(oneTime=!0,exp=exp.substring(2));var parseOptions=expensiveChecks?$parseOptionsExpensive:$parseOptions,lexer=new Lexer(parseOptions);(parsedExpression=new Parser(lexer,$filter,parseOptions).parse(exp)).constant?parsedExpression.$$watchDelegate=constantWatchDelegate:oneTime?parsedExpression.$$watchDelegate=parsedExpression.literal?oneTimeLiteralWatchDelegate:oneTimeWatchDelegate:parsedExpression.inputs&&(parsedExpression.$$watchDelegate=inputsWatchDelegate),expensiveChecks&&(parsedExpression=function expensiveChecksInterceptor(fn){if(!fn)return fn;expensiveCheckFn.$$watchDelegate=fn.$$watchDelegate;expensiveCheckFn.assign=expensiveChecksInterceptor(fn.assign);expensiveCheckFn.constant=fn.constant;expensiveCheckFn.literal=fn.literal;for(var i=0;fn.inputs&&i<fn.inputs.length;++i)fn.inputs[i]=expensiveChecksInterceptor(fn.inputs[i]);expensiveCheckFn.inputs=fn.inputs;return expensiveCheckFn;function expensiveCheckFn(scope,locals,assign,inputs){var expensiveCheckOldValue=runningChecksEnabled;runningChecksEnabled=!0;try{return fn(scope,locals,assign,inputs)}finally{runningChecksEnabled=expensiveCheckOldValue}}}(parsedExpression)),cache[cacheKey]=parsedExpression}return addInterceptor(parsedExpression,interceptorFn);case"function":return addInterceptor(exp,interceptorFn);default:return addInterceptor(noop,interceptorFn)}}function expressionInputDirtyCheck(newValue,oldValueOfValue){return null==newValue||null==oldValueOfValue?newValue===oldValueOfValue:("object"!=typeof newValue||"object"!=typeof(newValue=getValueOf(newValue)))&&(newValue===oldValueOfValue||newValue!=newValue&&oldValueOfValue!=oldValueOfValue)}function inputsWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){var lastResult,inputExpressions=parsedExpression.inputs;if(1===inputExpressions.length){var oldInputValueOf=expressionInputDirtyCheck;return inputExpressions=inputExpressions[0],scope.$watch(function(scope){var newInputValue=inputExpressions(scope);return expressionInputDirtyCheck(newInputValue,oldInputValueOf)||(lastResult=parsedExpression(scope,void 0,void 0,[newInputValue]),oldInputValueOf=newInputValue&&getValueOf(newInputValue)),lastResult},listener,objectEquality,prettyPrintExpression)}for(var oldInputValueOfValues=[],oldInputValues=[],i=0,ii=inputExpressions.length;i<ii;i++)oldInputValueOfValues[i]=expressionInputDirtyCheck,oldInputValues[i]=null;return scope.$watch(function(scope){for(var changed=!1,i=0,ii=inputExpressions.length;i<ii;i++){var newInputValue=inputExpressions[i](scope);(changed||(changed=!expressionInputDirtyCheck(newInputValue,oldInputValueOfValues[i])))&&
1(oldInputValues[i]=newInputValue,oldInputValueOfValues[i]=newInputValue&&getValueOf(newInputValue))}return changed&&(lastResult=parsedExpression(scope,void 0,void 0,oldInputValues)),lastResult},listener,objectEquality,prettyPrintExpression)}function oneTimeWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch,lastValue;return unwatch=scope.$watch(function(scope){return parsedExpression(scope)},function(value,old,scope){lastValue=value,isFunction(listener)&&listener.apply(this,arguments),isDefined(value)&&scope.$$postDigest(function(){isDefined(lastValue)&&unwatch()})},objectEquality)}function oneTimeLiteralWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch,lastValue;return unwatch=scope.$watch(function(scope){return parsedExpression(scope)},function(value,old,scope){lastValue=value,isFunction(listener)&&listener.call(this,value,old,scope),isAllDefined(value)&&scope.$$postDigest(function(){isAllDefined(lastValue)&&unwatch()})},objectEquality);function isAllDefined(value){var allDefined=!0;return forEach(value,function(val){isDefined(val)||(allDefined=!1)}),allDefined}}function constantWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch;return unwatch=scope.$watch(function(scope){return unwatch(),parsedExpression(scope)},listener,objectEquality)}function addInterceptor(parsedExpression,interceptorFn){if(!interceptorFn)return parsedExpression;var watchDelegate=parsedExpression.$$watchDelegate,useInputs=!1,fn=watchDelegate!==oneTimeLiteralWatchDelegate&&watchDelegate!==oneTimeWatchDelegate?function(scope,locals,assign,inputs){var value=useInputs&&inputs?inputs[0]:parsedExpression(scope,locals,assign,inputs);return interceptorFn(value,scope,locals)}:function(scope,locals,assign,inputs){var value=parsedExpression(scope,locals,assign,inputs),result=interceptorFn(value,scope,locals);return isDefined(value)?result:value};return parsedExpression.$$watchDelegate&&parsedExpression.$$watchDelegate!==inputsWatchDelegate?fn.$$watchDelegate=parsedExpression.$$watchDelegate:interceptorFn.$stateful||(fn.$$watchDelegate=inputsWatchDelegate,useInputs=!parsedExpression.inputs,fn.inputs=parsedExpression.inputs?parsedExpression.inputs:[parsedExpression]),fn}}]}function $QProvider(){this.$get=["$rootScope","$exceptionHandler",function($rootScope,$exceptionHandler){return qFactory(function(callback){$rootScope.$evalAsync(callback)},$exceptionHandler)}]}function $$QProvider(){this.$get=["$browser","$exceptionHandler",function($browser,$exceptionHandler){return qFactory(function(callback){$browser.defer(callback)},$exceptionHandler)}]}function qFactory(nextTick,exceptionHandler){var $qMinErr=minErr("$q",TypeError),defer=function(){var d=new Deferred;return d.resolve=simpleBind(d,d.resolve),d.reject=simpleBind(d,d.reject),d.notify=simpleBind(d,d.notify),d};function Promise(){this.$$state={status:0}}function simpleBind(context,fn){return function(value){fn.call(context,value)}}function scheduleProcessQueue(state){!state.processScheduled&&state.pending&&(state.processScheduled=!0,nextTick(function(){!function(state){var fn,deferred,pending;pending=state.pending,state.processScheduled=!1,state.pending=void 0;for(var i=0,ii=pending.length;i<ii;++i){deferred=pending[i][0],fn=pending[i][state.status];try{isFunction(fn)?deferred.resolve(fn(state.value)):1===state.status?deferred.resolve(state.value):deferred.reject(state.value)}catch(e){deferred.reject(e),exceptionHandler(e)}}}(state)}))}function Deferred(){this.promise=new Promise}extend(Promise.prototype,{then:function(onFulfilled,onRejected,progressBack){if(isUndefined(onFulfilled)&&isUndefined(onRejected)&&isUndefined(progressBack))return this;var result=new Deferred;
1return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([result,onFulfilled,onRejected,progressBack]),this.$$state.status>0&&scheduleProcessQueue(this.$$state),result.promise},catch:function(callback){return this.then(null,callback)},finally:function(callback,progressBack){return this.then(function(value){return handleCallback(value,!0,callback)},function(error){return handleCallback(error,!1,callback)},progressBack)}}),extend(Deferred.prototype,{resolve:function(val){this.promise.$$state.status||(val===this.promise?this.$$reject($qMinErr("qcycle","Expected promise to be resolved with value other than itself '{0}'",val)):this.$$resolve(val))},$$resolve:function(val){var then,that=this,done=!1;try{(isObject(val)||isFunction(val))&&(then=val&&val.then),isFunction(then)?(this.promise.$$state.status=-1,then.call(val,function(val){if(done)return;done=!0,that.$$resolve(val)},rejectPromise,simpleBind(this,this.notify))):(this.promise.$$state.value=val,this.promise.$$state.status=1,scheduleProcessQueue(this.promise.$$state))}catch(e){rejectPromise(e),exceptionHandler(e)}function rejectPromise(val){done||(done=!0,that.$$reject(val))}},reject:function(reason){this.promise.$$state.status||this.$$reject(reason)},$$reject:function(reason){this.promise.$$state.value=reason,this.promise.$$state.status=2,scheduleProcessQueue(this.promise.$$state)},notify:function(progress){var callbacks=this.promise.$$state.pending;this.promise.$$state.status<=0&&callbacks&&callbacks.length&&nextTick(function(){for(var callback,result,i=0,ii=callbacks.length;i<ii;i++){result=callbacks[i][0],callback=callbacks[i][3];try{result.notify(isFunction(callback)?callback(progress):progress)}catch(e){exceptionHandler(e)}}})}});var makePromise=function(value,resolved){var result=new Deferred;return resolved?result.resolve(value):result.reject(value),result.promise},handleCallback=function(value,isResolved,callback){var callbackOutput=null;try{isFunction(callback)&&(callbackOutput=callback())}catch(e){return makePromise(e,!1)}return isPromiseLike(callbackOutput)?callbackOutput.then(function(){return makePromise(value,isResolved)},function(error){return makePromise(error,!1)}):makePromise(value,isResolved)},when=function(value,callback,errback,progressBack){var result=new Deferred;return result.resolve(value),result.promise.then(callback,errback,progressBack)},resolve=when;var $Q=function(resolver){if(!isFunction(resolver))throw $qMinErr("norslvr","Expected resolverFn, got '{0}'",resolver);var deferred=new Deferred;return resolver(function(value){deferred.resolve(value)},function(reason){deferred.reject(reason)}),deferred.promise};return $Q.prototype=Promise.prototype,$Q.defer=defer,$Q.reject=function(reason){var result=new Deferred;return result.reject(reason),result.promise},$Q.when=when,$Q.resolve=resolve,$Q.all=function(promises){var deferred=new Deferred,counter=0,results=isArray(promises)?[]:{};return forEach(promises,function(promise,key){counter++,when(promise).then(function(value){results.hasOwnProperty(key)||(results[key]=value,--counter||deferred.resolve(results))},function(reason){results.hasOwnProperty(key)||deferred.reject(reason)})}),0===counter&&deferred.resolve(results),deferred.promise},$Q.race=function(promises){var deferred=defer();return forEach(promises,function(promise){when(promise).then(deferred.resolve,deferred.reject)}),deferred.promise},$Q}function $$RAFProvider(){this.$get=["$window","$timeout",function($window,$timeout){var requestAnimationFrame=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame,cancelAnimationFrame=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame,rafSupported=!!requestAnimationFrame,raf=rafSupported?function(fn){var id=requestAnimationFrame(fn);return function(){cancelAnimationFrame(id)}}:function(fn){var timer=$timeout(fn,16.66,!1);return function(){$timeout.cancel(timer)}};return raf.supported=rafSupported,raf}]}function $RootScopeProvider(){var TTL=10,$rootScopeMinErr=minErr("$rootScope"),lastDirtyWatch=null,applyAsyncId=null;this.digestTtl=function(value){return arguments.length&&(TTL=value),TTL},this.$get=["$exceptionHandler","$parse","$browser",function($exceptionHandler,$parse,$browser){function destroyChildScope($event){$event.currentScope.$$destroyed=!0}function Scope(){this.$id=nextUid(),this.$$phase=this.$parent=this.$$wat
1chers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}Scope.prototype={constructor:Scope,$new:function(isolate,parent){var child;return parent=parent||this,isolate?(child=new Scope).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(parent){function ChildScope(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=nextUid(),this.$$ChildScope=null}return ChildScope.prototype=parent,ChildScope}(this)),child=new this.$$ChildScope),child.$parent=parent,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child,(isolate||parent!=this)&&child.$on("$destroy",destroyChildScope),child},$watch:function(watchExp,listener,objectEquality,prettyPrintExpression){var get=$parse(watchExp);if(get.$$watchDelegate)return get.$$watchDelegate(this,listener,objectEquality,get,watchExp);var scope=this,array=scope.$$watchers,watcher={fn:listener,last:initWatchVal,get:get,exp:prettyPrintExpression||watchExp,eq:!!objectEquality};return lastDirtyWatch=null,isFunction(listener)||(watcher.fn=noop),array||(array=scope.$$watchers=[]),array.unshift(watcher),incrementWatchersCount(this,1),function(){arrayRemove(array,watcher)>=0&&incrementWatchersCount(scope,-1),lastDirtyWatch=null}},$watchGroup:function(watchExpressions,listener){var oldValues=new Array(watchExpressions.length),newValues=new Array(watchExpressions.length),deregisterFns=[],self=this,changeReactionScheduled=!1,firstRun=!0;if(!watchExpressions.length){var shouldCall=!0;return self.$evalAsync(function(){shouldCall&&listener(newValues,newValues,self)}),function(){shouldCall=!1}}if(1===watchExpressions.length)return this.$watch(watchExpressions[0],function(value,oldValue,scope){newValues[0]=value,oldValues[0]=oldValue,listener(newValues,value===oldValue?newValues:oldValues,scope)});function watchGroupAction(){changeReactionScheduled=!1,firstRun?(firstRun=!1,listener(newValues,newValues,self)):listener(newValues,oldValues,self)}return forEach(watchExpressions,function(expr,i){var unwatchFn=self.$watch(expr,function(value,oldValue){newValues[i]=value,oldValues[i]=oldValue,changeReactionScheduled||(changeReactionScheduled=!0,self.$evalAsync(watchGroupAction))});deregisterFns.push(unwatchFn)}),function(){for(;deregisterFns.length;)deregisterFns.shift()()}},$watchCollection:function(obj,listener){$watchCollectionInterceptor.$stateful=!0;var newValue,oldValue,veryOldValue,self=this,trackVeryOldValue=listener.length>1,changeDetected=0,changeDetector=$parse(obj,$watchCollectionInterceptor),internalArray=[],internalObject={},initRun=!0,oldLength=0;function $watchCollectionInterceptor(_value){var newLength,key,newItem,oldItem;if(!isUndefined(newValue=_value)){if(isObject(newValue))if(isArrayLike(newValue)){oldValue!==internalArray&&(oldLength=(oldValue=internalArray).length=0,changeDetected++),newLength=newValue.length,oldLength!==newLength&&(changeDetected++,oldValue.length=oldLength=newLength);for(var i=0;i<newLength;i++)oldItem=oldValue[i],newItem=newValue[i],oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[i]=newItem)}else{for(key in oldValue!==internalObject&&(oldValue=internalObject={},oldLength=0,changeDetected++),newLength=0,newValue)hasOwnProperty.call(newValue,key)&&(newLength++,newItem=newValue[key],oldItem=oldValue[key],key in oldValue?oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[key]=newItem):(oldLength++,oldValue[key]=newItem,changeDetected++));if(oldLength>newLength)for(key in changeDetected++,oldValue)hasOwnProperty.call(newValue,key)||(oldLength--,delete oldValue[key])}else oldValue!==newValue&&(oldValue=newValue,changeDetected++);return changeDetected}}return this.$watch(changeDetector,function(){if(initRun?(initRun=!1,listener(newValue,newValue,
1self)):listener(newValue,veryOldValue,self),trackVeryOldValue)if(isObject(newValue))if(isArrayLike(newValue)){veryOldValue=new Array(newValue.length);for(var i=0;i<newValue.length;i++)veryOldValue[i]=newValue[i]}else for(var key in veryOldValue={},newValue)hasOwnProperty.call(newValue,key)&&(veryOldValue[key]=newValue[key]);else veryOldValue=newValue})},$digest:function(){var watch,value,last,watchers,length,dirty,next,current,logIdx,asyncTask,ttl=TTL,watchLog=[];beginPhase("$digest"),$browser.$$checkUrlChange(),this===$rootScope&&null!==applyAsyncId&&($browser.defer.cancel(applyAsyncId),flushApplyAsync()),lastDirtyWatch=null;do{dirty=!1,current=this;for(var asyncQueuePosition=0;asyncQueuePosition<asyncQueue.length;asyncQueuePosition++){try{(asyncTask=asyncQueue[asyncQueuePosition]).scope.$eval(asyncTask.expression,asyncTask.locals)}catch(e){$exceptionHandler(e)}lastDirtyWatch=null}asyncQueue.length=0;traverseScopesLoop:do{if(watchers=current.$$watchers)for(length=watchers.length;length--;)try{if(watch=watchers[length])if((value=(0,watch.get)(current))===(last=watch.last)||(watch.eq?equals(value,last):"number"==typeof value&&"number"==typeof last&&isNaN(value)&&isNaN(last))){if(watch===lastDirtyWatch){dirty=!1;break traverseScopesLoop}}else dirty=!0,lastDirtyWatch=watch,watch.last=watch.eq?copy(value,null):value,(0,watch.fn)(value,last===initWatchVal?value:last,current),ttl<5&&(watchLog[logIdx=4-ttl]||(watchLog[logIdx]=[]),watchLog[logIdx].push({msg:isFunction(watch.exp)?"fn: "+(watch.exp.name||watch.exp.toString()):watch.exp,newVal:value,oldVal:last}))}catch(e){$exceptionHandler(e)}if(!(next=current.$$watchersCount&&current.$$childHead||current!==this&&current.$$nextSibling))for(;current!==this&&!(next=current.$$nextSibling);)current=current.$parent}while(current=next);if((dirty||asyncQueue.length)&&!ttl--)throw clearPhase(),$rootScopeMinErr("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",TTL,watchLog)}while(dirty||asyncQueue.length);for(clearPhase();postDigestQueuePosition<postDigestQueue.length;)try{postDigestQueue[postDigestQueuePosition++]()}catch(e){$exceptionHandler(e)}postDigestQueue.length=postDigestQueuePosition=0},$destroy:function(){if(!this.$$destroyed){var parent=this.$parent;for(var eventName in this.$broadcast("$destroy"),this.$$destroyed=!0,this===$rootScope&&$browser.$$applicationDestroyed(),incrementWatchersCount(this,-this.$$watchersCount),this.$$listenerCount)decrementListenerCount(this,this.$$listenerCount[eventName],eventName);parent&&parent.$$childHead==this&&(parent.$$childHead=this.$$nextSibling),parent&&parent.$$childTail==this&&(parent.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=noop,this.$on=this.$watch=this.$watchGroup=function(){return noop},this.$$listeners={},this.$$nextSibling=null,function cleanUpScope($scope){9===msie&&($scope.$$childHead&&cleanUpScope($scope.$$childHead),$scope.$$nextSibling&&cleanUpScope($scope.$$nextSibling)),$scope.$parent=$scope.$$nextSibling=$scope.$$prevSibling=$scope.$$childHead=$scope.$$childTail=$scope.$root=$scope.$$watchers=null}(this)}},$eval:function(expr,locals){return $parse(expr)(this,locals)},$evalAsync:function(expr,locals){$rootScope.$$phase||asyncQueue.length||$browser.defer(function(){asyncQueue.length&&$rootScope.$digest()}),asyncQueue.push({scope:this,expression:$parse(expr),locals:locals})},$$postDigest:function(fn){postDigestQueue.push(fn)},$apply:function(expr){try{beginPhase("$apply");try{return this.$eval(expr)}finally{clearPhase()}}catch(e){$exceptionHandler(e)}finally{try{$rootScope.$digest()}catch(e){throw $exceptionHandler(e),e}}},$applyAsync:function(expr){var scope=this;expr&&applyAsyncQueue.push(function(){scope.$eval(expr)}),expr=$parse(expr),null===applyAsyncId&&(applyAsyncId=$browser.defer(function(){$rootScope.$apply(flushApplyAsync)}))},$on:function(name,listener){var namedListeners=this.$$listeners[name];namedListeners||(this.$$listeners[name]=namedListeners=[]),namedListeners.push(listener);var current=this;do{current.$$listenerCount[name]||(current.$$listenerCount[name]=0),current.$$listenerCount[name]++}while(current=current.$parent);var self=this;return function(){var indexOfListener=namedListeners.indexOf(listener);-1!==indexOfListener&&(namedListeners[indexOfListener]=null,decrementListenerCount(self,1,name))}},$emit:function(name,args){var namedListeners,i,length,empty=[],scope=this,stopPropagation=!1,event={name:name,targetScope:scope,stopPropagation:function(){stopPropagation=!0},preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1}
1,listenerArgs=concat([event],arguments,1);do{for(namedListeners=scope.$$listeners[name]||empty,event.currentScope=scope,i=0,length=namedListeners.length;i<length;i++)if(namedListeners[i])try{namedListeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else namedListeners.splice(i,1),i--,length--;if(stopPropagation)return event.currentScope=null,event;scope=scope.$parent}while(scope);return event.currentScope=null,event},$broadcast:function(name,args){var current=this,next=this,event={name:name,targetScope:this,preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[name])return event;for(var listeners,i,length,listenerArgs=concat([event],arguments,1);current=next;){for(event.currentScope=current,i=0,length=(listeners=current.$$listeners[name]||[]).length;i<length;i++)if(listeners[i])try{listeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else listeners.splice(i,1),i--,length--;if(!(next=current.$$listenerCount[name]&&current.$$childHead||current!==this&&current.$$nextSibling))for(;current!==this&&!(next=current.$$nextSibling);)current=current.$parent}return event.currentScope=null,event}};var $rootScope=new Scope,asyncQueue=$rootScope.$$asyncQueue=[],postDigestQueue=$rootScope.$$postDigestQueue=[],applyAsyncQueue=$rootScope.$$applyAsyncQueue=[],postDigestQueuePosition=0;return $rootScope;function beginPhase(phase){if($rootScope.$$phase)throw $rootScopeMinErr("inprog","{0} already in progress",$rootScope.$$phase);$rootScope.$$phase=phase}function clearPhase(){$rootScope.$$phase=null}function incrementWatchersCount(current,count){do{current.$$watchersCount+=count}while(current=current.$parent)}function decrementListenerCount(current,count,name){do{current.$$listenerCount[name]-=count,0===current.$$listenerCount[name]&&delete current.$$listenerCount[name]}while(current=current.$parent)}function initWatchVal(){}function flushApplyAsync(){for(;applyAsyncQueue.length;)try{applyAsyncQueue.shift()()}catch(e){$exceptionHandler(e)}applyAsyncId=null}}]}function $$SanitizeUriProvider(){var aHrefSanitizationWhitelist=/^\s*(https?|ftp|mailto|tel|file):/,imgSrcSanitizationWhitelist=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?(aHrefSanitizationWhitelist=regexp,this):aHrefSanitizationWhitelist},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?(imgSrcSanitizationWhitelist=regexp,this):imgSrcSanitizationWhitelist},this.$get=function(){return function(uri,isImage){var normalizedVal,regex=isImage?imgSrcSanitizationWhitelist:aHrefSanitizationWhitelist;return""===(normalizedVal=urlResolve(uri).href)||normalizedVal.match(regex)?uri:"unsafe:"+normalizedVal}}}var $sceMinErr=minErr("$sce"),SCE_CONTEXTS={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};function adjustMatchers(matchers){var adjustedMatchers=[];return isDefined(matchers)&&forEach(matchers,function(matcher){adjustedMatchers.push(function(matcher){if("self"===matcher)return matcher;if(isString(matcher)){if(matcher.indexOf("***")>-1)throw $sceMinErr("iwcard","Illegal sequence *** in string matcher.  String: {0}",matcher);return matcher=escapeForRegexp(matcher).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+matcher+"$")}if(isRegExp(matcher))return new RegExp("^"+matcher.source+"$");throw $sceMinErr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(matcher))}),adjustedMatchers}function $SceDelegateProvider(){this.SCE_CONTEXTS=SCE_CONTEXTS;var resourceUrlWhitelist=["self"],resourceUrlBlacklist=[];this.resourceUrlWhitelist=function(value){return arguments.length&&(resourceUrlWhitelist=adjustMatchers(value)),resourceUrlWhitelist},this.resourceUrlBlacklist=function(value){return arguments.length&&(resourceUrlBlacklist=adjustMatchers(value)),resourceUrlBlacklist},this.$get=["$injector",function($injector){var htmlSanitizer=function(html){throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")};function matchUrl(matcher,parsedUrl){return"self"===matcher?urlIsSameOrigin(p
1arsedUrl):!!matcher.exec(parsedUrl.href)}function generateHolderType(Base){var holderType=function(trustedValue){this.$$unwrapTrustedValue=function(){return trustedValue}};return Base&&(holderType.prototype=new Base),holderType.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},holderType.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},holderType}$injector.has("$sanitize")&&(htmlSanitizer=$injector.get("$sanitize"));var trustedValueHolderBase=generateHolderType(),byType={};return byType[SCE_CONTEXTS.HTML]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.CSS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.URL]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.JS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.RESOURCE_URL]=generateHolderType(byType[SCE_CONTEXTS.URL]),{trustAs:function(type,trustedValue){var Constructor=byType.hasOwnProperty(type)?byType[type]:null;if(!Constructor)throw $sceMinErr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",type,trustedValue);if(null===trustedValue||isUndefined(trustedValue)||""===trustedValue)return trustedValue;if("string"!=typeof trustedValue)throw $sceMinErr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",type);return new Constructor(trustedValue)},getTrusted:function(type,maybeTrusted){if(null===maybeTrusted||isUndefined(maybeTrusted)||""===maybeTrusted)return maybeTrusted;var constructor=byType.hasOwnProperty(type)?byType[type]:null;if(constructor&&maybeTrusted instanceof constructor)return maybeTrusted.$$unwrapTrustedValue();if(type===SCE_CONTEXTS.RESOURCE_URL){if(function(url){var i,n,parsedUrl=urlResolve(url.toString()),allowed=!1;for(i=0,n=resourceUrlWhitelist.length;i<n;i++)if(matchUrl(resourceUrlWhitelist[i],parsedUrl)){allowed=!0;break}if(allowed)for(i=0,n=resourceUrlBlacklist.length;i<n;i++)if(matchUrl(resourceUrlBlacklist[i],parsedUrl)){allowed=!1;break}return allowed}(maybeTrusted))return maybeTrusted;throw $sceMinErr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",maybeTrusted.toString())}if(type===SCE_CONTEXTS.HTML)return htmlSanitizer(maybeTrusted);throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")},valueOf:function(maybeTrusted){return maybeTrusted instanceof trustedValueHolderBase?maybeTrusted.$$unwrapTrustedValue():maybeTrusted}}}]}function $SceProvider(){var enabled=!0;this.enabled=function(value){return arguments.length&&(enabled=!!value),enabled},this.$get=["$parse","$sceDelegate",function($parse,$sceDelegate){if(enabled&&msie<8)throw $sceMinErr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var sce=shallowCopy(SCE_CONTEXTS);sce.isEnabled=function(){return enabled},sce.trustAs=$sceDelegate.trustAs,sce.getTrusted=$sceDelegate.getTrusted,sce.valueOf=$sceDelegate.valueOf,enabled||(sce.trustAs=sce.getTrusted=function(type,value){return value},sce.valueOf=identity),sce.parseAs=function(type,expr){var parsed=$parse(expr);return parsed.literal&&parsed.constant?parsed:$parse(expr,function(value){return sce.getTrusted(type,value)})};var parse=sce.parseAs,getTrusted=sce.getTrusted,trustAs=sce.trustAs;return forEach(SCE_CONTEXTS,function(enumValue,name){var lName=lowercase(name);sce[camelCase("parse_as_"+lName)]=function(expr){return parse(enumValue,expr)},sce[camelCase("get_trusted_"+lName)]=function(value){return getTrusted(enumValue,value)},sce[camelCase("trust_as_"+lName)]=function(value){return trustAs(enumValue,value)}}),sce}]}function $SnifferProvider(){this.$get=["$window","$document",function($window,$document){var vendorPrefix,match,eventSupport={},hasHistoryPushState=!($window.chrome&&$window.chrome.app&&$window.chrome.app.runtime)&&$window.history&&$window.history.pushState,android=toInt((/android (\d+)/.exec(lowercase(($window.navigator||{}).userAgent))||[])[1]),boxee=/Boxee/i.test(($window.navigator||{}).userAgent),document=$document[0]||{},vendorRegex=/^(Moz|webkit|ms)(?=[A-Z])/,bodyStyle=document.body&&document.body.style,transitions=!1,animations=!1;if(bodyStyle){for(var prop in bodyStyle)if(match=vendorRegex.exec(prop)){vendorPrefix=(vendorPrefix=match[0])[0].toUpperCase()+vendorPrefix.substr(1);break}vendorPrefix||(vendorPrefix="WebkitOpacity"in bodyStyle&&"webkit"),transitions=!!("transition"in bodyStyle||vendorPrefix+"Transition"in bodyStyle),animations=!!("animation"in bodyStyle||vendorPrefix+"Animation"in bodyStyle),!android||transitions&&animations||(transitions=isString(bodyStyle.webkitTransition),animations=isString(bodyStyle.webkitAnimation))}return{history:!(!hasHistoryPushState||android<4||boxee),hasEvent:function(event){if("input"===event&&msie<=11)return!1;if(isUndefined(eventSupport[event])){var divElm=document.createElement("div");eventSupport[event]="on"+event in divElm}return eventSupport[event]},csp:csp(),vendorPrefix:vendorPrefix,transitions:transitions,animations:animations,android:android}}]}var $templateRequestMinErr=minErr("$compile");function $TemplateRequestProvider(){var httpOptions;this.httpOptions=function(val){return val?(httpOptions=val,this):httpOptions},this.$get=["$templateCache","$http","$q","$sce",function($templateCache,$http,$q,$sce){function handleRequestFn(tpl,ignoreRequestError){handleRequestFn.totalPendingRequests++,isString(tpl)&&!isUndefined($templateCache.get(tpl))||(tpl=$sce.getTrustedResourceUrl(tpl));var transformResponse=$http.defaults&&$http.defaults.transformResponse;return isArray(transformResponse)?transformResponse=transformResponse.filter(function(transformer){return transformer!==defaultHttpResponseTransform}):transformResponse===defaultHttpResponseTransform&&(transformResponse=null),$http.get(tpl,extend({cache:$templateCache,transformResponse:transformResponse},httpOptions)).finally(function(){handleRequestFn.totalPendingRequests--}).then(function(response){return $templateCache.put(tpl,response.data),response.data},function(resp){if(!ignoreRequestError)throw $templateRequestMinErr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",tpl,resp.status,resp.statusText);return $q.reject(resp)})}return handleRequestFn.totalPendingRequests=0,handleRequestFn}]}
1function $$TestabilityProvider(){this.$get=["$rootScope","$browser","$location",function($rootScope,$browser,$location){var testability={findBindings:function(element,expression,opt_exactMatch){var matches=[];return forEach(element.getElementsByClassName("ng-binding"),function(binding){var dataBinding=angular.element(binding).data("$binding");dataBinding&&forEach(dataBinding,function(bindingName){opt_exactMatch?new RegExp("(^|\\s)"+escapeForRegexp(expression)+"(\\s|\\||$)").test(bindingName)&&matches.push(binding):-1!=bindingName.indexOf(expression)&&matches.push(binding)})}),matches},findModels:function(element,expression,opt_exactMatch){for(var prefixes=["ng-","data-ng-","ng\\:"],p=0;p<prefixes.length;++p){var selector="["+prefixes[p]+"model"+(opt_exactMatch?"=":"*=")+'"'+expression+'"]',elements=element.querySelectorAll(selector);if(elements.length)return elements}},getLocation:function(){return $location.url()},setLocation:function(url){url!==$location.url()&&($location.url(url),$rootScope.$digest())},whenStable:function(callback){$browser.notifyWhenNoOutstandingRequests(callback)}};return testability}]}function $TimeoutProvider(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function($rootScope,$browser,$q,$$q,$exceptionHandler){var deferreds={};function timeout(fn,delay,invokeApply){isFunction(fn)||(invokeApply=delay,delay=fn,fn=noop);var timeoutId,args=sliceArgs(arguments,3),skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return timeoutId=$browser.defer(function(){try{deferred.resolve(fn.apply(null,args))}catch(e){deferred.reject(e),$exceptionHandler(e)}finally{delete deferreds[promise.$$timeoutId]}skipApply||$rootScope.$apply()},delay),promise.$$timeoutId=timeoutId,deferreds[timeoutId]=deferred,promise}return timeout.cancel=function(promise){return!!(promise&&promise.$$timeoutId in deferreds)&&(deferreds[promise.$$timeoutId].reject("canceled"),delete deferreds[promise.$$timeoutId],$browser.defer.cancel(promise.$$timeoutId))},timeout}]}var urlParsingNode=window.document.createElement("a"),originUrl=urlResolve(window.location.href);function urlResolve(url){var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}function urlIsSameOrigin(requestUrl){var parsed=isString(requestUrl)?urlResolve(requestUrl):requestUrl;return parsed.protocol===originUrl.protocol&&parsed.host===originUrl.host}function $WindowProvider(){this.$get=valueFn(window)}function $$CookieReader($document){var rawDocument=$document[0]||{},lastCookies={},lastCookieString="";function safeDecodeURIComponent(str){try{return decodeURIComponent(str)}catch(e){return str}}return function(){var cookieArray,cookie,i,index,name,currentCookieString=rawDocument.cookie||"";if(currentCookieString!==lastCookieString)for(cookieArray=(lastCookieString=currentCookieString).split("; "),lastCookies={},i=0;i<cookieArray.length;i++)(index=(cookie=cookieArray[i]).indexOf("="))>0&&(name=safeDecodeURIComponent(cookie.substring(0,index)),isUndefined(lastCookies[name])&&(lastCookies[name]=safeDecodeURIComponent(cookie.substring(index+1))));return lastCookies}}function $$CookieReaderProvider(){this.$get=$$CookieReader}function $FilterProvider($provide){var suffix="Filter";function register(name,factory){if(isObject(name)){var filters={};return forEach(name,function(filter,key){filters[key]=register(key,filter)}),filters}return $provide.factory(name+suffix,factory)}this.register=register,this.$get=["$injector",function($injector){return function(name){return $injector.get(name+suffix)}}],register("currency",currencyFilter),register("date",dateFilter),register("filter",filterFilter),register("json",jsonFilter),register("limitTo",limitToFilter),register("lowercase",lowercaseFilter),register("number",numberFilter),register("orderBy",orderByFilter),register("uppercase",uppercaseFilter)}function filterFilter(){return function(array,expression,comparator,anyPropertyKey){if(!isArrayLike(array)){if(null==array)return array;throw minErr("filter")("notarray","Expected array but received: {0}",array)}var predicateFn,matchAgainstAnyProp;switch(anyPropertyKey=anyPropertyKey||"$",getTypeForFilter(expression)){case"function":predicateFn=expression;break;case"boolean":case"null":case"number":case"string":matchAgainstAnyProp=!0;case"object":predicateFn=function(expression,comparator,anyPropertyKey,matchAgainstAnyProp){var shouldMatchPrimitives=isObject(expression)&&anyPropertyKey in expression;!0===comparator?comparator=equals:isFunction(comparator)||(comparator=function(actual,expected){return!isUndefined(actual)&&(null===actual||null===expected?actual===expected:!(isObject(expected)||isObject(actual)&&!hasCustomToString(actual))&&(actual=lowercase(""+actual),expected=lowercase(""+expected),-1!==actual.indexOf(expected)))});return function(item){return shouldMatchPrimitives&&!isObject(item)?deepCompare(item,expression[anyPropertyKey],comparator,anyPropertyKey,!1):deepCompare(item,expression,comparator,anyPropertyKey,matchAgainstAnyProp)}}(expression,comparator,anyPropertyKey,matchAgainstAnyProp);break;default:return array}return Array.prototype.filter.call(array,predicateFn)}}function deepCompare(actual,expected,comparator,anyPropertyKey,matchAgainstAnyProp,dontMatchWholeObject){var actualType=getTypeForFilter(actual),expectedType=getTypeForFilter(expected);if("string"===expectedType&&"!"===expected.charAt(0))return!deepCompare(actual,expected.substring(1),comparator,anyPropertyKey,matchAgainstAnyProp);if(isArray(actual))return actual.some(function(item){return deepCompare(item,expected,comparator,anyPropertyKey,matchAgainstAnyProp)});switch(actualType){case"object":var key;if(matchAgainstAnyProp){for(key in actual)if("$"!==key.charAt(0)&&deepCompare(actual[key],expected,comparator,anyPropertyKey,!0))return!0;return!dontMatchWholeObject&&deepCompare(actual,expected,comparator,anyPropertyKey,!1)}if("object"===expectedType){for(key in expected){var expectedVal=expected[key];if(!isFunction(expectedVal)&&!isUndefined(expectedVal)){var matchAnyProperty=key===anyPropertyKey;if(!deepCompare(matchAnyProperty?actual:actual[key],expectedVal,comparator,anyPropertyKey,matchAnyProperty,matchAnyProperty))return!1}}return!0}return comparator(actual,expected);case"function":return!1;default:return comparator(actual,expected)}}function getTypeForFilter(val){return null===val?"null":typeof val}$$CookieReader.$inject=["$document"],$FilterProvider.$inject=["$provide"];var MAX_DIGITS=22,DECIMAL_SEP=".",ZERO_CHAR="0";function currencyFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(amount,currencySymbol,fractionSize){return isUndefined(currencySymbol)&&(currencySymbol=formats.CURRENCY_SYM),isUndefined(fractionSize)&&(fractionSize=formats.PATTERNS[1].maxFrac),null==amount?amount:formatNumber(amount,formats.PATTERNS[1],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize).replace(/\u00A4/g,currencySymbol)}}function numberFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(number,fractionSize){return null==number?number:formatNumber(number,formats.PATTERNS[0],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize)}}function formatNumber(number,pattern,groupSep,decimalSep,fractionSize){if(!isString(number)&&!isNumber(number)||isNaN(number))return"";var parsedNumber,isInfinity=!isFinite(number),isZero=!1,numStr=Math.abs(number)+"",formattedText="";if(isInfinity)formattedText="∞";else{(function(parsedNumber,fractionSize,minFrac,maxFrac){var digits=parsedNumber.d,fractionLen=digits.length-parsedNumber.i,roun
1dAt=(fractionSize=isUndefined(fractionSize)?Math.min(Math.max(minFrac,fractionLen),maxFrac):+fractionSize)+parsedNumber.i,digit=digits[roundAt];if(roundAt>0){digits.splice(Math.max(parsedNumber.i,roundAt));for(var j=roundAt;j<digits.length;j++)digits[j]=0}else{fractionLen=Math.max(0,fractionLen),parsedNumber.i=1,digits.length=Math.max(1,roundAt=fractionSize+1),digits[0]=0;for(var i=1;i<roundAt;i++)digits[i]=0}if(digit>=5)if(roundAt-1<0){for(var k=0;k>roundAt;k--)digits.unshift(0),parsedNumber.i++;digits.unshift(1),parsedNumber.i++}else digits[roundAt-1]++;for(;fractionLen<Math.max(0,fractionSize);fractionLen++)digits.push(0);var carry=digits.reduceRight(function(carry,d,i,digits){return d+=carry,digits[i]=d%10,Math.floor(d/10)},0);carry&&(digits.unshift(carry),parsedNumber.i++)})(parsedNumber=function(numStr){var digits,numberOfIntegerDigits,i,j,zeros,exponent=0;for((numberOfIntegerDigits=numStr.indexOf(DECIMAL_SEP))>-1&&(numStr=numStr.replace(DECIMAL_SEP,"")),(i=numStr.search(/e/i))>0?(numberOfIntegerDigits<0&&(numberOfIntegerDigits=i),numberOfIntegerDigits+=+numStr.slice(i+1),numStr=numStr.substring(0,i)):numberOfIntegerDigits<0&&(numberOfIntegerDigits=numStr.length),i=0;numStr.charAt(i)==ZERO_CHAR;i++);if(i==(zeros=numStr.length))digits=[0],numberOfIntegerDigits=1;else{for(zeros--;numStr.charAt(zeros)==ZERO_CHAR;)zeros--;for(numberOfIntegerDigits-=i,digits=[],j=0;i<=zeros;i++,j++)digits[j]=+numStr.charAt(i)}return numberOfIntegerDigits>MAX_DIGITS&&(digits=digits.splice(0,MAX_DIGITS-1),exponent=numberOfIntegerDigits-1,numberOfIntegerDigits=1),{d:digits,e:exponent,i:numberOfIntegerDigits}}(numStr),fractionSize,pattern.minFrac,pattern.maxFrac);var digits=parsedNumber.d,integerLen=parsedNumber.i,exponent=parsedNumber.e,decimals=[];for(isZero=digits.reduce(function(isZero,d){return isZero&&!d},!0);integerLen<0;)digits.unshift(0),integerLen++;integerLen>0?decimals=digits.splice(integerLen,digits.length):(decimals=digits,digits=[0]);var groups=[];for(digits.length>=pattern.lgSize&&groups.unshift(digits.splice(-pattern.lgSize,digits.length).join(""));digits.length>pattern.gSize;)groups.unshift(digits.splice(-pattern.gSize,digits.length).join(""));digits.length&&groups.unshift(digits.join("")),formattedText=groups.join(groupSep),decimals.length&&(formattedText+=decimalSep+decimals.join("")),exponent&&(formattedText+="e+"+exponent)}return number<0&&!isZero?pattern.negPre+formattedText+pattern.negSuf:pattern.posPre+formattedText+pattern.posSuf}function padNumber(num,digits,trim,negWrap){var neg="";for((num<0||negWrap&&num<=0)&&(negWrap?num=1-num:(num=-num,neg="-")),num=""+num;num.length<digits;)num=ZERO_CHAR+num;return trim&&(num=num.substr(num.length-digits)),neg+num}function dateGetter(name,size,offset,trim,negWrap){return offset=offset||0,function(date){var value=date["get"+name]();return(offset>0||value>-offset)&&(value+=offset),0===value&&-12==offset&&(value=12),padNumber(value,size,trim,negWrap)}}function dateStrGetter(name,shortForm,standAlone){return function(date,formats){var value=date["get"+name]();return formats[uppercase((standAlone?"STANDALONE":"")+(shortForm?"SHORT":"")+name)][value]}}function getFirstThursdayOfYear(year){var dayOfWeekOnFirst=new Date(year,0,1).getDay();return new Date(year,0,(dayOfWeekOnFirst<=4?5:12)-dayOfWeekOnFirst)}function weekGetter(size){return function(date){var datetime,firstThurs=getFirstThursdayOfYear(date.getFullYear()),diff=+(datetime=date,new Date(datetime.getFullYear(),datetime.getMonth(),datetime.getDate()+(4-datetime.getDay())))-+firstThurs;return padNumber(1+Math.round(diff/6048e5),size)}}function eraGetter(date,formats){return date.getFullYear()<=0?formats.ERAS[0]:formats.ERAS[1]}currencyFilter.$inject=["$locale"],numberFilter.$inject=["$locale"];var DATE_FORMATS={yyyy:dateGetter("FullYear",4,0,!1,!0),yy:dateGetter("FullYear",2,0,!0,!0),y:dateGetter("FullYear",1,0,!1,!0),MMMM:dateStrGetter("Month"),MMM:dateStrGetter("Month",!0),MM:dateGetter("Month",2,1),M:dateGetter("Month",1,1),LLLL:dateStrGetter("Month",!1,!0),dd:dateGetter("Date",2),d:dateGetter("Date",1),HH:dateGetter("Hours",2),H:dateGetter("Hours",1),hh:dateGetter("Hours",2,-12),h:dateGetter("Hours",1,-12),mm:dateGetter("Minutes",2),m:dateGetter("Minutes",1),ss:dateGetter("Seconds",2),s:dateGetter("Seconds",1),sss:dateGetter("Milliseconds",3),EEEE:dateStrGetter("Day"),EEE:dateStrGetter("Day",!0),a:function(date,formats){return date.getHours()<12?formats.AMPMS[0]:formats.AMPMS[1]},Z:function(date,formats,offset){var zone=-1*offset,paddedZone=zone>=0?"+":"";return paddedZone+=padNumber(Math[zone>0?"floor":"ceil"](zone/60),2)+padNumber(Math.abs(zone%60),2)},ww:weekGetter(2),w:weekGetter(1),G:eraGetter,GG:eraGetter,GGG:eraGetter,GGGG:function(date,formats){return date.getFullYear()<=0?formats.ERANAMES[0]:formats.ERANAMES[1]}}
1,DATE_FORMATS_SPLIT=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,NUMBER_STRING=/^\-?\d+$/;function dateFilter($locale){var R_ISO8601_STR=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(date,format,timezone){var fn,match,text="",parts=[];if(format=format||"mediumDate",format=$locale.DATETIME_FORMATS[format]||format,isString(date)&&(date=NUMBER_STRING.test(date)?toInt(date):function(string){var match;if(match=string.match(R_ISO8601_STR)){var date=new Date(0),tzHour=0,tzMin=0,dateSetter=match[8]?date.setUTCFullYear:date.setFullYear,timeSetter=match[8]?date.setUTCHours:date.setHours;match[9]&&(tzHour=toInt(match[9]+match[10]),tzMin=toInt(match[9]+match[11])),dateSetter.call(date,toInt(match[1]),toInt(match[2])-1,toInt(match[3]));var h=toInt(match[4]||0)-tzHour,m=toInt(match[5]||0)-tzMin,s=toInt(match[6]||0),ms=Math.round(1e3*parseFloat("0."+(match[7]||0)));return timeSetter.call(date,h,m,s,ms),date}return string}(date)),isNumber(date)&&(date=new Date(date)),!isDate(date)||!isFinite(date.getTime()))return date;for(;format;)(match=DATE_FORMATS_SPLIT.exec(format))?format=(parts=concat(parts,match,1)).pop():(parts.push(format),format=null);var dateTimezoneOffset=date.getTimezoneOffset();return timezone&&(dateTimezoneOffset=timezoneToOffset(timezone,dateTimezoneOffset),date=convertTimezoneToLocal(date,timezone,!0)),forEach(parts,function(value){fn=DATE_FORMATS[value],text+=fn?fn(date,$locale.DATETIME_FORMATS,dateTimezoneOffset):"''"===value?"'":value.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),text}}function jsonFilter(){return function(object,spacing){return isUndefined(spacing)&&(spacing=2),toJson(object,spacing)}}dateFilter.$inject=["$locale"];var lowercaseFilter=valueFn(lowercase),uppercaseFilter=valueFn(uppercase);function limitToFilter(){return function(input,limit,begin){return limit=Math.abs(Number(limit))===1/0?Number(limit):toInt(limit),isNaN(limit)?input:(isNumber(input)&&(input=input.toString()),isArrayLike(input)?(begin=(begin=!begin||isNaN(begin)?0:toInt(begin))<0?Math.max(0,input.length+begin):begin,limit>=0?sliceFn(input,begin,begin+limit):0===begin?sliceFn(input,limit,input.length):sliceFn(input,Math.max(0,begin+limit),begin)):input)}}function sliceFn(input,begin,end){return isString(input)?input.slice(begin,end):slice.call(input,begin,end)}function orderByFilter($parse){return function(array,sortPredicate,reverseOrder,compareFn){if(null==array)return array;if(!isArrayLike(array))throw minErr("orderBy")("notarray","Expected array but received: {0}",array);isArray(sortPredicate)||(sortPredicate=[sortPredicate]),0===sortPredicate.length&&(sortPredicate=["+"]);var predicates=sortPredicate.map(function(predicate){var descending=1,get=identity;if(isFunction(predicate))get=predicate;else if(isString(predicate)&&("+"!=predicate.charAt(0)&&"-"!=predicate.charAt(0)||(descending="-"==predicate.charAt(0)?-1:1,predicate=predicate.substring(1)),""!==predicate&&(get=$parse(predicate)).constant)){var key=get();get=function(value){return value[key]}}return{get:get,descending:descending}}),descending=reverseOrder?-1:1,compare=isFunction(compareFn)?compareFn:defaultCompare,compareValues=Array.prototype.map.call(array,function(value,index){return{value:value,tieBreaker:{value:index,type:"number",index:index},predicateValues:predicates.map(function(predicate){return function(value,index){var type=typeof value;null===value?(type="string",value="null"):"object"===type&&(value=function(value){if(isFunction(value.valueOf)&&isPrimitive(value=value.valueOf()))return value;if(hasCustomToString(value)&&isPrimitive(value=value.toString()))return value;return value}(value));return{value:value,type:type,index:index}}(predicate.get(value),index)})}});return compareValues.sort(function(v1,v2){for(var i=0,ii=predicates.length;i<ii;i++){var result=compare(v1.predicateValues[i],v2.predicateValues[i]);if(result)return result*predicates[i].descending*descending}return compare(v1.tieBreaker,v2.tieBreaker)*descending}),array=compareValues.map(function(item){return item.value})};function isPrimitive(value){switch(typeof value){case"number":case"boolean":case"string":return!0;default:return!1}}function defaultCompare(v1,v2){var result=0,type1=v1.type,type2=v2.type;if(type1===type2){var value1=v1.value,value2=v2.value;"string"===type1?(value1=value1.toLowerCase(),value2=value2.toLowerCase()):"object"===type1&&(isObject(value1)&&(value1=v1.index),isObject(value2)&&(value2=v2.index)),value1!==value2&&(result=value1<value2?-1:1)}else result=type1<type2?-1:1;return result}}function ngDirective(directive){return isFunction(directive)&&(directive={link:directive}),directive.restrict=directive.restrict||"AC",valueFn(directive)}orderByFilter.$inject=["$parse"];var htmlAnchorDirective=valueFn({restrict:"E",compile:function(element,attr){if(!attr.href&&!attr.xlinkHref)return function(scope,element){if("a"===element[0].nodeName.toLowerCase()){var href="[object SVGAnimatedString]"===toString.call(element.prop("href"))?"xlink:href":"href";element.on("click",function(event){element.attr(href)||event.preventDefault()})}}}}),ngAttributeAliasDirectives={};forEach(BOOLEAN_ATTR,function(propName,attrName){if("multiple"!=propName){var normalized=directiveNormalize("ng-"+attrName),linkFn=defaultLinkFn;"checked"===propName&&(linkFn=function(scope,element,attr){attr.ngModel!==attr[normalized]&&defaultLinkFn(scope,0,attr)}),ngAttributeAliasDirectives[normalized]=function(){return{restrict:"A",priority:100,link:linkFn}}}function defaultLinkFn(scope,element,attr){scope.$watch(attr[normalized],function(value){attr.$set(attrName,!!value)})}}
1),forEach(ALIASED_ATTR,function(htmlAttr,ngAttr){ngAttributeAliasDirectives[ngAttr]=function(){return{priority:100,link:function(scope,element,attr){if("ngPattern"===ngAttr&&"/"==attr.ngPattern.charAt(0)){var match=attr.ngPattern.match(REGEX_STRING_REGEXP);if(match)return void attr.$set("ngPattern",new RegExp(match[1],match[2]))}scope.$watch(attr[ngAttr],function(value){attr.$set(ngAttr,value)})}}}}),forEach(["src","srcset","href"],function(attrName){var normalized=directiveNormalize("ng-"+attrName);ngAttributeAliasDirectives[normalized]=function(){return{priority:99,link:function(scope,element,attr){var propName=attrName,name=attrName;"href"===attrName&&"[object SVGAnimatedString]"===toString.call(element.prop("href"))&&(name="xlinkHref",attr.$attr[name]="xlink:href",propName=null),attr.$observe(normalized,function(value){value?(attr.$set(name,value),msie&&propName&&element.prop(propName,attr[name])):"href"===attrName&&attr.$set(name,null)})}}}});var nullFormCtrl={$addControl:noop,$$renameControl:function(control,name){control.$name=name},$removeControl:noop,$setValidity:noop,$setDirty:noop,$setPristine:noop,$setSubmitted:noop},SUBMITTED_CLASS="ng-submitted";function FormController(element,attrs,$scope,$animate,$interpolate){var form=this,controls=[];form.$error={},form.$$success={},form.$pending=void 0,form.$name=$interpolate(attrs.name||attrs.ngForm||"")($scope),form.$dirty=!1,form.$pristine=!0,form.$valid=!0,form.$invalid=!1,form.$submitted=!1,form.$$parentForm=nullFormCtrl,form.$rollbackViewValue=function(){forEach(controls,function(control){control.$rollbackViewValue()})},form.$commitViewValue=function(){forEach(controls,function(control){control.$commitViewValue()})},form.$addControl=function(control){assertNotHasOwnProperty(control.$name,"input"),controls.push(control),control.$name&&(form[control.$name]=control),control.$$parentForm=form},form.$$renameControl=function(control,newName){var oldName=control.$name;form[oldName]===control&&delete form[oldName],form[newName]=control,control.$name=newName},form.$removeControl=function(control){control.$name&&form[control.$name]===control&&delete form[control.$name],forEach(form.$pending,function(value,name){form.$setValidity(name,null,control)}),forEach(form.$error,function(value,name){form.$setValidity(name,null,control)}),forEach(form.$$success,function(value,name){form.$setValidity(name,null,control)}),arrayRemove(controls,control),control.$$parentForm=nullFormCtrl},addSetValidityMethod({ctrl:this,$element:element,set:function(object,property,controller){var list=object[property];list?-1===list.indexOf(controller)&&list.push(controller):object[property]=[controller]},unset:function(object,property,controller){var list=object[property];list&&(arrayRemove(list,controller),0===list.length&&delete object[property])},$animate:$animate}),form.$setDirty=function(){$animate.removeClass(element,PRISTINE_CLASS),$animate.addClass(element,DIRTY_CLASS),form.$dirty=!0,form.$pristine=!1,form.$$parentForm.$setDirty()},form.$setPristine=function(){$animate.setClass(element,PRISTINE_CLASS,DIRTY_CLASS+" "+SUBMITTED_CLASS),form.$dirty=!1,form.$pristine=!0,form.$submitted=!1,forEach(controls,function(control){control.$setPristine()})},form.$setUntouched=function(){forEach(controls,function(control){control.$setUntouched()})},form.$setSubmitted=function(){$animate.addClass(element,SUBMITTED_CLASS),form.$submitted=!0,form.$$parentForm.$setSubmitted()}}FormController.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var formDirectiveFactory=function(isNgForm){return["$timeout","$parse",function($timeout,$parse){return{name:"form",restrict:isNgForm?"EAC":"E",require:["form","^^?form"],controller:FormController,compile:function(formElement,attr){formElement.addClass(PRISTINE_CLASS).addClass(VALID_CLASS);var nameAttr=attr.name?"name":!(!isNgForm||!attr.ngForm)&&"ngForm";return{pre:function(scope,formElement,attr,ctrls){var controller=ctrls[0];if(!("action"in attr)){var handleFormSubmission=function(event){scope.$apply(function(){controller.$commitViewValue(),controller.$setSubmitted()}),event.preventDefault()};addEventListenerFn(formElement[0],"submit",handleFormSubmission),formElement.on("$destroy",function(){$timeout(function(){removeEventListenerFn(formElement[0],"submit",handleFormSubmission)},0,!1)})}(ctrls[1]||controller.$$parentForm).$addControl(controller);var setter=nameAttr?getSetter(controller.$name):noop;nameAttr&&(setter(scope,controller),attr.$observe(nameAttr,function(newValue){controller.$name!==newValue&&(setter(scope,void 0),controller.$$parentForm.$$renameControl(controller,newValue),(setter=getSetter(controller.$name))(scope,controller))})),formElement.on("$destroy",function(){controller.$$parentForm.$removeControl(controller),setter(scope,void 0),extend(controller,nullFormCtrl)})}}}};function getSetter(expression){return""===expression?$parse('this[""]').assign:$parse(expression).assign||noop}}]},formDirective=formDirectiveFactory(),ngFormDirective=formDirectiveFactory(!0),ISO_DATE_REGEXP=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,URL_REGEXP=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,EMAIL_REGEXP=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,NUMBER_REGEXP=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,DATE_REGEXP=/^(\d{4,})-(\d{2})-(\d{2})$/,DATETIMELOCAL_REGEXP=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,WEEK_REGEXP=/^(\d{4,})-W(\d\d)$/,MONTH_REGEXP=/^(\d{4,})-(\d\d)$/,TIME_REGEXP=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,PARTIAL_VALIDATION_EVENTS="keydown wheel mousedown",PARTIAL_VALIDATION_TYPES=createMap();forEach("date,datetime-local,month,time,week".split(","),function(type){PARTIAL_VALIDATION_TYPES[type]=!0});var inputType={text:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl)},date:createDateInputType("date",DATE_REGEXP,createDateParser(DATE_REGEXP,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":createDateInputType("datetimelocal",DATETIMELOCAL_REGEXP,createDateParser(DATETIMELOCAL_REGEXP,["yyyy","MM","dd","HH","mm","ss","
1sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:createDateInputType("time",TIME_REGEXP,createDateParser(TIME_REGEXP,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:createDateInputType("week",WEEK_REGEXP,function(isoWeek,existingDate){if(isDate(isoWeek))return isoWeek;if(isString(isoWeek)){WEEK_REGEXP.lastIndex=0;var parts=WEEK_REGEXP.exec(isoWeek);if(parts){var year=+parts[1],week=+parts[2],hours=0,minutes=0,seconds=0,milliseconds=0,firstThurs=getFirstThursdayOfYear(year),addDays=7*(week-1);return existingDate&&(hours=existingDate.getHours(),minutes=existingDate.getMinutes(),seconds=existingDate.getSeconds(),milliseconds=existingDate.getMilliseconds()),new Date(year,0,firstThurs.getDate()+addDays,hours,minutes,seconds,milliseconds)}}return NaN},"yyyy-Www"),month:createDateInputType("month",MONTH_REGEXP,createDateParser(MONTH_REGEXP,["yyyy","MM"]),"yyyy-MM"),number:function(scope,element,attr,ctrl,$sniffer,$browser){if(badInputChecker(scope,element,attr,ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser),ctrl.$$parserName="number",ctrl.$parsers.push(function(value){return ctrl.$isEmpty(value)?null:NUMBER_REGEXP.test(value)?parseFloat(value):void 0}),ctrl.$formatters.push(function(value){if(!ctrl.$isEmpty(value)){if(!isNumber(value))throw ngModelMinErr("numfmt","Expected `{0}` to be a number",value);value=value.toString()}return value}),isDefined(attr.min)||attr.ngMin){var minVal;ctrl.$validators.min=function(value){return ctrl.$isEmpty(value)||isUndefined(minVal)||value>=minVal},attr.$observe("min",function(val){isDefined(val)&&!isNumber(val)&&(val=parseFloat(val)),minVal=isNumber(val)&&!isNaN(val)?val:void 0,ctrl.$validate()})}if(isDefined(attr.max)||attr.ngMax){var maxVal;ctrl.$validators.max=function(value){return ctrl.$isEmpty(value)||isUndefined(maxVal)||value<=maxVal},attr.$observe("max",function(val){isDefined(val)&&!isNumber(val)&&(val=parseFloat(val)),maxVal=isNumber(val)&&!isNaN(val)?val:void 0,ctrl.$validate()})}},url:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="url",ctrl.$validators.url=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||URL_REGEXP.test(value)}},email:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="email",ctrl.$validators.email=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||EMAIL_REGEXP.test(value)}},radio:function(scope,element,attr,ctrl){isUndefined(attr.name)&&element.attr("name",nextUid());element.on("click",function(ev){element[0].checked&&ctrl.$setViewValue(attr.value,ev&&ev.type)}),ctrl.$render=function(){var value=attr.value;element[0].checked=value==ctrl.$viewValue},attr.$observe("value",ctrl.$render)},checkbox:function(scope,element,attr,ctrl,$sniffer,$browser,$filter,$parse){var trueValue=parseConstantExpr($parse,scope,"ngTrueValue",attr.ngTrueValue,!0),falseValue=parseConstantExpr($parse,scope,"ngFalseValue",attr.ngFalseValue,!1);element.on("click",function(ev){ctrl.$setViewValue(element[0].checked,ev&&ev.type)}),ctrl.$render=function(){element[0].checked=ctrl.$viewValue},ctrl.$isEmpty=function(value){return!1===value},ctrl.$formatters.push(function(value){return equals(value,trueValue)}),ctrl.$parsers.push(function(value){return value?trueValue:falseValue})},hidden:noop,button:noop,submit:noop,reset:noop,file:noop};function stringBasedInputType(ctrl){ctrl.$formatters.push(function(value){return ctrl.$isEmpty(value)?value:value.toString()})}function baseInputType(scope,element,attr,ctrl,$sniffer,$browser){var timeout,type=lowercase(element[0].type);if(!$sniffer.android){var composing=!1;element.on("compositionstart",function(){composing=!0}),element.on("compositionend",function(){composing=!1,listener()})}var listener=function(ev){if(timeout&&($browser.defer.cancel(timeout),timeout=null),!composing){var value=element.val(),event=ev&&ev.type;"password"===type||attr.ngTrim&&"false"===attr.ngTrim||(value=trim(value)),(ctrl.$viewValue!==value||""===value&&ctrl.$$hasNativeValidators)&&ctrl.$setViewValue(value,event)}};if($sniffer.hasEvent("input"))element.on("input",listener);else{var deferListener=function(ev,input,origValue){timeout||(timeout=$browser.defer(function(){timeout=null,input&&input.value===origValue||listener(ev)}))};
1element.on("keydown",function(event){var key=event.keyCode;91===key||15<key&&key<19||37<=key&&key<=40||deferListener(event,this,this.value)}),$sniffer.hasEvent("paste")&&element.on("paste cut",deferListener)}element.on("change",listener),PARTIAL_VALIDATION_TYPES[type]&&ctrl.$$hasNativeValidators&&type===attr.type&&element.on(PARTIAL_VALIDATION_EVENTS,function(ev){if(!timeout){var validity=this[VALIDITY_STATE_PROPERTY],origBadInput=validity.badInput,origTypeMismatch=validity.typeMismatch;timeout=$browser.defer(function(){timeout=null,validity.badInput===origBadInput&&validity.typeMismatch===origTypeMismatch||listener(ev)})}}),ctrl.$render=function(){var value=ctrl.$isEmpty(ctrl.$viewValue)?"":ctrl.$viewValue;element.val()!==value&&element.val(value)}}function createDateParser(regexp,mapping){return function(iso,date){var parts,map;if(isDate(iso))return iso;if(isString(iso)){if('"'==iso.charAt(0)&&'"'==iso.charAt(iso.length-1)&&(iso=iso.substring(1,iso.length-1)),ISO_DATE_REGEXP.test(iso))return new Date(iso);if(regexp.lastIndex=0,parts=regexp.exec(iso))return parts.shift(),map=date?{yyyy:date.getFullYear(),MM:date.getMonth()+1,dd:date.getDate(),HH:date.getHours(),mm:date.getMinutes(),ss:date.getSeconds(),sss:date.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},forEach(parts,function(part,index){index<mapping.length&&(map[mapping[index]]=+part)}),new Date(map.yyyy,map.MM-1,map.dd,map.HH,map.mm,map.ss||0,1e3*map.sss||0)}return NaN}}function createDateInputType(type,regexp,parseDate,format){return function(scope,element,attr,ctrl,$sniffer,$browser,$filter){badInputChecker(scope,element,attr,ctrl),baseInputType(0,element,attr,ctrl,$sniffer,$browser);var previousDate,minVal,maxVal,timezone=ctrl&&ctrl.$options&&ctrl.$options.timezone;(ctrl.$$parserName=type,ctrl.$parsers.push(function(value){if(ctrl.$isEmpty(value))return null;if(regexp.test(value)){var parsedDate=parseDate(value,previousDate);return timezone&&(parsedDate=convertTimezoneToLocal(parsedDate,timezone)),parsedDate}}),ctrl.$formatters.push(function(value){if(value&&!isDate(value))throw ngModelMinErr("datefmt","Expected `{0}` to be a date",value);return isValidDate(value)?((previousDate=value)&&timezone&&(previousDate=convertTimezoneToLocal(previousDate,timezone,!0)),$filter("date")(value,format,timezone)):(previousDate=null,"")}),isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(value){return!isValidDate(value)||isUndefined(minVal)||parseDate(value)>=minVal},attr.$observe("min",function(val){minVal=parseObservedDateValue(val),ctrl.$validate()}));(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(value){return!isValidDate(value)||isUndefined(maxVal)||parseDate(value)<=maxVal},attr.$observe("max",function(val){maxVal=parseObservedDateValue(val),ctrl.$validate()}));function isValidDate(value){return value&&!(value.getTime&&value.getTime()!=value.getTime())}function parseObservedDateValue(val){return isDefined(val)&&!isDate(val)?parseDate(val)||void 0:val}}}function badInputChecker(scope,element,attr,ctrl){var node=element[0];(ctrl.$$hasNativeValidators=isObject(node.validity))&&ctrl.$parsers.push(function(value){var validity=element.prop(VALIDITY_STATE_PROPERTY)||{};return validity.badInput||validity.typeMismatch?void 0:value})}function parseConstantExpr($parse,context,name,expression,fallback){var parseFn;if(isDefined(expression)){if(!(parseFn=$parse(expression)).constant)throw ngModelMinErr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",name,expression);return parseFn(context)}return fallback}var inputDirective=["$browser","$sniffer","$filter","$parse",function($browser,$sniffer,$filter,$parse){return{restrict:"E",require:["?ngModel"],link:{pre:function(scope,element,attr,ctrls){ctrls[0]&&(inputType[lowercase(attr.type)]||inputType.text)(scope,element,attr,ctrls[0],$sniffer,$browser,$filter,$parse)}}}}],CONSTANT_VALUE_REGEXP=/^(true|false|\d+)$/,ngValueDirective=function(){return{restrict:"A",priority:100,compile:function(tpl,tplAttr){return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)?function(scope,elm,attr){attr.$set("value",scope.$eval(attr.ngValue))}:function(scope,elm,attr){scope.$watch(attr.ngValue,function(value){attr.$set("value",value)})}}}},ngBindDirective=["$compile",function($compile){return{restrict:"AC",compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBind),element=element[0],scope.$watch(attr.ngBind,function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindTemplateDirective=["$interpolate","$compile",function($interpolate,$compile){return{compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){var interpolateFn=$interpolate(element.attr(attr.$attr.ngBindTemplate));$compile.$$addBindingInfo(element,interpolateFn.expressions),element=element[0],attr.$observe("ngBindTemplate",function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindHtmlDirective=["$sce","$parse","$compile",function($sce,$parse,$compile){return{restrict:"A",compile:function(tElement,tAttrs){var ngBindHtmlGetter=$parse(tAttrs.ngBindHtml),ngBindHtmlWatch=$parse(tAttrs.ngBindHtml,function(val){return $sce.valueOf(val)});return $compile.$$addBindingClass(tElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBindHtml),scope.$watch(ngBindHtmlWatch,function(){var value=ngBindHtmlGetter(scope);element.html($sce.getTrustedHtml(value)||"")})}}}}],ngChangeDirective=valueFn({restrict:"A",require:"ngModel",link:function(scope,element,attr,ctrl){ctrl.$viewChangeListeners.push(function(){scope.$eval(attr.ngChange)})}});function classDirective(name,selector){return name="ngClass"+name,["$animate",function($animate){return{restrict:"AC",link:function(scope,element,attr){var oldVal;function addClasses(classes){var newClasses=digestClassCounts(classes,1);attr.$addClass(newClasses)}function digestClassCounts(classes,count){var classCounts=element.data("$classCounts")||createMap(),classesToUpdate=[];return forEach(classes,function(className){(count>0||classCounts[className])&&(classCounts[className]=(classCounts[className]||0)+count,classCounts[className]===+(count>0)&&classesToUpdate.push(className))}),element.data("$classCounts",classCounts),classesToUpdate.join(" ")}function ngClassWatchAction(newVal){if(!0===selector||(1&scope.$index)===selector){var newClasses=arrayClasse
1s(newVal||[]);if(oldVal){if(!equals(newVal,oldVal)){!function(oldClasses,newClasses){var toAdd=arrayDifference(newClasses,oldClasses),toRemove=arrayDifference(oldClasses,newClasses);toAdd=digestClassCounts(toAdd,1),toRemove=digestClassCounts(toRemove,-1),toAdd&&toAdd.length&&$animate.addClass(element,toAdd),toRemove&&toRemove.length&&$animate.removeClass(element,toRemove)}(arrayClasses(oldVal),newClasses)}}else addClasses(newClasses)}oldVal=isArray(newVal)?newVal.map(function(v){return shallowCopy(v)}):shallowCopy(newVal)}scope.$watch(attr[name],ngClassWatchAction,!0),attr.$observe("class",function(value){ngClassWatchAction(scope.$eval(attr[name]))}),"ngClass"!==name&&scope.$watch("$index",function($index,old$index){var mod=1&$index;if(mod!==(1&old$index)){var classes=arrayClasses(scope.$eval(attr[name]));mod===selector?addClasses(classes):function(classes){var newClasses=digestClassCounts(classes,-1);attr.$removeClass(newClasses)}(classes)}})}};function arrayDifference(tokens1,tokens2){var values=[];outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token==tokens2[j])continue outer;values.push(token)}return values}function arrayClasses(classVal){var classes=[];return isArray(classVal)?(forEach(classVal,function(v){classes=classes.concat(arrayClasse
1s(v))}),classes):isString(classVal)?classVal.split(" "):isObject(classVal)?(forEach(classVal,function(v,k){v&&(classes=classes.concat(k.split(" ")))}),classes):classVal}}]}var ngClassDirective=classDirective("",!0),ngClassOddDirective=classDirective("Odd",0),ngClassEvenDirective=classDirective("Even",1),ngCloakDirective=ngDirective({compile:function(element,attr){attr.$set("ngCloak",void 0),element.removeClass("ng-cloak")}}),ngControllerDirective=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ngEventDirectives={},forceAsyncEvents={blur:!0,focus:!0};forEach("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(eventName){var directiveName=directiveNormalize("ng-"+eventName);ngEventDirectives[directiveName]=["$parse","$rootScope",function($parse,$rootScope){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr[directiveName],null,!0);return function(scope,element){element.on(eventName,function(event){var callback=function(){fn(scope,{$event:event})};forceAsyncEvents[eventName]&&$rootScope.$$phase?scope.$evalAsync(callback):scope.$apply(callback)})}}}}]});var ngIfDirective=["$animate","$compile",function($animate,$compile){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function($scope,$element,$attr,ctrl,$transclude){var block,childScope,previousElements;$scope.$watch($attr.ngIf,function(value){value?childScope||$transclude(function(clone,newScope){childScope=newScope,clone[clone.length++]=$compile.$$createComment("end ngIf",$attr.ngIf),block={clone:clone},$animate.enter(clone,$element.parent(),$element)}):(previousElements&&(previousElements.remove(),previousElements=null),childScope&&(childScope.$destroy(),childScope=null),block&&(previousElements=getBlockNodes(block.clone),$animate.leave(previousElements).then(function(){previousElements=null}),block=null))})}}}],ngIncludeDirective=["$templateRequest","$anchorScroll","$animate",function($templateRequest,$anchorScroll,$animate){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:angular.noop,compile:function(element,attr){var srcExp=attr.ngInclude||attr.src,onloadExp=attr.onload||"",autoScrollExp=attr.autoscroll;return function(scope,$element,$attr,ctrl,$transclude){var currentScope,previousElement,currentElement,changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).then(function(){previousElement=null}),previousElement=currentElement,currentElement=null)};scope.$watch(srcExp,function(src){var afterAnimation=function(){!isDefined(autoScrollExp)||autoScrollExp&&!scope.$eval(autoScrollExp)||$anchorScroll()},thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(!scope.$$destroyed&&thisChangeId===changeCounter){var newScope=scope.$new();ctrl.template=response;var clone=$transclude(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,null,$element).then(afterAnimation)});currentElement=clone,(currentScope=newScope).$emit("$includeContentLoaded",src),scope.$eval(onloadExp)}},function(){scope.$$destroyed||thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):(cleanupLastIncludeContent(),ctrl.template=null)})}}}}],ngIncludeFillContentDirective=["$compile",function($compile){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(scope,$element,$attr,ctrl){if(toString.call($element[0]).match(/SVG/))return $element.empty(),void $compile(jqLiteBuildFragment(ctrl.template,window.document).childNodes)(scope,function(clone){$element.append(clone)},{futureParentElement:$element});$element.html(ctrl.template),$compile($element.contents())(scope)}}}],ngInitDirective=ngDirective({priority:450,compile:function(){return{pre:function(scope,element,attrs){scope.$eval(attrs.ngInit)}}}}),ngListDirective=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(scope,element,attr,ctrl){var ngList=element.attr(attr.$attr.ngList)||", ",trimValues="false"!==attr.ngTrim,separator=trimValues?trim(ngList):ngList;ctrl.$parsers.push(function(viewValue){if(!isUndefined(viewValue)){var list=[];
1return viewValue&&forEach(viewValue.split(separator),function(value){value&&list.push(trimValues?trim(value):value)}),list}}),ctrl.$formatters.push(function(value){if(isArray(value))return value.join(ngList)}),ctrl.$isEmpty=function(value){return!value||!value.length}}}},VALID_CLASS="ng-valid",INVALID_CLASS="ng-invalid",PRISTINE_CLASS="ng-pristine",DIRTY_CLASS="ng-dirty",PENDING_CLASS="ng-pending",ngModelMinErr=minErr("ngModel"),NgModelController=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function($scope,$exceptionHandler,$attr,$element,$parse,$animate,$timeout,$rootScope,$q,$interpolate){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=$interpolate($attr.name||"",!1)($scope),this.$$parentForm=nullFormCtrl;var parserValid,parsedNgModel=$parse($attr.ngModel),parsedNgModelAssign=parsedNgModel.assign,ngModelGet=parsedNgModel,ngModelSet=parsedNgModelAssign,pendingDebounce=null,ctrl=this;this.$$setOptions=function(options){if(ctrl.$options=options,options&&options.getterSetter){var invokeModelGetter=$parse($attr.ngModel+"()"),invokeModelSetter=$parse($attr.ngModel+"($$$p)");ngModelGet=function($scope){var modelValue=parsedNgModel($scope);return isFunction(modelValue)&&(modelValue=invokeModelGetter($scope)),modelValue},ngModelSet=function($scope,newValue){isFunction(parsedNgModel($scope))?invokeModelSetter($scope,{$$$p:newValue}):parsedNgModelAssign($scope,newValue)}}else if(!parsedNgModel.assign)throw ngModelMinErr("nonassign","Expression '{0}' is non-assignable. Element: {1}",$attr.ngModel,startingTag($element))},this.$render=noop,this.$isEmpty=function(value){return isUndefined(value)||""===value||null===value||value!=value},this.$$updateEmptyClasses=function(value){ctrl.$isEmpty(value)?($animate.removeClass($element,"ng-not-empty"),$animate.addClass($element,"ng-empty")):($animate.removeClass($element,"ng-empty"),$animate.addClass($element,"ng-not-empty"))};var currentValidationRunId=0;addSetValidityMethod({ctrl:this,$element:$element,set:function(object,property){object[property]=!0},unset:function(object,property){delete object[property]},$animate:$animate}),this.$setPristine=function(){ctrl.$dirty=!1,ctrl.$pristine=!0,$animate.removeClass($element,DIRTY_CLASS),$animate.addClass($element,PRISTINE_CLASS)},this.$setDirty=function(){ctrl.$dirty=!0,ctrl.$pristine=!1,$animate.removeClass($element,PRISTINE_CLASS),$animate.addClass($element,DIRTY_CLASS),ctrl.$$parentForm.$setDirty()},this.$setUntouched=function(){ctrl.$touched=!1,ctrl.$untouched=!0,$animate.setClass($element,"ng-untouched","ng-touched")},this.$setTouched=function(){ctrl.$touched=!0,ctrl.$untouched=!1,$animate.setClass($element,"ng-touched","ng-untouched")},this.$rollbackViewValue=function(){$timeout.cancel(pendingDebounce),ctrl.$viewValue=ctrl.$$lastCommittedViewValue,ctrl.$render()},this.$validate=function(){if(!isNumber(ctrl.$modelValue)||!isNaN(ctrl.$modelValue)){var viewValue=ctrl.$$lastCommittedViewValue,modelValue=ctrl.$$rawModelValue,prevValid=ctrl.$valid,prevModelValue=ctrl.$modelValue,allowInvalid=ctrl.$options&&ctrl.$options.allowInvalid;ctrl.$$runValidators(modelValue,viewValue,function(allValid){allowInvalid||prevValid===allValid||(ctrl.$modelValue=allValid?modelValue:void 0,ctrl.$modelValue!==prevModelValue&&ctrl.$$writeModelToScope())})}},this.$$runValidators=function(modelValue,viewValue,doneCallback){var validatorPromises,allValid,localValidationRunId=++currentValidationRunId;(function(){var errorKey=ctrl.$$parserName||"parse";if(!isUndefined(parserValid))return parserValid||(forEach(ctrl.$validators,function(v,name){setValidity(name,null)}),forEach(ctrl.$asyncValidators,function(v,name){setValidity(name,null)})),setValidity(errorKey,parserValid),parserValid;
1setValidity(errorKey,null);return!0})()?!function(){var syncValidatorsValid=!0;if(forEach(ctrl.$validators,function(validator,name){var result=validator(modelValue,viewValue);syncValidatorsValid=syncValidatorsValid&&result,setValidity(name,result)}),!syncValidatorsValid)return forEach(ctrl.$asyncValidators,function(v,name){setValidity(name,null)}),!1;return!0}()?validationDone(!1):(validatorPromises=[],allValid=!0,forEach(ctrl.$asyncValidators,function(validator,name){var promise=validator(modelValue,viewValue);if(!isPromiseLike(promise))throw ngModelMinErr("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",promise);setValidity(name,void 0),validatorPromises.push(promise.then(function(){setValidity(name,!0)},function(){allValid=!1,setValidity(name,!1)}))}),validatorPromises.length?$q.all(validatorPromises).then(function(){validationDone(allValid)},noop):validationDone(!0)):validationDone(!1);function setValidity(name,isValid){localValidationRunId===currentValidationRunId&&ctrl.$setValidity(name,isValid)}function validationDone(allValid){localValidationRunId===currentValidationRunId&&doneCallback(allValid)}},this.$commitViewValue=function(){var viewValue=ctrl.$viewValue;$timeout.cancel(pendingDebounce),(ctrl.$$lastCommittedViewValue!==viewValue||""===viewValue&&ctrl.$$hasNativeValidators)&&(ctrl.$$updateEmptyClasses(viewValue),ctrl.$$lastCommittedViewValue=viewValue,ctrl.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){var modelValue=ctrl.$$lastCommittedViewValue;if(parserValid=!isUndefined(modelValue)||void 0)for(var i=0;i<ctrl.$parsers.length;i++)if(isUndefined(modelValue=ctrl.$parsers[i](modelValue))){parserValid=!1;break}isNumber(ctrl.$modelValue)&&isNaN(ctrl.$modelValue)&&(ctrl.$modelValue=ngModelGet($scope));var prevModelValue=ctrl.$modelValue,allowInvalid=ctrl.$options&&ctrl.$options.allowInvalid;function writeToModelIfNeeded(){ctrl.$modelValue!==prevModelValue&&ctrl.$$writeModelToScope()}ctrl.$$rawModelValue=modelValue,allowInvalid&&(ctrl.$modelValue=modelValue,writeToModelIfNeeded()),ctrl.$$runValidators(modelValue,ctrl.$$lastCommittedViewValue,function(allValid){allowInvalid||(ctrl.$modelValue=allValid?modelValue:void 0,writeToModelIfNeeded())})},this.$$writeModelToScope=function(){ngModelSet($scope,ctrl.$modelValue),forEach(ctrl.$viewChangeListeners,function(listener){try{listener()}catch(e){$exceptionHandler(e)}})},this.$setViewValue=function(value,trigger){ctrl.$viewValue=value,ctrl.$options&&!ctrl.$options.updateOnDefault||ctrl.$$debounceViewValueCommit(trigger)},this.$$debounceViewValueCommit=function(trigger){var debounce,debounceDelay=0,options=ctrl.$options;options&&isDefined(options.debounce)&&(isNumber(debounce=options.debounce)?debounceDelay=debounce:isNumber(debounce[trigger])?debounceDelay=debounce[trigger]:isNumber(debounce.default)&&(debounceDelay=debounce.default)),$timeout.cancel(pendingDebounce),debounceDelay?pendingDebounce=$timeout(function(){ctrl.$commitViewValue()},debounceDelay):$rootScope.$$phase?ctrl.$commitViewValue():$scope.$apply(function(){ctrl.$commitViewValue()})},$scope.$watch(function(){var modelValue=ngModelGet($scope);if(modelValue!==ctrl.$modelValue&&(ctrl.$modelValue==ctrl.$modelValue||modelValue==modelValue)){ctrl.$modelValue=ctrl.$$rawModelValue=modelValue,parserValid=void 0;for(var formatters=ctrl.$formatters,idx=formatters.length,viewValue=modelValue;idx--;)viewValue=formatters[idx](viewValue);ctrl.$viewValue!==viewValue&&(ctrl.$$updateEmptyClasses(viewValue),ctrl.$viewValue=ctrl.$$lastCommittedViewValue=viewValue,ctrl.$render(),ctrl.$$runValidators(modelValue,viewValue,noop))}return modelValue})}],ngModelDirective=["$rootScope",function($rootScope){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:NgModelController,priority:1,compile:function(element){return element.addClass(PRISTINE_CLASS).addClass("ng-untouched").addClass(VALID_CLASS),{pre:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0],formCtrl=ctrls[1]||modelCtrl.$$parentForm;modelCtrl.$$setOptions(ctrls[2]&&ctrls[2].$options),formCtrl.$addControl(modelCtrl),attr.$observe("name",function(newValue){modelCtrl.$name!==newValue&&modelCtrl.$$parentForm.$$renameControl(modelCtrl,newValue)}),scope.$on("$destroy",function(){modelCtrl.$$parentForm.$removeControl(modelCtrl)})},post:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0];modelCtrl.$options&&modelCtrl.$options.updateOn&&element.on(modelCtrl.$options.updateOn,function(ev){modelCtrl.$$debounceViewValueCommit(ev&&ev.type)}),element.on("blur",function(){modelCtrl.$touched||($rootScope.$$phase?scope.$evalAsync(modelCtrl.$setTouched):scope.$apply(modelCtrl.$setTouched))})}}}}}],DEFAULT_REGEXP=/(\s+|^)default(\s+|$)/,ngModelOptionsDirective=function(){return{restrict:"A",controller:["$scope","$attrs",function($scope,$attrs){var that=this;this.$options=copy($scope.$eval($attrs.ngModelOptions)),isDefined(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=trim(this.$options.updateOn.replace(DEFAULT_REGEXP,function(){return that.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}};function addSetValidityMethod(context){var ctrl=context.ctrl,$element=context.$element,classCache={},set=context.set,unset=context.unset,$animate=context.$animate;function cachedToggleClass(className,switchValue){switchValue&&!classCache[className]?($animate.addClass($element,className),classCache[className]=!0):!switchValue&&classCache[className]&&($animate.removeClass($element,className),classCache[className]=!1)}function toggleValidationCss(validationErrorKey,isValid){validationErrorKey=vali
1dationErrorKey?"-"+snake_case(validationErrorKey,"-"):"",cachedToggleClass(VALID_CLASS+validationErrorKey,!0===isValid),cachedToggleClass(INVALID_CLASS+validationErrorKey,!1===isValid)}classCache[INVALID_CLASS]=!(classCache[VALID_CLASS]=$element.hasClass(VALID_CLASS)),ctrl.$setValidity=function(validationErrorKey,state,controller){isUndefined(state)?function(name,value,controller){ctrl[name]||(ctrl[name]={});set(ctrl[name],value,controller)}("$pending",validationErrorKey,controller):function(name,value,controller){ctrl[name]&&unset(ctrl[name],value,controller);isObjectEmpty(ctrl[name])&&(ctrl[name]=void 0)}("$pending",validationErrorKey,controller);isBoolean(state)?state?(unset(ctrl.$error,validationErrorKey,controller),set(ctrl.$$success,validationErrorKey,controller)):(set(ctrl.$error,validationErrorKey,controller),unset(ctrl.$$success,validationErrorKey,controller)):(unset(ctrl.$error,validationErrorKey,controller),unset(ctrl.$$success,validationErrorKey,controller));ctrl.$pending?(cachedToggleClass(PENDING_CLASS,!0),ctrl.$valid=ctrl.$invali
1d=void 0,toggleValidationCss("",null)):(cachedToggleClass(PENDING_CLASS,!1),ctrl.$valid=isObjectEmpty(ctrl.$error),ctrl.$invalid=!ctrl.$valid,toggleValidationCss("",ctrl.$valid));var combinedState;combinedState=ctrl.$pending&&ctrl.$pending[validationErrorKey]?void 0:!ctrl.$error[validationErrorKey]&&(!!ctrl.$$success[validationErrorKey]||null);toggleValidationCss(validationErrorKey,combinedState),ctrl.$$parentForm.$setValidity(validationErrorKey,combinedState,ctrl)}}function isObjectEmpty(obj){if(obj)for(var prop in obj)if(obj.hasOwnProperty(prop))return!1;return!0}var ngNonBindableDirective=ngDirective({terminal:!0,priority:1e3}),ngOptionsMinErr=minErr("ngOptions"),NG_OPTIONS_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,ngOptionsDirective=["$compile","$document","$parse",function($compile,$document,$parse){var optionTemplate=window.document.createElement("option"),optGroupTemplate=window.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(scope,selectElement,attr,ctrls){ctrls[0].registerOption=noop},post:function(scope,selectElement,attr,ctrls){for(var emptyOption,selectCtrl=ctrls[0],ngModelCtrl=ctrls[1],multiple=attr.multiple,i=0,children=selectElement.children(),ii=children.length;i<ii;i++)if(""===children[i].value){emptyOption=children.eq(i);break}var options,providedEmptyOption=!!emptyOption,unknownOption=jqLite(optionTemplate.cloneNode(!1));unknownOption.val("?");var ngOptions=function(optionsExp,selectElement,scope){var match=optionsExp.match(NG_OPTIONS_REGEXP);if(!match)throw ngOptionsMinErr("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",optionsExp,startingTag(selectElement));var valueName=match[5]||match[7],keyName=match[6],selectAs=/ as /.test(match[0])&&match[1],trackBy=match[9],valueFn=$parse(match[2]?match[1]:valueName),viewValueFn=selectAs&&$parse(selectAs)||valueFn,trackByFn=trackBy&&$parse(trackBy),getTrackByValueFn=trackBy?function(value,locals){return trackByFn(scope,locals)}:function(value){return hashKey(value)},getTrackByValue=function(value,key){return getTrackByValueFn(value,getLocals(value,key))},displayFn=$parse(match[2]||match[1]),groupByFn=$parse(match[3]||""),disableWhenFn=$parse(match[4]||""),valuesFn=$parse(match[8]),locals={},getLocals=keyName?function(value,key){return locals[keyName]=key,locals[valueName]=value,locals}:function(value){return locals[valueName]=value,locals};function Option(selectValue,viewValue,label,group,disabled){this.selectValue=selectValue,this.viewValue=viewValue,this.label=label,this.group=group,this.disabled=disabled}function getOptionValuesKeys(optionValues){var optionValuesKeys;if(!keyName&&isArrayLike(optionValues))optionValuesKeys=optionValues;else for(var itemKey in optionValuesKeys=[],optionValues)optionValues.hasOwnProperty(itemKey)&&"$"!==itemKey.charAt(0)&&optionValuesKeys.push(itemKey);return optionValuesKeys}return{trackBy:trackBy,getTrackByValue:getTrackByValue,getWatchables:$parse(valuesFn,function(optionValues){for(var watchedArray=[],optionValuesKeys=getOptionValuesKeys(optionValues=optionValues||[]),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),selectValue=getTrackByValueFn(value,locals);if(watchedArray.push(selectValue),match[2]||match[1]){var label=displayFn(scope,locals);watchedArray.push(label)}if(match[4]){var disableWhen=disableWhenFn(scope,locals);watchedArray.push(disableWhen)}}return watchedArray}),getOptions:function(){for(var optionItems=[],selectValueMap={},optionValues=valuesFn(scope)||[],optionValuesKeys=getOptionValuesKeys(optionValues),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),viewValue=viewValueFn(scope,locals),selectValue=getTrackByValueFn(viewValue,locals),optionItem=new Option(selectValue,viewValue,displayFn(scope,locals),groupBy
1Fn(scope,locals),disableWhenFn(scope,locals));optionItems.push(optionItem),selectValueMap[selectValue]=optionItem}return{items:optionItems,selectValueMap:selectValueMap,getOptionFromViewValue:function(value){return selectValueMap[getTrackByValue(value)]},getViewValueFromOption:function(option){return trackBy?angular.copy(option.viewValue):option.viewValue}}}}}(attr.ngOptions,selectElement,scope),listFragment=$document[0].createDocumentFragment(),removeEmptyOption=function(){providedEmptyOption||emptyOption.remove()},removeUnknownOption=function(){unknownOption.remove()};function addOptionElement(option,parent){var optionElement=optionTemplate.cloneNode(!1);parent.appendChild(optionElement),function(option,element){option.element=element,element.disabled=option.disabled,option.label!==element.label&&(element.label=option.label,element.textContent=option.label),option.value!==element.value&&(element.value=option.selectValue)}(option,optionElement)}function updateOptions(){var previousValue=options&&selectCtrl.readValue();if(options)for(var i=options.items.length-1;i>=0;i--){var option=options.items[i];isDefined(option.group)?jqLiteRemove(option.element.parentNode):jqLiteRemove(option.element)}options=ngOptions.getOptions();var groupElementMap={};if(providedEmptyOption&&selectElement.prepend(emptyOption),options.items.forEach(function(option){var groupElement;isDefined(option.group)?((groupElement=groupElementMap[option.group])||(groupElement=optGroupTemplate.cloneNode(!1),listFragment.appendChild(groupElement),groupElement.label=null===option.group?"null":option.group,groupElementMap[option.group]=groupElement),addOptionElement(option,groupElement)):addOptionElement(option,listFragment)}),selectElement[0].appendChild(listFragment),ngModelCtrl.$render(),!ngModelCtrl.$isEmpty(previousValue)){var nextValue=selectCtrl.readValue();(ngOptions.trackBy||multiple?equals(previousValue,nextValue):previousValue===nextValue)||(ngModelCtrl.$setViewValue(nextValue),ngModelCtrl.$render())}}multiple?(ngModelCtrl.$isEmpty=function(value){return!value||0===value.length},selectCtrl.writeValue=function(value){options.items.forEach(function(option){option.element.selected=!1}),value&&value.forEach(function(item){var option=options.getOptionFromViewValue(item);option&&(option.element.selected=!0)})},selectCtrl.readValue=function(){var selections=[];return forEach(selectElement.val()||[],function(value){var option=options.selectValueMap[value];option&&!option.disabled&&selections.push(options.getViewValueFromOption(option))}),selections},ngOptions.trackBy&&scope.$watchCollection(function(){if(isArray(ngModelCtrl.$viewValue))return ngModelCtrl.$viewValue.map(function(value){return ngOptions.getTrackByValue(value)})},function(){ngModelCtrl.$render()})):(selectCtrl.writeValue=function(value){var option=options.getOptionFromViewValue(value);option?(selectElement[0].value!==option.selectValue&&(removeUnknownOption(),removeEmptyOption(),selectElement[0].value=option.selectValue,option.element.selected=!0),option.element.setAttribute("selected","selected")):null===value||providedEmptyOption?(removeUnknownOption(),providedEmptyOption||selectElement.prepend(emptyOption),selectElement.val(""),emptyOption.prop("selected",!0),emptyOption.attr("selected",!0)):(removeEmptyOption(),selectElement.prepend(unknownOption),selectElement.val("?"),unknownOption.prop("selected",!0),unknownOption.attr("selected",!0))},selectCtrl.readValue=function(){var selectedOption=options.selectValueMap[selectElement.val()];return selectedOption&&!selectedOption.disabled?(removeEmptyOption(),removeUnknownOption(),options.getViewValueFromOption(selectedOption)):null},ngOptions.trackBy&&scope.$watch(function(){return ngOptions.getTrackByValue(ngModelCtrl.$viewValue)},function(){ngModelCtrl.$render()})),providedEmptyOption?(emptyOption.remove(),$compile(emptyOption)(scope),emptyOption.removeClass("ng-scope")):emptyOption=jqLite(optionTemplate.cloneNode(!1)),selectElement.empty(),updateOptions(),scope.$watchCollection(ngOptions.getWatchables,updateOptions)}}}}],ngPluralizeDirective=["$locale","$interpolate","$log",function($locale,$interpolate,$log){var BRACE=/{}
1/g,IS_WHEN=/^when(Minus)?(.+)$/;return{link:function(scope,element,attr){var lastCount,numberExp=attr.count,whenExp=attr.$attr.when&&element.attr(attr.$attr.when),offset=attr.offset||0,whens=scope.$eval(whenExp)||{},whensExpFns={},startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),braceReplacement=startSymbol+numberExp+"-"+offset+endSymbol,watchRemover=angular.noop;function updateElementText(newText){element.text(newText||"")}forEach(attr,function(expression,attributeName){var tmpMatch=IS_WHEN.exec(attributeName);if(tmpMatch){var whenKey=(tmpMatch[1]?"-":"")+lowercase(tmpMatch[2]);whens[whenKey]=element.attr(attr.$attr[attributeName])}}),forEach(whens,function(expression,key){whensExpFns[key]=$interpolate(expression.replace(BRACE,braceReplacement))}),scope.$watch(numberExp,function(newVal){var count=parseFloat(newVal),countIsNaN=isNaN(count);if(countIsNaN||count in whens||(count=$locale.pluralCat(count-offset)),count!==lastCount&&!(countIsNaN&&isNumber(lastCount)&&isNaN(lastCount))){watchRemover();var whenExpFn=whensExpFns[count];isUndefined(whenExpFn)?(null!=newVal&&$log.debug("ngPluralize: no rule defined for '"+count+"' in "+whenExp),watchRemover=noop,updateElementText()):watchRemover=scope.$watch(whenExpFn,updateElementText),lastCount=count}})}}}],ngRepeatDirective=["$parse","$animate","$compile",function($parse,$animate,$compile){var ngRepeatMinErr=minErr("ngRepeat"),updateScope=function(scope,index,valueIdentifier,value,keyIdentifier,key,arrayLength){scope[valueIdentifier]=value,keyIdentifier&&(scope[keyIdentifier]=key),scope.$index=index,scope.$first=0===index,scope.$last=index===arrayLength-1,scope.$middle=!(scope.$first||scope.$last),scope.$odd=!(scope.$even=0==(1&index))},getBlockStart=function(block){return block.clone[0]},getBlockEnd=function(block){return block.clone[block.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function($element,$attr){var expression=$attr.ngRepeat,ngRepeatEndComment=$compile.$$createComment("end ngRepeat",expression),match=expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!match)throw ngRepeatMinErr("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",expression);var lhs=match[1],rhs=match[2],aliasAs=match[3],trackByExp=match[4];if(!(match=lhs.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/)))throw ngRepeatMinErr("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",lhs);var trackByExpGetter,trackByIdExpFn,trackByIdArrayFn,trackByIdObjFn,valueIdentifier=match[3]||match[1],keyIdentifier=match[2];if(aliasAs&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(aliasAs)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(aliasAs)))throw ngRepeatMinErr("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",aliasAs);var hashFnLocals={$id:hashKey};return trackByExp?trackByExpGetter=$parse(trackByExp):(trackByIdArrayFn=function(key,value){return hashKey(value)},trackByIdObjFn=function(key){return key}),function($scope,$element,$attr,ctrl,$transclude){trackByExpGetter&&(trackByIdExpFn=function(key,value,index){return keyIdentifier&&(hashFnLocals[keyIdentifier]=key),hashFnLocals[valueIdentifier]=value,hashFnLocals.$index=index,trackByExpGetter($scope,hashFnLocals)});var lastBlockMap=createMap();$scope.$watchCollection(rhs,function(collection){var index,length,nextNode,collectionLength,key,value,trackById,trackByIdFn,collectionKeys,block,nextBlockOrder,elementsToRemove,previousNode=$element[0],nextBlockMap=createMap();if(aliasAs&&($scope[aliasAs]=collection),isArrayLike(collection))collectionKeys=collection,trackByIdFn=trackByIdExpFn||trackByIdArrayFn;else for(var itemKey in trackByIdFn=trackByIdExpFn||trackByIdObjFn,collectionKeys=[],collection)hasOwnProperty.call(collection,itemKey)&&"$"!==itemKey.charAt(0)&&collectionKeys.push(itemKey);for(collectionLength=collectionKeys.length,nextBlockOrder=new Array(collectionLength),index=0;
1index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],trackById=trackByIdFn(key,value,index),lastBlockMap[trackById])block=lastBlockMap[trackById],delete lastBlockMap[trackById],nextBlockMap[trackById]=block,nextBlockOrder[index]=block;else{if(nextBlockMap[trackById])throw forEach(nextBlockOrder,function(block){block&&block.scope&&(lastBlockMap[block.id]=block)}),ngRepeatMinErr("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",expression,trackById,value);nextBlockOrder[index]={id:trackById,scope:void 0,clone:void 0},nextBlockMap[trackById]=!0}for(var blockKey in lastBlockMap){if(elementsToRemove=getBlockNodes((block=lastBlockMap[blockKey]).clone),$animate.leave(elementsToRemove),elementsToRemove[0].parentNode)for(index=0,length=elementsToRemove.length;index<length;index++)elementsToRemove[index].$$NG_REMOVED=!0;block.scope.$destroy()}for(index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],(block=nextBlockOrder[index]).scope){nextNode=previousNode;do{nextNode=nextNode.nextSibling}while(nextNode&&nextNode.$$NG_REMOVED);getBlockStart(block)!=nextNode&&$animate.move(getBlockNodes(block.clone),null,previousNode),previousNode=getBlockEnd(block),updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)}else $transclude(function(clone,scope){block.scope=scope;var endNode=ngRepeatEndComment.cloneNode(!1);clone[clone.length++]=endNode,$animate.enter(clone,null,previousNode),previousNode=endNode,block.clone=clone,nextBlockMap[block.id]=block,updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)});lastBlockMap=nextBlockMap})}}}}],ngShowDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngShow,function(value){$animate[value?"removeClass":"addClass"](element,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ngHideDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngHide,function(value){$animate[value?"addClass":"removeClass"](element,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ngStyleDirective=ngDirective(function(scope,element,attr){scope.$watch(attr.ngStyle,function(newStyles,oldStyles){oldStyles&&newStyles!==oldStyles&&forEach(oldStyles,function(val,style){element.css(style,"")}),newStyles&&element.css(newStyles)},!0)}),ngSwitchDirective=["$animate","$compile",function($animate,$compile){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(scope,element,attr,ngSwitchController){var watchExpr=attr.ngSwitch||attr.on,selectedTranscludes=[],selectedElements=[],previousLeaveAnimations=[],selectedScopes=[],spliceFactory=function(array,index){return function(){array.splice(index,1)}};scope.$watch(watchExpr,function(value){var i,ii;for(i=0,ii=previousLeaveAnimations.length;i<ii;++i)$animate.cancel(previousLeaveAnimations[i]);for(previousLeaveAnimations.length=0,i=0,ii=selectedScopes.length;i<ii;++i){var selected=getBlockNodes(selectedElements[i].clone);selectedScopes[i].$destroy(),(previousLeaveAnimations[i]=$animate.leave(selected)).then(spliceFactory(previousLeaveAnimations,i))}selectedElements.length=0,selectedScopes.length=0,(selectedTranscludes=ngSwitchController.cases["!"+value]||ngSwitchController.cases["?"])&&forEach(selectedTranscludes,function(selectedTransclude){selectedTransclude.transclude(function(caseElement,selectedScope){selectedScopes.push(selectedScope);var anchor=selectedTransclude.element;caseElement[caseElement.length++]=$compile.$$createComment("end ngSwitchWhen");var block={clone:caseElement};selectedElements.push(block),$animate.enter(caseElement,anchor.parent(),anchor)})})})}}}],ngSwitchWhenDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attrs,ctrl,$transclude){ctrl.cases["!"+attrs.ngSwitchWhen]=ctrl.cases["!"+attrs.ngSwitchWhen]||[],ctrl.cases["!"+attrs.ngSwitchWhen].push({transclude:$transclude,element:element})}}),ngSwitchDefaultDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attr,ctrl,$transclude){ctrl.cases["?"]=ctrl.cases["?"]||[],ctrl.cases["?"].push({transclude:$transclude,element:element})}}),ngTranscludeMinErr=minErr("ngTransclude"),ngTranscludeDirective=["$compile",function($compile){return{restrict:"EAC",terminal:!0,compile:function(tElement){var fallbackLinkFn=$compile(tElement.contents());return tElement.empty(),function($scope,$element,$attrs,controller,$transclude){if(!$transclude)throw ngTranscludeMinErr("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",startingTag($element));$attrs.ngTransclude===$attrs.$attr.ngTransclude&&($attrs.ngTransclude="");var slotName=$attrs.ngTransclude||$attrs.ngTranscludeSlot;function useFallbackContent(){fallbackLinkFn($scope,function(clone){$element.append(clone)})}$transclude(function(clone,transcludedScope){clone.length?$element.append(clone):(useFallbackContent(),transcludedScope.$destroy())},null,slotName),slotName&&!$transclude.isSlotFilled(slotName)&&useFallbackContent()}}}}],scriptDirective=["$templateCache",function($templateCache){return{restrict:"E",terminal:!0,compile:function(element,attr){if("text/ng-template"==attr.type){var templateUrl=attr.id,text=element[0].text;$templateCache.put(templateUrl,text)}}}}],noopNgModelController={$setViewValue:noop,$render:noop};var SelectController=["$element","$scope",function($element,$scope){var self=this,optionsMap=new HashMap;self.ngModelCtrl=noopNgModelController,self.unknownOption=jqLite(window.document.createElement("option")),self.renderUnknownOption=function(val){var unknownVal="? "+hashKey(val)+" ?";
1self.unknownOption.val(unknownVal),$element.prepend(self.unknownOption),$element.val(unknownVal)},$scope.$on("$destroy",function(){self.renderUnknownOption=noop}),self.removeUnknownOption=function(){self.unknownOption.parent()&&self.unknownOption.remove()},self.readValue=function(){return self.removeUnknownOption(),$element.val()},self.writeValue=function(value){self.hasOption(value)?(self.removeUnknownOption(),$element.val(value),""===value&&self.emptyOption.prop("selected",!0)):null==value&&self.emptyOption?(self.removeUnknownOption(),$element.val("")):self.renderUnknownOption(value)},self.addOption=function(value,element){if(element[0].nodeType!==NODE_TYPE_COMMENT){assertNotHasOwnProperty(value,'"option value"'),""===value&&(self.emptyOption=element);var optionElement,count=optionsMap.get(value)||0;optionsMap.put(value,count+1),self.ngModelCtrl.$render(),(optionElement=element)[0].hasAttribute("selected")&&(optionElement[0].selected=!0)}},self.removeOption=function(value){var count=optionsMap.get(value);count&&(1===count?(optionsMap.remove(value),""===value&&(self.emptyOption=void 0)):optionsMap.put(value,count-1))},self.hasOption=function(value){return!!optionsMap.get(value)},self.registerOption=function(optionScope,optionElement,optionAttrs,interpolateValueFn,interpolateTextFn){var oldVal;interpolateValueFn?optionAttrs.$observe("value",function(newVal){isDefined(oldVal)&&self.removeOption(oldVal),oldVal=newVal,self.addOption(newVal,optionElement)}):interpolateTextFn?optionScope.$watch(interpolateTextFn,function(newVal,oldVal){optionAttrs.$set("value",newVal),oldVal!==newVal&&self.removeOption(oldVal),self.addOption(newVal,optionElement)}):self.addOption(optionAttrs.value,optionElement);optionElement.on("$destroy",function(){self.removeOption(optionAttrs.value),self.ngModelCtrl.$render()})}}],selectDirective=function(){return{restrict:"E",require:["select","?ngModel"],controller:SelectController,priority:1,link:{pre:function(scope,element,attr,ctrls){var ngModelCtrl=ctrls[1];if(!ngModelCtrl)return;var selectCtrl=ctrls[0];if(selectCtrl.ngModelCtrl=ngModelCtrl,element.on("change",function(){scope.$apply(function(){ngModelCtrl.$setViewValue(selectCtrl.readValue())})}),attr.multiple){selectCtrl.readValue=function(){var array=[];return forEach(element.find("option"),function(option){option.selected&&array.push(option.value)}),array},selectCtrl.writeValue=function(value){var items=new HashMap(value);forEach(element.find("option"),function(option){option.selected=isDefined(items.get(option.value))})};var lastView,lastViewRef=NaN;scope.$watch(function(){lastViewRef!==ngModelCtrl.$viewValue||equals(lastView,ngModelCtrl.$viewValue)||(lastView=shallowCopy(ngModelCtrl.$viewValue),ngModelCtrl.$render()),lastViewRef=ngModelCtrl.$viewValue}),ngModelCtrl.$isEmpty=function(value){return!value||0===value.length}}},post:function(scope,element,attrs,ctrls){var ngModelCtrl=ctrls[1];if(!ngModelCtrl)return;var selectCtrl=ctrls[0];ngModelCtrl.$render=function(){selectCtrl.writeValue(ngModelCtrl.$viewValue)}}}}},optionDirective=["$interpolate",function($interpolate){return{restrict:"E",priority:100,compile:function(element,attr){if(isDefined(attr.value))var interpolateValueFn=$interpolate(attr.value,!0);else{var interpolateTextFn=$interpolate(element.text(),!0);interpolateTextFn||attr.$set("value",element.text())}return function(scope,element,attr){var parent=element.parent(),selectCtrl=parent.data("$selectController")||parent.parent().data("$selectController");selectCtrl&&selectCtrl.registerOption(scope,element,attr,interpolateValueFn,interpolateTextFn)}}}}],styleDirective=valueFn({restrict:"E",terminal:!1}),requiredDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){ctrl&&(attr.required=!0,ctrl.$validators.required=function(modelValue,viewValue){return!attr.required||!ctrl.$isEmpty(viewValue)},attr.$observe("required",function(){ctrl.$validate()}))}}},patternDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var regexp,patternExp=attr.ngPattern||attr.pattern;attr.$observe("pattern",function(regex){if(isString(regex)&&regex.length>0&&(regex=new RegExp("^"+regex+"$")),regex&&!regex.test)throw minErr("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",patternExp,regex,startingTag(elm));regexp=regex||void 0,ctrl.$validate()}),ctrl.$validators.pattern=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(regexp)||regexp.test(viewValue)}}}}},maxlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var maxlength=-1;attr.$observe("maxlength",function(value){var intVal=toInt(value);maxlength=isNaN(intVal)?-1:intVal,ctrl.$validate()}),ctrl.$validators.maxlength=function(modelValue,viewValue){return maxlength<0||ctrl.$isEmpty(viewValue)||viewValue.length<=maxlength}}}}},minlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var minlength=0;attr.$observe("minlength",function(value){minlength=toInt(value)||0,ctrl.$validate()}),ctrl.$validators.minlength=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||viewValue.length>=minlength}}}}};window.angular.bootstrap?window.console&&console.log("WARNING: Tried to load angular more than once."):(!function(){var originalCleanData;if(!bindJQueryFired){var jqName=jq();(jQuery=isUndefined(jqName)?window.jQuery:jqName?window[jqName]:void 0)&&jQuery.fn.on?(jqLite=jQuery,extend(jQuery.fn,{scope:JQLitePrototype.scope,isolateScope:JQLitePrototype.isolateScope,controller:JQLitePrototype.controller,injector:JQLitePrototype.injector,inheritedData:JQLitePrototype.inheritedData}),originalCleanData=jQuery.cleanData,jQuery.cleanData=function(elems){for(var events,elem,i=0;null!=(elem=elems[i]);i++)(events=jQuery._data(elem,"events"))&&events.$destroy&&jQuery(elem).triggerHandler("$destroy");originalCleanData(elems)}):jqLite=JQLite,angular.element=jqLite,bindJQueryFired=!0}}(),function(angular){extend(angular,{bootstrap:bootstrap,copy:copy,extend:extend,merge:merge,equals:equals,element:jqLite,forEach:forEach,injector:createInjector,noop:noop,bind:bind,toJson:toJson,fromJson:fromJson,identity:identity,isUndefined:isUndefined,isDefined:isDefined,isString:isString,isFunction:isFunction,isObject:isObject,isNumber:isNumber,isElement:isElement,isArray:isArray,version:version,isDate:isDate,lowercase:lowercase,uppercase:uppercase,callbacks:{$$counter:0},getTestability:getTestability,$$minErr:minErr,$$csp:csp,reloadWithDebugInfo:reloadWithDebugInfo}),(angularModule=function(window){var $injectorMinErr=minErr("$injector"),ngMinErr=minErr("ng");function ensure(obj,name,factory){return obj[name]||(obj[name]=factory())}var angular=ensure(window,"angular",Object);return angular.$$minErr=angular.$$minErr||minErr,ensure(angular,"module",function(){var modules={};return function(name,requires,configFn){return function(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}(name,"module"),requires&&modules.hasOwnProperty(name)&&(modules[name]=null),ensure(modules,name,function(){if(!requires)throw $injectorMinErr("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",n
1ame);var invokeQueue=[],configBlocks=[],runBlocks=[],config=invokeLater("$injector","invoke","push",configBlocks),moduleInstance={_invokeQueue:invokeQueue,_configBlocks:configBlocks,_runBlocks:runBlocks,requires:requires,name:name,provider:invokeLaterAndSetModuleName("$provide","provider"),factory:invokeLaterAndSetModuleName("$provide","factory"),service:invokeLaterAndSetModuleName("$provide","service"),value:invokeLater("$provide","value"),constant:invokeLater("$provide","constant","unshift"),decorator:invokeLaterAndSetModuleName("$provide","decorator"),animation:invokeLaterAndSetModuleName("$animateProvider","register"),filter:invokeLaterAndSetModuleName("$filterProvider","register"),controller:invokeLaterAndSetModuleName("$controllerProvider","register"),directive:invokeLaterAndSetModuleName("$compileProvider","directive"),component:invokeLaterAndSetModuleName("$compileProvider","component"),config:config,run:function(block){return runBlocks.push(block),this}};return configFn&&config(configFn),moduleInstance;function invokeLater(provider,method,insertMethod,queue){return queue||(queue=invokeQueue),function(){return queue[insertMethod||"push"]([provider,method,arguments]),moduleInstance}}function invokeLaterAndSetModuleName(provider,method){return function(recipeName,factoryFunction){return factoryFunction&&isFunction(factoryFunction)&&(factoryFunction.$$moduleName=name),invokeQueue.push([provider,method,arguments]),moduleInstance}}})}})}(window))("ng",["ngLocale"],["$provide",function($provide){$provide.provider({$$sanitizeUri:$$SanitizeUriProvider}),$provide.provider("$compile",$CompileProvider).directive({a:htmlAnchorDirective,input:inputDirective,textarea:inputDirective,form:formDirective,script:scriptDirective,select:selectDirective,style:styleDirective,option:optionDirective,ngBind:ngBindDirective,ngBindHtml:ngBindHtmlDirective,ngBindTemplate:ngBindTemplateDirective,ngClass:ngClassDirective,ngClassEven:ngClassEvenDirective,ngClassOdd:ngClassOddDirective,ngCloak:ngCloakDirective,ngController:ngControllerDirective,ngForm:ngFormDirective,ngHide:ngHideDirective,ngIf:ngIfDirective,ngInclude:ngIncludeDirective,ngInit:ngInitDirective,ngNonBindable:ngNonBindableDirective,ngPluralize:ngPluralizeDirective,ngRepeat:ngRepeatDirective,ngShow:ngShowDirective,ngStyle:ngStyleDirective,ngSwitch:ngSwitchDirective,ngSwitchWhen:ngSwitchWhenDirective,ngSwitchDefault:ngSwitchDefaultDirective,ngOptions:ngOptionsDirective,ngTransclude:ngTranscludeDirective,ngModel:ngModelDirective,ngList:ngListDirective,ngChange:ngChangeDirective,pattern:patternDirective,ngPattern:patternDirective,required:requiredDirective,ngRequired:requiredDirective,minlength:minlengthDirective,ngMinlength:minlengthDirective,maxlength:maxlengthDirective,ngMaxlength:maxlengthDirective,ngValue:ngValueDirective,ngModelOptions:ngModelOptionsDirective}).directive({ngInclude:ngIncludeFillContentDirective}).directive(ngAttributeAliasDirectives).directive(ngEventDirectives),$provide.provider({$anchorScroll:$AnchorScrollProvider,$animate:$AnimateProvider,$animateCss:$CoreAnimateCssProvider,$$animateJs:$$CoreAnimateJsProvider,$$animateQueue:$$CoreAnimateQueueProvider,$$AnimateRunner:$$AnimateRunnerFactoryProvider,$$animateAsyncRun:$$AnimateAsyncRunFactoryProvider,$browser:$BrowserProvider,$cacheFactory:$CacheFactoryProvider,$controller:$ControllerProvider,$document:$DocumentProvider,$exceptionHandler:$ExceptionHandlerProvider,$filter:$FilterProvider,$$forceReflow:$$ForceReflowProvider,$interpolate:$InterpolateProvider,$interval:$IntervalProvider,$http:$HttpProvider,$httpParamSerializer:$HttpParamSerializerProvider,$httpParamSerializerJQLike:$HttpParamSerializerJQLikeProvider,$httpBackend:$HttpBackendProvider,$xhrFactory:$xhrFactoryProvider,$jsonpCallbacks:$jsonpCallbacksProvider,$location:$LocationProvider,$log:$LogProvider,$parse:$ParseProvider,$rootScope:$RootScopeProvider,$q:$QProvider,$$q:$$QProvider,$sce:$SceProvider,$sceDelegate:$SceDelegateProvider,$sniffer:$SnifferProvider,$templateCache:$TemplateCacheProvider,$templateRequest:$TemplateRequestProvider,$$testability:$$TestabilityProvi
1der,$timeout:$TimeoutProvider,$window:$WindowProvider,$$rAF:$$RAFProvider,$$jqLite:$$jqLiteProvider,$$HashMap:$$HashMapProvider,$$cookieReader:$$CookieReaderProvider})}])}(angular),angular.module("ngLocale",[],["$provide",function($provide){var PLURAL_CATEGORY_ONE="one",PLURAL_CATEGORY_OTHER="other";$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(n,opt_precision){var i=0|n,vf=function(n,opt_precision){var v=opt_precision;void 0===v&&(v=Math.min(function(n){var i=(n+="").indexOf(".");return-1==i?0:n.length-i-1}(n),3));var base=Math.pow(10,v);return{v:v,f:(n*base|0)%base}}(n,opt_precision);return 1==i&&0==vf.v?PLURAL_CATEGORY_ONE:PLURAL_CATEGORY_OTHER}})}]),jqLite(window.document).ready(function(){angularInit(window.document,bootstrap)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),"undefined"==typeof jQuery)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||1==version[0]&&9==version[1]&&version[2]<1||version[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),function($){"use strict";$.fn.emulateTransitionEnd=function(duration){var called=!1,$el=this;$(this).one("bsTransitionEnd",function(){called=!0});return setTimeout(function(){called||$($el).trigger($.support.transition.end)},duration),this},$(function(){$.support.transition=function(){var el=document.createElement("bootstrap"),transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var name in transEndEventNames)if(void 0!==el.style[name])return{end:transEndEventNames[name]};return!1}(),$.support.transition&&($.event.special.bsTransitionEnd={bindType:$.support.transition.end,delegateType:$.supp
vendor: 5,681 bytes, line 1
1ort.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"]',Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.VERSION="3.4.1",Alert.TRANSITION_DURATION=150,Alert.prototype.close=function(e){var $this=$(this),selector=$this.attr("data-target");selector||(selector=(selector=$this.attr("href"))&&selector.replace(/.*(?=#[^\s]*$)/,"")),selector="#"===selector?[]:selector;var $parent=$(document).find(selector);function removeElement(){$parent.detach().trigger("closed.bs.alert").remove()}e&&e.preventDefault(),$parent.length||($parent=$this.closest(".alert")),$parent.trigger(e=$.Event("close.bs.alert")),e.isDefaultPrevented()||($parent.removeClass("in"),$.support.transition&&$parent.hasClass("fade")?$parent.one("bsTransitionEnd",removeElement).emulateTransitionEnd(Alert.TRANSITION_DURATION):removeElement())};var old=$.fn.alert;$.fn.alert=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.alert");data||$this.data("bs.alert",data=new Alert(this)),"string"==typeof option&&data[option].call($this)})},$.fn.alert.Constructor=Alert,$.fn.alert.noConflict=function(){return $.fn.alert=old,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=!1};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.button"),options="object"==typeof option&&option;data||$this.data("bs.button",data=new Button(this,options)),"toggle"==option?data.toggle():option&&data.setState(option)})}Button.VERSION="3.4.1",Button.DEFAULTS={loadingText:"loading..."},Button.prototype.setState=function(state){var d="disabled",$el=this.$element,val=$el.is("input")?"val":"html",data=$el.data();state+="Text",null==data.resetText&&$el.data("resetText",$el[val]()),setTimeout($.proxy(function(){$el[val](null==data[state]?this.options[state]:data[state]),"loadingText"==state?(this.isLoading=!0,$el.addClass(d).attr(d,d).prop(d,!0)):this.isLoading&&(this.isLoading=!1,$el.removeClass(d).removeAttr(d).prop(d,!1))},this),0)},Button.prototype.toggle=function(){var changed=!0,$parent=this.$element.closest('[data-toggle="buttons"]');if($parent.length){var $input=this.$element.find("input");"radio"==$input.prop("type")?($input.prop("checked")&&(changed=!1),$parent.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==$input.prop("type")&&($input.prop("checked")!==this.$element.hasClass("active")&&(changed=!1),this.$element.toggleClass("active")),$input.prop("checked",this.$element.hasClass("active")),changed&&$input.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var old=$.fn.button;$.fn.button=Plugin,$.fn.button.Constructor=Button,$.fn.button.noConflict=function(){return $.fn.button=old,this},$(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(e){var $btn=$(e.target).closest(".btn");Plugin.call($btn,"toggle"),$(e.target).is('input[type="radio"], input[type="checkbox"]')||(e.preventDefault(),$btn.is("input,button")?$btn.trigger("focus"):$btn.find("input:visible,button:visible").first().trigger("focus"))}).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)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",$.proxy(this.pause,this)).on("mouseleave.bs.carousel",$.proxy(this.cycle,this))};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.carousel"),options=$.extend({},Carousel.DEFAULTS,$this.data(),"object"==typeof option&&option),action="string"==typeof option?option:options.slide;data||$this.data("bs.carousel",data=new Carousel(this,options)),"number"==typeof option?data.to(option):action?data[action]():options.interval&&data.pause().cycle()})}Carousel.VERSION="3.4.1",Carousel.TRANSITION_DURATION=600,Carousel.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},Carousel.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},Carousel.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)),this},Carousel.prototype.getItemIndex=function(item){return this.$items=item.parent().children(".item"),this.$items.index(item||this.$active)},Carousel.prototype.getItemForDirection=function(direction,active){var activeIndex=this.getItemIndex(active);if(("prev"==direction&&0===activeIndex||"next"==direction&&activeIndex==this.$items.length-1)&&!this.options.wrap)return active;var itemIndex=(activeIndex+("prev"==direction?-1:1))%this.$items.length;return this.$items.eq(itemIndex)},Carousel.prototype.to=function(pos){var that=this,activeIndex=this.getItemIndex(this.$active=this.$element.find(".
1item.active"));if(!(pos>this.$items.length-1||pos<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){that.to(pos)}):activeIndex==pos?this.pause().cycle():this.slide(pos>activeIndex?"next":"prev",this.$items.eq(pos))},Carousel.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&$.support.transition&&(this.$element.trigger($.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},Carousel.prototype.next=function(){if(!this.sliding)return this.slide("next")},Carousel.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},Carousel.prototype.slide=function(type,next){var $active=this.$element.find(".item.active"),$next=next||this.getItemForDirection(type,$active),isCycling=this.interval,direction="next"==type?"left":"right",that=this;if($next.hasClass("active"))return this.sliding=!1;var relatedTarget=$next[0],slideEvent=$.Event("slide.bs.carousel",{relatedTarget:relatedTarget,direction:direction});if(this.$element.trigger(slideEvent),!slideEvent.isDefaultPrevented()){if(this.sliding=!0,isCycling&&this.pause(),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});return $.support.transition&&this.$element.hasClass("slide")?($next.addClass(type),"object"==typeof $next&&$next.length&&$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=!1,setTimeout(function(){that.$element.trigger(slidEvent)},0)}).emulateTransitionEnd(Carousel.TRANSITION_DURATION)):($active.removeClass("active"),$next.addClass("active"),this.sliding=!1,this.$element.trigger(slidEvent)),isCycling&&this.cycle(),this}};var old=$.fn.carousel;$.fn.carousel=Plugin,$.fn.carousel.Constructor=Carousel,$.fn.carousel.noConflict=function(){return $.fn.carousel=old,this};var clickHandler=function(e){var $this=$(this),href=$this.attr("href");href&&(href=href.replace(/.*(?=#[^\s]+$)/,""));var target=$this.attr("data-target")||href,$target=$(document).find(target);if($target.hasClass("carousel")){var options=$.extend({},$target.data(),$this.data()),slideIndex=$this.attr("data-slide-to");slideIndex&&(options.interval=!1),Plugin.call($target,options),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,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function getTargetFromTrigger($trigger){var href,target=$trigger.attr("data-target")||(href=$trigger.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"");return $(document).find(target)}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.collapse"),options=$.extend({},Collapse.DEFAULTS,$this.data(),"object"==typeof option&&option);!data&&options.toggle&&/show|hide/.test(option)&&(options.toggle=!1),data||$this.data("bs.collapse",data=new Collapse(this,options)),"string"==typeof option&&data[option]()})}Collapse.VERSION="3.4.1",Collapse.TRANSITION_DURATION=350,Collapse.DEFAULTS={toggle:!0},Collapse.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},Collapse.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var activesData,actives=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(actives&&actives.length&&(activesData=actives.data("bs.collapse"))&&activesData.transitioning)){var startEvent=$.Event("show.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){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",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),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")){var startEvent=$.Event("hide.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){var dimension=this.dimension();this.$element[dimension](this.$element[dimension]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),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 $(document).find(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)};var old=$.fn.collapse;$.fn.collapse=Plugin,$.fn.collapse.Constructor=Collapse,$.fn.collapse.noConflict=function(){return $.fn.collapse=old,this},$(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(e){var $this=$(this);$this.attr("data-target")||e.preventDefault();var $target=getTargetFromTrigger($this),option=$target.data("bs.collapse")?"toggle":$this.data();Plugin.call($target,option)})}(jQuery),function($){"use strict";var backdrop=".dropdown-backdrop",toggle='[data-toggle="dropdown"]',Dropdown=function(element){$(element).on("click.bs.dropdown",this.toggle)};function getParent($this){var selector=$this.attr("data-target");selector||(selector=(selector=$this.attr("href"))&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,""));var $parent="#"!==selector?$(document).find(selector):null;return $parent&&$parent.length?$parent:$this.parent()}function clearMenus(e){e&&3===e.which||($(backdrop).remove(),$(toggle).each(function(){var $this=$(this),$parent=getParent($this),relatedTarget={relatedTarget:this};$parent.hasClass("open")&&(e&&"click"==e.type&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target)||($parent.trigger(e=$.Event("hide.bs.dropdown",relatedTarget)),e.isDefaultPrevented()||($this.attr("aria-expanded","fal
1se"),$parent.removeClass("open").trigger($.Event("hidden.bs.dropdown",relatedTarget)))))}))}Dropdown.VERSION="3.4.1",Dropdown.prototype.toggle=function(e){var $this=$(this);if(!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(clearMenus(),!isActive){"ontouchstart"in document.documentElement&&!$parent.closest(".navbar-nav").length&&$(document.createElement("div")).addClass("dropdown-backdrop").insertAfter($(this)).on("click",clearMenus);var relatedTarget={relatedTarget:this};if($parent.trigger(e=$.Event("show.bs.dropdown",relatedTarget)),e.isDefaultPrevented())return;$this.trigger("focus").attr("aria-expanded","true"),$parent.toggleClass("open").trigger($.Event("shown.bs.dropdown",relatedTarget))}return!1}},Dropdown.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var $this=$(this);if(e.preventDefault(),e.stopPropagation(),!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(!isActive&&27!=e.which||isActive&&27==e.which)return 27==e.which&&$parent.find(toggle).trigger("focus"),$this.trigger("click");var $items=$parent.find(".dropdown-menu li:not(.disabled):visible a");if($items.length){var index=$items.index(e.target);38==e.which&&index>0&&index--,40==e.which&&index<$items.length-1&&index++,~index||(index=0),$items.eq(index).trigger("focus")}}}};var old=$.fn.dropdown;$.fn.dropdown=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.dropdown");data||$this.data("bs.dropdown",data=new Dropdown(this)),"string"==typeof option&&data[option].call($this)})},$.fn.dropdown.Constructor=Dropdown,$.fn.dropdown.noConflict=function(){return $.fn.dropdown=old,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=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,$.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function Plugin(option,_relatedTarget){return this.each(function(){var $this=$(this),data=$this.data("bs.modal"),options=$.extend({},Modal.DEFAULTS,$this.data(),"object"==typeof option&&option);data||$this.data("bs.modal",data=new Modal(this,options)),"string"==typeof option?data[option](_relatedTarget):options.show&&data.show(_relatedTarget)})}Modal.VERSION="3.4.1",Modal.TRANSITION_DURATION=300,Modal.BACKDROP_TRANSITION_DURATION=150,Modal.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},Modal.prototype.toggle=function(_relatedTarget){return this.isShown?this.hide():this.show(_relatedTarget)},Modal.prototype.show=function(_relatedTarget){var that=this,e=$.Event("show.bs.modal",{relatedTarget:_relatedTarget});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,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){$(e.target).is(that.$element)&&(that.ignoreBackdropClick=!0)})}),this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");that.$element.parent().length||that.$element.appendTo(that.$body),that.$element.show().scrollTop(0),that.adjustDialog(),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){e&&e.preventDefault(),e=$.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),$(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("
1click.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){document===e.target||this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},Modal.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",$.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},Modal.prototype.resize=function(){this.isShown?$(window).on("resize.bs.modal",$.proxy(this.handleUpdate,this)):$(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,animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;if(this.$backdrop=$(document.createElement("div")).addClass("modal-backdrop "+animate).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",$.proxy(function(e){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),doAnimate&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!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 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||"";var scrollbarWidth=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",bodyPad+scrollbarWidth),$(this.fixedContent).each(function(index,element){var actualPadding=element.style.paddingRight,calculatedPadding=$(element).css("padding-right");$(element).data("padding-right",actualPadding).css("padding-right",parseFloat(calculatedPadding)+scrollbarWidth+"px")}))},Modal.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),$(this.fixedContent).each(function(index,element){var padding=$(element).data("padding-right");$(element).removeData("padding-right"),element.style.paddingRight=padding||""})},Modal.prototype.measureScrollbar=function(){var scrollDiv=document.createElement("div");scrollDiv.className="modal-scrollbar-measure",this.$body.append(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;return this.$body[0].removeChild(scrollDiv),scrollbarWidth};var old=$.fn.modal;$.fn.modal=Plugin,$.fn.modal.Constructor=Modal,$.fn.modal.noConflict=function(){return $.fn.modal=old,this},$(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this),href=$this.attr("href"),target=$this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,""),$target=$(document).find(target),option=$target.data("bs.modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());$this.is("a")&&e.preventDefault(),$target.one("show.bs.modal",function(showEvent){showEvent.isDefaultPrevented()||$target.one("hidden.bs.modal",function(){$this.is(":visible")&&$this.trigger("focus")})}),Plugin.call($target,option,this)})}(jQuery),function($){"use strict";var DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],DefaultWhitelist={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function allowedAttribute(attr,allowedAttributeList){var attrName=attr.nodeName.toLowerCase();if(-1!==$.inArray(attrName,allowedAttributeList))return-1===$.inArray(attrName,uriAttrs)||Boolean(attr.nodeValue.match(SAFE_URL_PATTERN)||attr.nodeValue.match(DATA_URL_PATTERN));for(var regExp=$(allowedAttributeList).filter(function(index,value){return value instanceof RegExp}),i=0,l=regExp.length;i<l;i++)if(attrName.match(regExp[i]))return!0;return!1}function sanitizeHtml(unsafeHtml,whiteList,sanitizeFn){if(0===unsafeHtml.length)return unsafeHtml;if(sanitizeFn&&"function"==typeof sanitizeFn)return sanitizeFn(unsafeHtml);if(!document.implementation||!document.implementation.createHTMLDocument)return unsafeHtml;var createdDocument=document.implementation.createHTMLDocument("sanitization");createdDocument.body.innerHTML=unsafeHtml;
vendor: 4,229 bytes, line 1
1for(var whitelistKeys=$.map(whiteList,function(el,i){return i}),elements=$(createdDocument.body).find("*"),i=0,len=elements.length;i<len;i++){var el=elements[i],elName=el.nodeName.toLowerCase();if(-1!==$.inArray(elName,whitelistKeys))for(var attributeList=$.map(el.attributes,function(el){return el}),whitelistedAttributes=[].concat(whiteList["*"]||[],whiteList[elName]||[]),j=0,len2=attributeList.length;j<len2;j++)allowedAttribute(attributeList[j],whitelistedAttributes)||el.removeAttribute(attributeList[j].nodeName);else el.parentNode.removeChild(el)}return createdDocument.body.innerHTML}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.4.1",Tooltip.TRANSITION_DURATION=150,Tooltip.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist},Tooltip.prototype.init=function(type,element,options){if(this.enabled=!0,this.type=type,this.$element=$(element),this.options=this.getOptions(options),this.$viewport=this.options.viewport&&$(document).find($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},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!");for(var triggers=this.options.trigger.split(" "),i=triggers.length;i--;){var trigger=triggers[i];if("click"==trigger)this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this));else if("manual"!=trigger){var eventIn="hover"==trigger?"mouseenter":"focusin",eventOut="hover"==trigger?"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){var dataAttributes=this.$element.data();for(var dataAttr in dataAttributes)dataAttributes.hasOwnProperty(dataAttr)&&-1!==$.inArray(dataAttr,DISALLOWED_ATTRIBUTES)&&delete dataAttributes[dataAttr];return(options=$.extend({},this.getDefaults(),dataAttributes,options)).delay&&"number"==typeof options.delay&&(options.delay={show:options.delay,hide:options.delay}),options.sanitize&&(options.template=sanitizeHtml(options.template,options.whiteList,options.sanitizeFn)),options},Tooltip.prototype.getDelegateOptions=function(){var options={},defaults=this.getDefaults();return this._options&&$.each(this._options,function(key,value){defaults[key]!=value&&(options[key]=value)}),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)),obj instanceof $.Event&&(self.inState["focusin"==obj.type?"focus":"hover"]=!0),self.tip().hasClass("in")||"in"==self.hoverState)self.hoverState="in";else{if(clearTimeout(self.timeout),self.hoverState="in",!self.options.delay||!self.options.delay.show)return self.show();self.timeout=setTimeout(function(){"in"==self.hoverState&&self.show()},self.options.delay.show)}},Tooltip.prototype.isInStateTrue=function(){for(var key in this.inState)if(this.inState[key])return!0;return!1},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)),obj instanceof $.Event&&(self.inState["focusout"==obj.type?"focu
1s":"hover"]=!1),!self.isInStateTrue()){if(clearTimeout(self.timeout),self.hoverState="out",!self.options.delay||!self.options.delay.hide)return self.hide();self.timeout=setTimeout(function(){"out"==self.hoverState&&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,$tip=this.tip(),tipId=this.getUID(this.type);this.setContent(),$tip.attr("id",tipId),this.$element.attr("aria-describedby",tipId),this.options.animation&&$tip.addClass("fade");var placement="function"==typeof this.options.placement?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement,autoToken=/\s?auto?\s?/i,autoPlace=autoToken.test(placement);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($(document).find(this.options.container)):$tip.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var pos=this.getPosition(),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight;if(autoPlace){var orgPlacement=placement,viewportDim=this.getPosition(this.$viewport);placement="bottom"==placement&&pos.bottom+actualHeight>viewportDim.bottom?"top":"top"==placement&&pos.top-actualHeight<viewportDim.top?"bottom":"right"==placement&&pos.right+actualWidth>viewportDim.width?"left":"left"==placement&&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,"out"==prevHoverState&&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(),width=$tip[0].offsetWidth,height=$tip[0].offsetHeight,marginTop=parseInt($tip.css("margin-top"),10),marginLeft=parseInt($tip.css("margin-left"),10);isNaN(marginTop)&&(marginTop=0),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,actualHeight=$tip[0].offsetHeight;"top"==placement&&actualHeight!=height&&(offset.top=offset.top+height-actualHeight);var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight);delta.left?offset.left+=delta.left:offset.top+=delta.top;var isVertical=/top|bottom/.test(placement),arrowDelta=isVertical?2*delta.left-width+actualWidth:2*delta.top-height+actualHeight,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(),title=this.getTitle();this.options.html?(this.options.sanitize&&(title=sanitizeHtml(title,this.options.whiteList,this.options.sanitizeFn)),$tip.find(".tooltip-inner").html(title)):$tip.find(".tooltip-inner").text(title),$tip.removeClass("fade in top bottom left right")},Tooltip.prototype.hide=function(callback){var that=this,$tip=$(this.$tip),e=$.Event("hide.bs."+this.type);function complete(){"in"!=that.hoverState&&$tip.detach(),that.$element&&that.$element.removeAttr("aria-describedby").trigger("hidden.bs."+that.type),callback&&callback()}if(this.$element.trigger(e),!e.isDefaultPrevented())return $tip.removeClass("in"),$.support.transition&&$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete(),this.hoverState=null,this},Tooltip.prototype.fixTitle=function(){var $e=this.$element;($e.attr("title")||"string"!=typeof $e.attr("data-original-title"))&&$e.attr("data-original-title",$e.attr("title")||"").attr("title","")},Tooltip.prototype.hasContent=function(){return this.getTitle()},Tooltip.prototype.getPosition=function($element){var el=($element=$element||this.$element)[0],isBody="BODY"==el.tagName,elRect=el.getBoundingClientRect();null==elRect.width&&(elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top}));
vendor: 12,979 bytes, line 1
1var isSvg=window.SVGElement&&el instanceof window.SVGElement,elOffset=isBody?{top:0,left:0}:isSvg?null:$element.offset(),scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()},outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null;return $.extend({},elRect,scroll,outerDims,elOffset)},Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return"bottom"==placement?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:"top"==placement?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:"left"==placement?{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,viewportDimensions=this.getPosition(this.$viewport);if(/right|left/.test(placement)){var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll,bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight;topEdgeOffset<viewportDimensions.top?delta.top=viewportDimensions.top-topEdgeOffset:bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height&&(delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset)}else{var leftEdgeOffset=pos.left-viewportPadding,rightEdgeOffset=pos.left+viewportPadding+actualWidth;leftEdgeOffset<viewportDimensions.left?delta.left=viewportDimensions.left-leftEdgeOffset:rightEdgeOffset>viewportDimensions.right&&(delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset)}return delta},Tooltip.prototype.getTitle=function(){var $e=this.$element,o=this.options;return $e.attr("data-original-title")||("function"==typeof o.title?o.title.call($e[0]):o.title)},Tooltip.prototype.getUID=function(prefix){do{prefix+=~~(1e6*Math.random())}while(document.getElementById(prefix));return prefix},Tooltip.prototype.tip=function(){if(!this.$tip&&(this.$tip=$(this.options.template),1!=this.$tip.length))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=!0},Tooltip.prototype.disable=function(){this.enabled=!1},Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled},Tooltip.prototype.toggle=function(e){var self=this;e&&((self=$(e.currentTarget).data("bs."+this.type))||(self=new this.constructor(e.currentTarget,this.getDelegateOptions()),$(e.currentTarget).data("bs."+this.type,self))),e?(self.inState.click=!self.inState.click,self.isInStateTrue()?self.enter(self):self.leave(self)):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),that.$tip&&that.$tip.detach(),that.$tip=null,that.$arrow=null,that.$viewport=null,that.$element=null})},Tooltip.prototype.sanitizeHtml=function(unsafeHtml){return sanitizeHtml(unsafeHtml,this.options.whiteList,this.options.sanitizeFn)};var old=$.fn.tooltip;$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tooltip"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.tooltip",data=new Tooltip(this,options)),"string"==typeof option&&data[option]())})},$.fn.tooltip.Constructor=Tooltip,$.fn.tooltip.noConflict=function(){return $.fn.tooltip=old,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.4.1",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(),title=this.getTitle(),content=this.getContent();if(this.options.html){var typeContent=typeof content;this.options.sanitize&&(title=this.sanitizeHtml(title),"string"===typeContent&&(content=this.sanitizeHtml(content))),$tip.find(".popover-title").html(title),$tip.find(".popover-content").children().detach().end()["string"===typeContent?"html":"append"](content)}else $tip.find(".popover-title").text(title),$tip.find(".popover-content").children().detach().end().text(content);$tip.removeClass("fade top bottom left right in"),$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,o=this.options;return $e.attr("data-content")||("function"==typeof o.content?o.content.call($e[0]):o.content)},Popover.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var old=$.fn.popover;$.fn.popover=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.popover"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.popover",data=new Popover(this,options)),"string"==typeof option&&data[option]())})},$.fn.popover.Constructor=Popover,$.fn.popover.noConflict=function(){return $.fn.popover=old,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()}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.scrollspy"),options="object"==typeof option&&option;data||$this.data("bs.scrollspy",data=new ScrollSpy(this,options)),"string"==typeof option&&data[option]()})}ScrollSpy.VERSION="3.4.1",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,offsetMethod="offset",offsetBase=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),$.isWindow(this.$scrollElement[0])||(offsetMethod="position",offsetBase=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var $el=$(this),href=$el.data("target")||$el.attr("href"),$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 i,scrollTop=this.$scrollElement.scrollTop()+this.options.offset,scrollHeight=this.getScrollHeight(),maxScroll=this.options.offset+scrollHeight-this.$scrollElement.height(),offsets=this.offsets,targets=this.targets,activeTarget=this.activeTarget;if(this.scrollHeight!=scrollHeight&&this.refresh(),scrollTop>=maxScroll)return activeTarget!=(i=targets[targets.length-1])&&this.activate(i);if(activeTarget&&scrollTop<offsets[0])return this.activeTarget=null,this.clear();for(i=offsets.length;i--;)activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(void 0===offsets[i+1]||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+'"]',active=$(selector).parents("li").addClass("active");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")};var old=$.fn.scrollspy;$.fn.scrollspy=Plugin,$.fn.scrollspy.Constructor=ScrollSpy,$.fn.scrollspy.noConflict=function(){return $.fn.scrollspy=old,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)};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tab");data||$this.data("bs.tab",data=new Tab(this)),"string"==typeof option&&data[option]()})}Tab.VERSION="3.4.1",Tab.TRANSITION_DURATION=150,Tab.prototype.show=function(){var $this=this.element,$ul=$this.closest("ul:not(.dropdown-menu)"),selector=$this.data("target");if(selector||(selector=(selector=$this.attr("href"))&&selector.replace(/.*(?=#[^\s]*$)/,"")),!$this.parent("li").hasClass("active")){var $previous=$ul.find(".active:last a"),hideEvent=$.Event("hide.bs.tab",{relatedTarget:$this[0]}),showEvent=$.Event("show.bs.tab",{relatedTarget:$previous[0]});if($previous.trigger(hideEvent),$this.trigger(showEvent),!showEvent.isDefaultPrevented()&&!hideEvent.isDefaultPrevented()){var $target=$(document).find(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"),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",!1),element.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),transition?(element[0].offsetWidth,element.addClass("in")):element.removeClass("fade"),element.parent(".dropdown-menu").length&&element.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),callback&&callback()}$active.length&&transition?$active.one("bsTransitionEnd",next).emulateTransitionEnd(Tab.TRANSITION_DURATION):next(),$active.removeClass("in")};var old=$.fn.tab;$.fn.tab=Plugin,$.fn.tab.Constructor=Tab,$.fn.tab.noConflict=function(){return $.fn.tab=old,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);var target=this.options.target===Affix.DEFAULTS.target?$(this.options.target):$(document).find(this.options.target);this.$target=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()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.affix"),options="object"==typeof option&&option;data||$this.data("bs.affix",data=new Affix(this,options)),"string"==typeof option&&data[option]()})}Affix.VERSION="3.4.1",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(),position=this.$element.offset(),targetHeight=this.$target.height();if(null!=offsetTop&&"top"==this.affixed)return scrollTop<offsetTop&&"top";if("bottom"==this.affixed)return null!=offsetTop?!(scrollTop+this.unpin<=position.top)&&"bottom":!(scrollTop+targetHeight<=scrollHeight-offsetBottom)&&"bottom";var initializing=null==this.affixed,colliderTop=initializing?scrollTop:position.top;return null!=offsetTop&&scrollTop<=offsetTop?"top":null!=offsetBottom&&colliderTop+(initializing?targetHeight:height)>=scrollHeight-offsetBottom&&"bottom"},Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(Affix.RESET).addClass("affix");var scrollTop=this.$target.scrollTop(),position=this.$element.offset();return this.pinnedOffset=position.top-scrollTop},Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)}
1,Affix.prototype.checkPosition=function(){if(this.$element.is(":visible")){var height=this.$element.height(),offset=this.options.offset,offsetTop=offset.top,offsetBottom=offset.bottom,scrollHeight=Math.max($(document).height(),$(document.body).height());"object"!=typeof offset&&(offsetBottom=offsetTop=offset),"function"==typeof offsetTop&&(offsetTop=offset.top(this.$element)),"function"==typeof offsetBottom&&(offsetBottom=offset.bottom(this.$element));var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom);if(this.affixed!=affix){null!=this.unpin&&this.$element.css("top","");var affixType="affix"+(affix?"-"+affix:""),e=$.Event(affixType+".bs.affix");if(this.$element.trigger(e),e.isDefaultPrevented())return;this.affixed=affix,this.unpin="bottom"==affix?this.getPinnedOffset():null,this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace("affix","affixed")+".bs.affix")}"bottom"==affix&&this.$element.offset({top:scrollHeight-height-offsetBottom})}};var old=$.fn.affix;$.fn.affix=Plugin,$.fn.affix.Constructor=Affix,$.fn.affix.noConflict=function(){return $.fn.affix=old,this},$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this),data=$spy.data();data.offset=data.offset||{},null!=data.offsetBottom&&(data.offset.bottom=data.offsetBottom),null!=data.offsetTop&&(data.offset.top=data.offsetTop),Plugin.call($spy,data)})})}(jQuery),function(window,angular){"use strict";var TRANSITION_PROP,TRANSITIONEND_EVENT,ANIMATION_PROP,ANIMATIONEND_EVENT,ELEMENT_NODE=1,ADD_CLASS_SUFFIX="-add",REMOVE_CLASS_SUFFIX="-remove",EVENT_CLASS_PREFIX="ng-",NG_ANIMATE_CLASSNAME="ng-animate",NG_ANIMATE_CHILDREN_DATA="$$ngAnimateChildren";void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend?("-webkit-",TRANSITION_PROP="WebkitTransition",TRANSITIONEND_EVENT="webkitTransitionEnd transitionend"):(TRANSITION_PROP="transition",TRANSITIONEND_EVENT="transitionend"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend?("-webkit-",ANIMATION_PROP="WebkitAnimation",ANIMATIONEND_EVENT="webkitAnimationEnd animationend"):(ANIMATION_PROP="animation",ANIMATIONEND_EVENT="animationend");var DURATION_KEY="Duration",TIMING_KEY="TimingFunction",ANIMATION_PLAYSTATE_KEY="PlayState",ANIMATION_DELAY_PROP=ANIMATION_PROP+"Delay",ANIMATION_DURATION_PROP=ANIMATION_PROP+DURATION_KEY,TRANSITION_DELAY_PROP=TRANSITION_PROP+"Delay",TRANSITION_DURATION_PROP=TRANSITION_PROP+DURATION_KEY,ngMinErr=angular.$$minErr("ng");function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function pendClasses(classes,fix,isPrefix){var className="";return classes=isArray(classes)?classes:classes&&isString(classes)&&classes.length?classes.split(/\s+/):[],forEach(classes,function(klass,i){klass&&klass.length>0&&(className+=i>0?" ":"",className+=isPrefix?fix+klass:klass+fix)}),className}function extractElementNode(element){if(!element[0])return element;for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType==ELEMENT_NODE)return elm}}function applyAnimationClassesFactory($$jqLite){return function(element,options){options.addClass&&(!function($$jqLite,element,className){forEach(element,function(elm){$$jqLite.addClass(elm,className)})}($$jqLite,element,options.addClass),options.addClass=null),options.removeClass&&(!function($$jqLite,element,className){forEach(element,function(elm){$$jqLite.removeClass(elm,className)})}($$jqLite,element,options.removeClass),options.removeClass=null)}}function prepareAnimationOptions(options){if(!(options=options||{}).$$prepared){var domOperation=options.domOperation||noop;options.domOperation=function(){options.$$domOperationFired=!0,domOperation(),domOperation=noop},options.$$prepared=!0}return options}function applyAnimationStyles(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}
1function mergeAnimationDetails(element,oldAnimation,newAnimation){var target=oldAnimation.options||{},newOptions=newAnimation.options||{},toAdd=(target.addClass||"")+" "+(newOptions.addClass||""),toRemove=(target.removeClass||"")+" "+(newOptions.removeClass||""),classes=function(existing,toAdd,toRemove){var flags={};existing=splitClassesToLookup(existing),toAdd=splitClassesToLookup(toAdd),forEach(toAdd,function(value,key){flags[key]=1}),toRemove=splitClassesToLookup(toRemove),forEach(toRemove,function(value,key){flags[key]=1===flags[key]?null:-1});var classes={addClass:"",removeClass:""};function splitClassesToLookup(classes){isString(classes)&&(classes=classes.split(" "));var obj={};return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}return forEach(flags,function(val,klass){var prop,allow;1===val?(prop="addClass",allow=!existing[klass]||existing[klass+REMOVE_CLASS_SUFFIX]):-1===val&&(prop="removeClass",allow=existing[klass]||existing[klass+ADD_CLASS_SUFFIX]),allow&&(classes[prop].length&&(classes[prop]+=" "),classes[prop]+=klass)}),classes}(element.attr("class"),toAdd,toRemove);newOptions.preparationClasses&&(target.preparationClasses=concatWithSpace(newOptions.preparationClasses,target.preparationClasses),delete newOptions.preparationClasses);var realDomOperation=target.domOperation!==noop?target.domOperation:null;return extend(target,newOptions),realDomOperation&&(target.domOperation=realDomOperation),classes.addClass?target.addClass=classes.addClass:target.addClass=null,classes.removeClass?target.removeClass=classes.removeClass:target.removeClass=null,oldAnimation.addClass=target.addClass,oldAnimation.removeClass=target.removeClass,target}function getDomNode(element){return element instanceof jqLite?element[0]:element}function blockTransitions(node,duration){var value=duration?"-"+duration+"s":"";return applyInlineStyle(node,[TRANSITION_DELAY_PROP,value]),[TRANSITION_DELAY_PROP,value]}function blockKeyframeAnimations(node,applyBlock){var value=applyBlock?"paused":"",key=ANIMATION_PROP+ANIMATION_PLAYSTATE_KEY;return applyInlineStyle(node,[key,value]),[key,value]}function applyInlineStyle(node,styleTuple){var prop=styleTuple[0],value=styleTuple[1];node.style[prop]=value}function concatWithSpace(a,b){return a?b?a+" "+b:a:b}var $$AnimateChildrenDirective=["$interpolate",function($interpolate){return{link:function(scope,element,attrs){var val=attrs.ngAnimateChildren;function setData(value){value="on"===value||"true"===value,element.data(NG_ANIMATE_CHILDREN_DATA,value)}isString(val)&&0===val.length?element.data(NG_ANIMATE_CHILDREN_DATA,!0):(setData($interpolate(val)(scope)),attrs.$observe("ngAnimateChildren",setData))}}}],ANIMATE_TIMER_KEY="$$animateCss",ONE_SECOND=1e3,ELAPSED_TIME_MAX_DECIMAL_PLACES=3,CLOSING_TIME_BUFFER=1.5,DETECT_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,transitionProperty:TRANSITION_PROP+"Property",animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP,animationIterationCount:ANIMATION_PROP+"IterationCount"},DETECT_STAGGER_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP};function getCssDelayStyle(delay,isKeyframeAnimation){return[isKeyframeAnimation?ANIMATION_DELAY_PROP:TRANSITION_DELAY_PROP,delay+"s"]}function computeCssStyles($window,element,properties){var styles=Object.create(null),detectedStyles=$window.getComputedStyle(element)||{};return forEach(properties,function(formalStyleName,actualStyleName){var maxValue,values,val=detectedStyles[formalStyleName];if(val){var c=val.charAt(0);("-"===c||"+"===c||c>=0)&&(maxValue=0,values=val.split(/\s*,\s*/),forEach(values,function(value){"s"==value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),val=maxValue),0===val&&(val=null),styles[actualStyleName]=val}}),styles}function truthyTimingValue(val){return 0===val||null!=val}function getCssTransitionDurationStyle(duration,applyOnlyDuration){var style=TRANSITION_PROP,value=duration+"s";return applyOnlyDuration?style+=DURATION_KEY:value+=" linear all",[style,value]}function createLocalCacheLookup(){var cache=Object.create(null);return{flush:function(){cache=Object.create(null)},count:function(key){var entry=cache[key];return entry?entry.total:0},get:function(key){var entry=cache[key];return entry&&entry.value},put:function(key,value){cache[key]?cache[key].total++:cache[key]={total:1,value:value}}}}function registerRestorableStyles(backup,node,properties){forEach(properties,function(prop){backup[prop]=isDef
1ined(backup[prop])?backup[prop]:node.style.getPropertyValue(prop)})}var copy,extend,forEach,isArray,isDefined,isElement,isFunction,isObject,isString,isUndefined,jqLite,noop,$AnimateCssProvider=["$animateProvider",function($animateProvider){var gcsLookup=createLocalCacheLookup(),gcsStaggerLookup=createLocalCacheLookup();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function($window,$$jqLite,$$AnimateRunner,$timeout,$$forceReflow,$sniffer,$$rAFScheduler,$$animateQueue){var applyAnimationClasses=applyAnimationClassesFactory($$jqLite),parentCounter=0;function gcsHashFn(node,extraClasses){var KEY="$$ngAnimateParentKey",parentNode=node.parentNode;return(parentNode[KEY]||(parentNode[KEY]=++parentCounter))+"-"+node.getAttribute("class")+"-"+extraClasses}var rafWaitQueue=[];function waitUntilQuiet(callback){rafWaitQueue.push(callback),$$rAFScheduler.waitUntilQuiet(function(){gcsLookup.flush(),gcsStaggerLookup.flush();for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0})}function computeTimings(node,className,cacheKey){var timings=function(node,className,cacheKey,properties){var timings=gcsLookup.get(cacheKey);return timings||"infinite"===(timings=computeCssStyles($window,node,properties)).animationIterationCount&&(timings.animationIterationCount=1),gcsLookup.put(cacheKey,timings),timings}(node,0,cacheKey,DETECT_CSS_PROPERTIES),aD=timings.animationDelay,tD=timings.transitionDelay;return timings.maxDelay=aD&&tD?Math.max(aD,tD):aD||tD,timings.maxDuration=Math.max(timings.animationDuration*timings.animationIterationCount,timings.transitionDuration),timings}return function(element,initialOptions){var options=initialOptions||{};options.$$prepared||(options=prepareAnimationOptions(copy(options)));var restoreStyles={},node=getDomNode(element);if(!node||!node.parentNode||!$$animateQueue.enabled())return closeAndReturnNoopAnimator();var animationClosed,animationPaused,animationCompleted,runner,runnerHost,maxDelay,maxDelayTime,maxDuration,maxDurationTime,startTime,temporaryStyles=[],classes=element.attr("class"),styles=function(options){var styles={};return options&&(options.to||options.from)&&(styles.to=options.to,styles.from=options.from),styles}(options),events=[];if(0===options.duration||!$sniffer.animations&&!$sniffer.transitions)return closeAndReturnNoopAnimator();var method=options.event&&isArray(options.event)?options.event.join(" "):options.event,structuralClassName="",addRemoveClassName="";method&&options.structural?structuralClassName=pendClasses(method,EVENT_CLASS_PREFIX,!0):method&&(structuralClassName=method),options.addClass&&(addRemoveClassName+=pendClasses(options.addClass,ADD_CLASS_SUFFIX)),options.removeClass&&(addRemoveClassName.length&&(addRemoveClassName+=" "),addRemoveClassName+=pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX)),options.applyClassesEarly&&addRemoveClassName.length&&applyAnimationClasses(element,options);var cacheKey,stagger,applyOnlyDuration,preparationClasses=[structuralClassName,addRemoveClassName].join(" ").trim(),fullClassName=classes+" "+preparationClasses,activeClasses=pendClasses(preparationClasses,"-active"),hasToStyles=styles.to&&Object.keys(styles.to).length>0;if(!((options.keyframeStyle||"").length>0)&&!hasToStyles&&!preparationClasses)return closeAndReturnNoopAnimator();if(options.stagger>0){var staggerVal=parseFloat(options.stagger);stagger={transitionDelay:staggerVal,animationDelay:staggerVal,transitionDuration:0,animationDuration:0}}else cacheKey=gcsHashFn(node,fullClassName),stagger=function(node,className,cacheKey,properties){var stagger;if(gcsLookup.count(cacheKey)>0&&!(stagger=gcsStaggerLookup.get(cacheKey))){var staggerClassName=pendClasses(className,"-stagger");$$jqLite.addClass(node,staggerClassName),(stagger=computeCssStyles($window,node,properties)).animationDuration=Math.max(stagger.animationDuration,0),stagger.transitionDuration=Math.max(stagger.transitionDuration,0),$$jqLite.removeClass(node,staggerClassName),gcsStaggerLookup.put(cacheKey,stagger)}return stagger||{}}(node,preparationClasses,cacheKey,DETECT_STAGGER_CSS_PROPERTIES);if(options.$$skipPreparationClasses||$$jqLite.addClass(element,preparationClasses),options.transitionStyle){var transitionStyle=[TRANSITION_PROP,options.transitionStyle];applyInlineStyle(node,transitionStyle),temporaryStyles.push(transitionStyle)}if(options.duration>
1=0){applyOnlyDuration=node.style[TRANSITION_PROP].length>0;var durationStyle=getCssTransitionDurationStyle(options.duration,applyOnlyDuration);applyInlineStyle(node,durationStyle),temporaryStyles.push(durationStyle)}if(options.keyframeStyle){var keyframeStyle=[ANIMATION_PROP,options.keyframeStyle];applyInlineStyle(node,keyframeStyle),temporaryStyles.push(keyframeStyle)}var itemIndex=stagger?options.staggerIndex>=0?options.staggerIndex:gcsLookup.count(cacheKey):0,isFirst=0===itemIndex;isFirst&&!options.skipBlocking&&blockTransitions(node,9999);var timings=computeTimings(node,0,cacheKey),relativeDelay=timings.maxDelay;maxDelay=Math.max(relativeDelay,0),maxDuration=timings.maxDuration;var delayStyle,flags={};if(flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0,flags.hasTransitionAll=flags.hasTransitions&&"all"==timings.transitionProperty,flags.applyTransitionDuration=hasToStyles&&(flags.hasTransitions&&!flags.hasTransitionAll||flags.hasAnimations&&!flags.hasTransitions),flags.applyAnimationDuration=options.duration&&flags.hasAnimations,flags.applyTransitionDelay=truthyTimingValue(options.delay)&&(flags.applyTransitionDuration||flags.hasTransitions),flags.applyAnimationDelay=truthyTimingValue(options.delay)&&flags.hasAnimations,flags.recalculateTimingStyles=addRemoveClassName.length>0,(flags.applyTransitionDuration||flags.applyAnimationDuration)&&(maxDuration=options.duration?parseFloat(options.duration):maxDuration,flags.applyTransitionDuration&&(flags.hasTransitions=!0,timings.transitionDuration=maxDuration,applyOnlyDuration=node.style[TRANSITION_PROP+"Property"].length>0,temporaryStyles.push(getCssTransitionDurationStyle(maxDuration,applyOnlyDuration))),flags.applyAnimationDuration&&(flags.hasAnimations=!0,timings.animationDuration=maxDuration,temporaryStyles.push([ANIMATION_DURATION_PROP,maxDuration+"s"]))),0===maxDuration&&!flags.recalculateTimingStyles)return closeAndReturnNoopAnimator();null!=options.delay&&("boolean"!=typeof options.delay&&(delayStyle=parseFloat(options.delay),maxDelay=Math.max(delayStyle,0)),flags.applyTransitionDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle)),flags.applyAnimationDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle,!0)));return null==options.duration&&timings.transitionDuration>0&&(flags.recalculateTimingStyles=flags.recalculateTimingStyles||isFirst),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.skipBlocking||(flags.blockTransition=timings.transitionDuration>0,flags.blockKeyframeAnimation=timings.animationDuration>0&&stagger.animationDelay>0&&0===stagger.animationDuration),options.from&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.from)),applyAnimationFromStyles(element,options)),flags.blockTransition||flags.blockKeyframeAnimation?applyBlocking(maxDuration):options.skipBlocking||blockTransitions(node,!1),{$$willAnimate:!0,end:endFn,start:function(){if(!animationClosed)return runner=new $$AnimateRunner(runnerHost={end:endFn,cancel:cancelFn,resume:null,pause:null}),waitUntilQuiet(start),runner}};function endFn(){close()}function cancelFn(){close(!0)}function close(rejected){if(!(animationClosed||animationCompleted&&animationPaused)){animationClosed=!0,animationPaused=!1,options.$$skipPreparationClasses||$$jqLite.removeClass(element,preparationClasses),$$jqLite.removeClass(element,activeClasses),blockKeyframeAnimations(node,!1),blockTransitions(node,!1),forEach(temporaryStyles,function(entry){node.style[entry[0]]=""}),applyAnimationClasses(element,options),applyAnimationStyles(element,options),Object.keys(restoreStyles).length&&forEach(restoreStyles,function(value,prop){value?node.style.setProperty(prop,value):node.style.removeProperty(prop)}),options.onDone&&options.onDone(),events&&events.length&&element.off(events.join(" "),onAnimationProgress);var animationTimerData=element.data(ANIMATE_TIMER_KEY);animationTimerData&&($timeout.cancel(animationTimerData[0].timer),element.removeData(ANIMATE_TIMER_KEY)),runner&&runner.complete(!rejected)}}function applyBlocking(duration){flags.blockTransition&&blockTransitions(node,duration),flags.blockKeyframeAnimation&&blockKeyframeAnimations(node,!!duration)}function closeAndReturnNoopAnimator(){return runner=new $$AnimateRunner({end:endFn,cancel:cancelFn}),waitUntilQuiet(noop),close(),{$$willAnimate:!1,start:function(){return runner},end:endFn}}function onAnimationProgress(event){event.stopPropagation();var ev=event.originalEvent||event,timeStamp=ev.$manualTimeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES));Math.max(timeStamp-startTime,0)>=maxDelayTime&&elapsedTime>=maxDuration&&(animationCompleted=!0,close())}
1function start(){if(!animationClosed)if(node.parentNode){var playPause=function(playAnimation){if(animationCompleted)animationPaused&&playAnimation&&(animationPaused=!1,close());else if(animationPaused=!playAnimation,timings.animationDuration){var value=blockKeyframeAnimations(node,animationPaused);animationPaused?temporaryStyles.push(value):(val=value,index=(arr=temporaryStyles).indexOf(val),val>=0&&arr.splice(index,1))}var arr,val,index},maxStagger=itemIndex>0&&(timings.transitionDuration&&0===stagger.transitionDuration||timings.animationDuration&&0===stagger.animationDuration)&&Math.max(stagger.animationDelay,stagger.transitionDelay);maxStagger?$timeout(triggerAnimationStart,Math.floor(maxStagger*itemIndex*ONE_SECOND),!1):triggerAnimationStart(),runnerHost.resume=function(){playPause(!0)},runnerHost.pause=function(){playPause(!1)}}else close();function triggerAnimationStart(){if(!animationClosed){if(applyBlocking(!1),forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[key]=value}),applyAnimationClasses(element,options),$$jqLite.addClass(element,activeClasses),flags.recalculateTimingStyles){if(fullClassName=node.className+" "+preparationClasses,cacheKey=gcsHashFn(node,fullClassName),timings=computeTimings(node,0,cacheKey),relativeDelay=timings.maxDelay,maxDelay=Math.max(relativeDelay,0),0===(maxDuration=timings.maxDuration))return void close();flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0}if(flags.applyAnimationDelay&&(relativeDelay="boolean"!=typeof options.delay&&truthyTimingValue(options.delay)?parseFloat(options.delay):relativeDelay,maxDelay=Math.max(relativeDelay,0),timings.animationDelay=relativeDelay,delayStyle=getCssDelayStyle(relativeDelay,!0),temporaryStyles.push(delayStyle),node.style[delayStyle[0]]=delayStyle[1]),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.easing){var easeProp,easeVal=options.easing;flags.hasTransitions&&(easeProp=TRANSITION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal),flags.hasAnimations&&(easeProp=ANIMATION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal)}timings.transitionDuration&&events.push(TRANSITIONEND_EVENT),timings.animationDuration&&events.push(ANIMATIONEND_EVENT),startTime=Date.now();var timerTime=maxDelayTime+CLOSING_TIME_BUFFER*maxDurationTime,endTime=startTime+timerTime,animationsData=element.data(ANIMATE_TIMER_KEY)||[],setupFallbackTimer=!0;if(animationsData.length){var currentTimerData=animationsData[0];(setupFallbackTimer=endTime>currentTimerData.expectedEndTime)?$timeout.cancel(currentTimerData.timer):animationsData.push(close)}if(setupFallbackTimer){var timer=$timeout(onAnimationExpired,timerTime,!1);animationsData[0]={timer:timer,expectedEndTime:endTime},animationsData.push(close),element.data(ANIMATE_TIMER_KEY,animationsData)}events.length&&element.on(events.join(" "),onAnimationProgress),options.to&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.to)),applyAnimationToStyles(element,options))}}function onAnimationExpired(){var animationsData=element.data(ANIMATE_TIMER_KEY);if(animationsData){for(var i=1;i<animationsData.length;i++)animationsData[i]();element.removeData(ANIMATE_TIMER_KEY)}}}}}]}],$$AnimateCssDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateCssDriver");var NG_ANIMATE_SHIM_CLASS_NAME="ng-animate-shim",NG_ANIMATE_ANCHOR_CLASS_NAME="ng-anchor",NG_OUT_ANCHOR_CLASS_NAME="ng-anchor-out",NG_IN_ANCHOR_CLASS_NAME="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function($animateCss,$rootScope,$$AnimateRunner,$rootElement,$sniffer,$$jqLite,$document){if(!$sniffer.animations&&!$sniffer.transitions)return noop;var node,bodyNode=$document[0].body,rootNode=getDomNode($rootElement),rootBodyElement=jqLite((node=rootNode).parentNode&&11===node.parentNode.nodeType||bodyNode.contains(rootNode)?rootNode:bodyNode);applyAnimationClassesFactory($$jqLite);
1return function(animationDetails){return animationDetails.from&&animationDetails.to?function(from,to,classes,anchors){var fromAnimation=prepareRegularAnimation(from),toAnimation=prepareRegularAnimation(to),anchorAnimations=[];if(forEach(anchors,function(anchor){var animator=function(classes,outAnchor,inAnchor){var clone=jqLite(getDomNode(outAnchor).cloneNode(!0)),startingClasses=filterCssClasses(getClassVal(clone));outAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),clone.addClass(NG_ANIMATE_ANCHOR_CLASS_NAME),rootBodyElement.append(clone);var animatorIn,animator,animatorOut=(animator=$animateCss(clone,{addClass:NG_OUT_ANCHOR_CLASS_NAME,delay:!0,from:calculateAnchorStyles(outAnchor)})).$$willAnimate?animator:null;if(!animatorOut&&!(animatorIn=prepareInAnimation()))return end();var startingAnimator=animatorOut||animatorIn;return{start:function(){var runner,currentAnimation=startingAnimator.start();return currentAnimation.done(function(){if(currentAnimation=null,!animatorIn&&(animatorIn=prepareInAnimation()))return(currentAnimation=animatorIn.start()).done(function(){currentAnimation=null,end(),runner.complete()}),currentAnimation;end(),runner.complete()}),runner=new $$AnimateRunner({end:endFn,cancel:endFn});function endFn(){currentAnimation&&currentAnimation.end()}}};function calculateAnchorStyles(anchor){var styles={},coords=getDomNode(anchor).getBoundingClientRect();return forEach(["width","height","top","left"],function(key){var value=coords[key];switch(key){case"top":value+=bodyNode.scrollTop;break;case"left":value+=bodyNode.scrollLeft}styles[key]=Math.floor(value)+"px"}),styles}function getClassVal(element){return element.attr("class")||""}function prepareInAnimation(){var endingClasses=filterCssClasses(getClassVal(inAnchor)),toAdd=getUniqueValues(endingClasses,startingClasses),toRemove=getUniqueValues(startingClasses,endingClasses),animator=$animateCss(clone,{to:calculateAnchorStyles(inAnchor),addClass:NG_IN_ANCHOR_CLASS_NAME+" "+toAdd,removeClass:NG_OUT_ANCHOR_CLASS_NAME+" "+toRemove,delay:!0});return animator.$$willAnimate?animator:null}function end(){clone.remove(),outAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME)}}(0,anchor.out,anchor.in);animator&&anchorAnimations.push(animator)}),!fromAnimation&&!toAnimation&&0===anchorAnimations.length)return;return{start:function(){var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),forEach(anchorAnimations,function(animation){animationRunners.push(animation.start())});var runner=new $$AnimateRunner({end:endFn,cancel:endFn});return $$AnimateRunner.all(animationRunners,function(status){runner.complete(status)}),runner;function endFn(){forEach(animationRunners,function(runner){runner.end()})}}}}(animationDetails.from,animationDetails.to,animationDetails.classes,animationDetails.anchors):prepareRegularAnimation(animationDetails)};function filterCssClasses(classes){return classes.replace(/\bng-\S+\b/g,"")}function getUniqueValues(a,b){return isString(a)&&(a=a.split(" ")),isString(b)&&(b=b.split(" ")),a.filter(function(val){return-1===b.indexOf(val)}).join(" ")}function prepareRegularAnimation(animationDetails){var element=animationDetails.element,options=animationDetails.options||{};animationDetails.structural&&(options.event=animationDetails.event,options.structural=!0,options.applyClassesEarly=!0,"leave"===animationDetails.event&&(options.onDone=options.domOperation)),options.preparationClasses&&(options.event=concatWithSpace(options.event,options.preparationClasses));var animator=$animateCss(element,options);return animator.$$willAnimate?animator:null}}]}],$$AnimateJsProvider=["$animateProvider",function($animateProvider){this.$get=["$injector","$$AnimateRunner","$$jqLite",function($injector,$$AnimateRunner,$$jqLite){var applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,classes,options){var animationClosed=!1;3===arguments.length&&isObject(classes)&&(options=classes,classes=null),options=prepareAnimationOptions(options),classes||(classes=element.attr("class")||"",options.addClass&&(classes+=" "+options.addClass),options.removeClass&&(classes+=" "+options.removeClass));var before,after,afterFn,beforeFn,runner,classesToAdd=options.addClass,classesToRemove=options.removeClass,animations=function(classe
1s){classes=isArray(classes)?classes:classes.split(" ");for(var matches=[],flagMap={},i=0;i<classes.length;i++){var klass=classes[i],animationFactory=$animateProvider.$$registeredAnimations[klass];animationFactory&&!flagMap[klass]&&(matches.push($injector.get(animationFactory)),flagMap[klass]=!0)}return matches}(classes);animations.length&&("leave"==event?(beforeFn="leave",afterFn="afterLeave"):(beforeFn="before"+event.charAt(0).toUpperCase()+event.substr(1),afterFn=event),"enter"!==event&&"move"!==event&&(before=packageAnimations(element,event,options,animations,beforeFn)),after=packageAnimations(element,event,options,animations,afterFn));if(before||after)return{$$willAnimate:!0,end:function(){return runner?runner.end():(close(),(runner=new $$AnimateRunner).complete(!0)),runner},start:function(){if(runner)return runner;var closeActiveAnimations;runner=new $$AnimateRunner;var chain=[];return before&&chain.push(function(fn){closeActiveAnimations=before(fn)}),chain.length?chain.push(function(fn){applyOptions(),fn(!0)}):applyOptions(),after&&chain.push(function(fn){closeActiveAnimations=after(fn)}),runner.setHost({end:function(){endAnimations()},cancel:function(){endAnimations(!0)}}),$$AnimateRunner.chain(chain,onComplete),runner;function onComplete(success){close(),runner.complete(success)}function endAnimations(cancelled){animationClosed||((closeActiveAnimations||noop)(cancelled),onComplete(cancelled))}}};function applyOptions(){options.domOperation(),applyAnimationClasses(element,options)}function close(){animationClosed=!0,applyOptions(),applyAnimationStyles(element,options)}function groupEventedAnimations(element,event,options,animations,fnName){var operations=[];return forEach(animations,function(ani){var animation=ani[fnName];animation&&operations.push(function(){var runner,endProgressCb,resolved=!1,onAnimationComplete=function(rejected){resolved||(resolved=!0,(endProgressCb||noop)(rejected),runner.complete(!rejected))};return runner=new $$AnimateRunner({end:function(){onAnimationComplete()},cancel:function(){onAnimationComplete(!0)}}),endProgressCb=function(fn,element,event,options,onDone){var args;switch(event){case"animate":args=[element,options.from,options.to,onDone];break;case"setClass":args=[element,classesToAdd,classesToRemove,onDone];break;case"addClass":args=[element,classesToAdd,onDone];break;case"removeClass":args=[element,classesToRemove,onDone];break;default:args=[element,onDone]}args.push(options);var value=fn.apply(fn,args);if(value)if(isFunction(value.start)&&(value=value.start()),value instanceof $$AnimateRunner)value.done(onDone);else if(isFunction(value))return value;return noop}(animation,element,event,options,function(result){onAnimationComplete(!1===result)}),runner})}),operations}function packageAnimations(element,event,options,animations,fnName){var a,b,operations=groupEventedAnimations(element,event,options,animations,fnName);0===operations.length&&("beforeSetClass"===fnName?(a=groupEventedAnimations(element,"removeClass",options,animations,"beforeRemoveClass"),b=groupEventedAnimations(element,"addClass",options,animations,"beforeAddClass")):"setClass"===fnName&&(a=groupEventedAnimations(element,"removeClass",options,animations,"removeClass"),b=groupEventedAnimations(element,"addClass",options,animations,"addClass")),a&&(operations=operations.concat(a)),b&&(operations=operations.concat(b)));if(0!==operations.length)return function(callback){var runners=[];return operations.length&&forEach(operations,function(animateFn){runners.push(animateFn())}),runners.length?$$AnimateRunner.all(runners,callback):callback(),function(reject){forEach(runners,function(runner){reject?runner.cancel():runner.end()})}}}}}]}],$$AnimateJsDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function($$animateJs,$$AnimateRunner){return function(animationDetails){if(animationDetails.from&&animationDetails.to){var fromAnimation=prepareAnimation(animationDetails.from),toAnimation=prepareAnimation(animationDetail
1s.to);if(!fromAnimation&&!toAnimation)return;return{start:function(){var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),$$AnimateRunner.all(animationRunners,function(status){runner.complete(status)});var runner=new $$AnimateRunner({end:endFnFactory(),cancel:endFnFactory()});return runner;function endFnFactory(){return function(){forEach(animationRunners,function(runner){runner.end()})}}}}}return prepareAnimation(animationDetails)};function prepareAnimation(animationDetails){var element=animationDetails.element,event=animationDetails.event,options=animationDetails.options,classes=animationDetails.classes;return $$animateJs(element,event,classes,options)}}]}],NG_ANIMATE_ATTR_NAME="data-ng-animate",NG_ANIMATE_PIN_DATA="$ngAnimatePin",$$AnimateQueueProvider=["$animateProvider",function($animateProvider){var PRE_DIGEST_STATE=1,RUNNING_STATE=2,ONE_SPACE=" ",rules=this.rules={skip:[],cancel:[],join:[]};function hasMatchingClasses(newClassString,currentClassString){if(newClassString&&currentClassString){var currentClassMap=function(classString){if(!classString)return null;var keys=classString.split(ONE_SPACE),map=Object.create(null);return forEach(keys,function(key){map[key]=!0}),map}(currentClassString);return newClassString.split(ONE_SPACE).some(function(className){return currentClassMap[className]})}}function isAllowed(ruleType,element,currentAnimation,previousAnimation){return rules[ruleType].some(function(fn){return fn(element,currentAnimation,previousAnimation)})}function hasAnimationClasses(animation,and){var a=(animation.addClass||"").length>0,b=(animation.removeClass||"").length>0;return and?a&&b:a||b}rules.join.push(function(element,newAnimation,currentAnimation){return!newAnimation.structural&&hasAnimationClasses(newAnimation)}),rules.skip.push(function(element,newAnimation,currentAnimation){return!newAnimation.structural&&!hasAnimationClasses(newAnimation)}),rules.skip.push(function(element,newAnimation,currentAnimation){return"leave"==currentAnimation.event&&newAnimation.structural}),rules.skip.push(function(element,newAnimation,currentAnimation){return currentAnimation.structural&&currentAnimation.state===RUNNING_STATE&&!newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){return currentAnimation.structural&&newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){return currentAnimation.state===RUNNING_STATE&&newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){if(currentAnimation.structural)return!1;var nA=newAnimation.addClass,nR=newAnimation.removeClass,cA=currentAnimation.addClass,cR=currentAnimation.removeClass;return!(isUndefined(nA)&&isUndefined(nR)||isUndefined(cA)&&isUndefined(cR))&&(hasMatchingClasses(nA,cR)||hasMatchingClasses(nR,cA))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function($$rAF,$rootScope,$rootElement,$document,$$HashMap,$$animation,$$AnimateRunner,$templateRequest,$$jqLite,$$forceReflow){var activeAnimationsLookup=new $$HashMap,disabledElementsLookup=new $$HashMap,animationsEnabled=null;var deregisterWatch=$rootScope.$watch(function(){return 0===$templateRequest.totalPendingRequests},function(isEmpty){isEmpty&&(deregisterWatch(),$rootScope.$$postDigest(function(){$rootScope.$$postDigest(function(){null===animationsEnabled&&(animationsEnabled=!0)})}))}),callbackRegistry=Object.create(null),classNameFilter=$animateProvider.classNameFilter(),isAnimatableClassName=classNameFilter?function(className){return classNameFilter.test(className)}:function(){return!0},applyAnimationClasses=applyAnimationClassesFactory($$jqLite);function normalizeAnimationDetails(element,animation){return mergeAnimationDetails(element,animation,{})}var contains=window.Node.prototype.contains||function(arg){return this===arg||!!(16&this.compareDocumentPosition(arg))};function filterFromRegistry(list,matchContainer,matchCallback){var containerNode=extractElementNode(matchContainer);return list.filter(function(entry){return!(entry.node===containerNode&&(!matchCallback||entry.callback===matchCallback))})}function cleanupEventListeners(phase,element){"close"!==phase||element[0].parentNode||$animate.off(element)}var $animate={on:function(event,container,callback){var node=extractElementNode(container);callbackRegistry[event]=callbackRegistry[event]||[],callbackRegistry[event].push({node:node,callback:callback}),jqLite(container).on("$destroy",function(){activeAnimationsLookup.get(node)||$animate.off(event,container,callback)})},off:function(event,container,callback){if(1!==arguments.length||isString(arguments[0])){var entries=callbackRegistry[event];entries&&(callbackRegistry[event]=1===arguments.length?null:filterFromRegistry(entries,container,callback))}else for(var eventType in container=arguments[0],callbackRegistry)callbackRegistry[eventType]=filterFromRegistry(callbackRegistry[eventType],container)},pin:function(element,parentElement){assertArg(isElement(element),"element","not an element"),assertArg(isElement(parentElement),"parentElement","not an element"),element.data(NG_ANIMATE_PIN_DATA,parentElement)},push:function(element,event,options,domOperation){return(options=options||{}).domOperation=domOperation,function(element,event,initialOptions){var node,parent,options=copy(initialOptions);(element=function(element){if(element instanceof jqLite)switch(element.length){case 0:return element;case 1:if(element[0].nodeType===ELEMENT_NODE)return element;break;default:return jqLite(extractElementNode(element))}if(element.nodeType===ELEMENT_NODE)return jqLite(element)}(element))&&(node=getDomNode(element),parent=element.parent());options=prepareAnimationOptions(options);var runner=new $$AnimateRunner,runInNextPostDigestOrNow=(postDigestCalled=!1,function(fn){postDigestCalled?fn():$rootScope.$$postDigest(function(){postDigestCalled=!0,fn()})});var postDigestCalled;isArray(options.addClass)&&(options.addClass=options.addClass.join(" "));options.addClass&&!isString(options.addClass)&&(options.addClass=null);isArray(options.removeClass)&&(options.removeClass=options.removeClass.join(" "));options.removeClass&&!isString(options.removeClass)&&(options.removeClass=null);
1options.from&&!isObject(options.from)&&(options.from=null);options.to&&!isObject(options.to)&&(options.to=null);if(!node)return close(),runner;var className=[node.className,options.addClass,options.removeClass].join(" ");if(!isAnimatableClassName(className))return close(),runner;var isStructural=["enter","move","leave"].indexOf(event)>=0,documentHidden=$document[0].hidden,skipAnimations=!animationsEnabled||documentHidden||disabledElementsLookup.get(node),existingAnimation=!skipAnimations&&activeAnimationsLookup.get(node)||{},hasExistingAnimation=!!existingAnimation.state;skipAnimations||hasExistingAnimation&&existingAnimation.state==PRE_DIGEST_STATE||(skipAnimations=!function(element,parentElement,event){var animateChildren,bodyElement=jqLite($document[0].body),bodyElementDetected=isMatchingElement(element,bodyElement)||"HTML"===element[0].nodeName,rootElementDetected=isMatchingElement(element,$rootElement),parentAnimationDetected=!1,elementDisabled=disabledElementsLookup.get(getDomNode(element)),parentHost=jqLite.data(element[0],NG_ANIMATE_PIN_DATA);parentHost&&(parentElement=parentHost);parentElement=getDomNode(parentElement);for(;parentElement&&(rootElementDetected||(rootElementDetected=isMatchingElement(parentElement,$rootElement)),parentElement.nodeType===ELEMENT_NODE);){var details=activeAnimationsLookup.get(parentElement)||{};if(!parentAnimationDetected){var parentElementDisabled=disabledElementsLookup.get(parentElement);if(!0===parentElementDisabled&&!1!==elementDisabled){elementDisabled=!0;break}!1===parentElementDisabled&&(elementDisabled=!1),parentAnimationDetected=details.structural}if(isUndefined(animateChildren)||!0===animateChildren){var value=jqLite.data(parentElement,NG_ANIMATE_CHILDREN_DATA);isDefined(value)&&(animateChildren=value)}if(parentAnimationDetected&&!1===animateChildren)break;if(bodyElementDetected||(bodyElementDetected=isMatchingElement(parentElement,bodyElement)),bodyElementDetected&&rootElementDetected)break;parentElement=rootElementDetected||!(parentHost=jqLite.data(parentElement,NG_ANIMATE_PIN_DATA))?parentElement.parentNode:getDomNode(parentHost)}return(!parentAnimationDetected||animateChildren)&&!0!==elementDisabled&&rootElementDetected&&bodyElementDetected}(element,parent));if(skipAnimations)return documentHidden&&notifyProgress(runner,event,"start"),close(),documentHidden&&notifyProgress(runner,event,"close"),runner;isStructural&&function(element){var children=getDomNode(element).querySelectorAll("["+NG_ANIMATE_ATTR_NAME+"]");forEach(children,function(child){var state=parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME)),animationDetails=activeAnimationsLookup.get(child);if(animationDetails)switch(state){case RUNNING_STATE:animationDetails.runner.end();case PRE_DIGEST_STATE:activeAnimationsLookup.remove(child)}})}(element);var newAnimation={structural:isStructural,element:element,event:event,addClass:options.addClass,removeClass:options.removeClass,close:close,options:options,runner:runner};if(hasExistingAnimation){var skipAnimationFlag=isAllowed("skip",element,newAnimation,existingAnimation);if(skipAnimationFlag)return existingAnimation.state===RUNNING_STATE?(close(),runner):(mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner);var cancelAnimationFlag=isAllowed("cancel",element,newAnimation,existingAnimation);if(cancelAnimationFlag)if(existingAnimation.state===RUNNING_STATE)existingAnimation.runner.end();else{if(!existingAnimation.structural)return mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;existingAnimation.close()}else{var joinAnimationFlag=isAllowed("join",element,newAnimation,existingAnimation);if(joinAnimationFlag){if(existingAnimation.state!==RUNNING_STATE)return function(element,event,options){var classes="";event&&(classes=pendClasses(event,EVENT_CLASS_PREFIX,!0)),options.addClass&&(classes=concatWithSpace(classes,pendClasses(options.addClass,ADD_CLASS_SUFFIX))),options.removeClass&&(classes=concatWithSpace(classes,pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX))),classes.length&&(options.preparationClasses=classe
1s,element.addClass(classes))}(element,isStructural?event:null,options),event=newAnimation.event=existingAnimation.event,options=mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;normalizeAnimationDetails(element,newAnimation)}}}else normalizeAnimationDetails(element,newAnimation);var isValidAnimation=newAnimation.structural;isValidAnimation||(isValidAnimation="animate"===newAnimation.event&&Object.keys(newAnimation.options.to||{}).length>0||hasAnimationClasses(newAnimation));if(!isValidAnimation)return close(),clearElementAnimationState(element),runner;var counter=(existingAnimation.counter||0)+1;return newAnimation.counter=counter,markElementAnimationState(element,PRE_DIGEST_STATE,newAnimation),$rootScope.$$postDigest(function(){var animationDetails=activeAnimationsLookup.get(node),animationCancelled=!animationDetails;animationDetails=animationDetails||{};var isValidAnimation=(element.parent()||[]).length>0&&("animate"===animationDetails.event||animationDetails.structural||hasAnimationClasses(animationDetails));if(animationCancelled||animationDetails.counter!==counter||!isValidAnimation)return animationCancelled&&(applyAnimationClasses(element,options),applyAnimationStyles(element,options)),(animationCancelled||isStructural&&animationDetails.event!==event)&&(options.domOperation(),runner.end()),void(isValidAnimation||clearElementAnimationState(element));event=!animationDetails.structural&&hasAnimationClasses(animationDetails,!0)?"setClass":animationDetails.event,markElementAnimationState(element,RUNNING_STATE);var realRunner=$$animation(element,event,animationDetails.options);runner.setHost(realRunner),notifyProgress(runner,event,"start",{}),realRunner.done(function(status){close(!status);var animationDetails=activeAnimationsLookup.get(node);animationDetails&&animationDetails.counter===counter&&clearElementAnimationState(getDomNode(element)),notifyProgress(runner,event,"close",{})})}),runner;function notifyProgress(runner,event,phase,data){runInNextPostDigestOrNow(function(){var callbacks=function(parent,element,event){var targetNode=getDomNode(element),targetParentNode=getDomNode(parent),matches=[],entries=callbackRegistry[event];return entries&&forEach(entries,function(entry){contains.call(entry.node,targetNode)?matches.push(entry.callback):"leave"===event&&contains.call(entry.node,targetParentNode)&&matches.push(entry.callback)}),matches}(parent,element,event);callbacks.length?$$rAF(function(){forEach(callbacks,function(callback){callback(element,phase,data)}),cleanupEventListeners(phase,element)}):cleanupEventListeners(phase,element)}),runner.progress(event,phase,data)}function close(reject){!function(element,options){options.preparationClasses&&(element.removeClass(options.preparationClasses),options.preparationClasses=null),options.activeClasses&&(element.removeClass(options.activeClasses),options.activeClasses=null)}(element,options),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),runner.complete(!reject)}}(element,event,options)},enabled:function(element,bool){var argCount=arguments.length;if(0===argCount)bool=!!animationsEnabled;else if(isElement(element)){var node=getDomNode(element);1===argCount?bool=!disabledElementsLookup.get(node):disabledElementsLookup.put(node,!bool)}else bool=animationsEnabled=!!element;return bool}};return $animate;function clearElementAnimationState(element){var node=getDomNode(element);node.removeAttribute(NG_ANIMATE_ATTR_NAME),activeAnimationsLookup.remove(node)}function isMatchingElement(nodeOrElmA,nodeOrElmB){return getDomNode(nodeOrElmA)===getDomNode(nodeOrElmB)}function markElementAnimationState(element,state,details){(details=details||{}).state=state;var node=getDomNode(element);node.setAttribute(NG_ANIMATE_ATTR_NAME,state);var oldValue=activeAnimationsLookup.get(node),newValue=oldValue?extend(oldValue,details):details;activeAnimationsLookup.put(node,newValue)}}]}],$$AnimationProvider=["$animateProvider",function($animateProvider){var NG_ANIMATE_REF_ATTR="ng-animate-ref",drivers=this.drivers=[],RUNNER_STORAGE_KEY="$$animationRunner";function getRunner(element){return element.data(RUNNER_STORAGE_KEY)}this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function($$jqLite,$rootScope,$injector,$$AnimateRunner,$$HashMap,$$rAFScheduler){var animationQueue=[],applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,options){options=prepareAnimationOptions(options);var isStructural=["enter","move","leave"].indexOf(event)>=0,runner=new $$AnimateRunner({end:function(){close()},cancel:function(){close(!0)}});if(!drivers.length)return close(),runner;!function(element,runner){element.data(RUNNER_STORAGE_KEY,runner)}(element,runner);var prepareClassName,classes=mergeClasses(element.attr("class"),mergeClasses(options.addClass,options.removeClass)),tempClasse
1s=options.tempClasses;return tempClasses&&(classes+=" "+tempClasses,options.tempClasses=null),isStructural&&(prepareClassName="ng-"+event+"-prepare",$$jqLite.addClass(element,prepareClassName)),animationQueue.push({element:element,classes:classes,event:event,structural:isStructural,options:options,beforeStart:function(){element.addClass(NG_ANIMATE_CLASSNAME),tempClasses&&$$jqLite.addClass(element,tempClasses);prepareClassName&&($$jqLite.removeClass(element,prepareClassName),prepareClassName=null)},close:close}),element.on("$destroy",handleDestroyedElement),animationQueue.length>1?runner:($rootScope.$$postDigest(function(){var animations=[];forEach(animationQueue,function(entry){getRunner(entry.element)?animations.push(entry):entry.close()}),animationQueue.length=0;var groupedAnimations=function(animations){var preparedAnimations=[],refLookup={};forEach(animations,function(animation,index){var element=animation.element,node=getDomNode(element),event=animation.event,enterOrMove=["enter","move"].indexOf(event)>=0,anchorNodes=animation.structural?function(node){var SELECTOR="["+NG_ANIMATE_REF_ATTR+"]",items=node.hasAttribute(NG_ANIMATE_REF_ATTR)?[node]:node.querySelectorAll(SELECTOR),anchors=[];return forEach(items,function(node){var attr=node.getAttribute(NG_ANIMATE_REF_ATTR);attr&&attr.length&&anchors.push(node)}),anchors}(node):[];if(anchorNodes.length){var direction=enterOrMove?"to":"from";forEach(anchorNodes,function(anchor){var key=anchor.getAttribute(NG_ANIMATE_REF_ATTR);refLookup[key]=refLookup[key]||{},refLookup[key][direction]={animationID:index,element:jqLite(anchor)}})}else preparedAnimations.push(animation)});var usedIndicesLookup={},anchorGroups={};return forEach(refLookup,function(operations,key){var from=operations.from,to=operations.to;if(from&&to){var fromAnimation=animations[from.animationID],toAnimation=animations[to.animationID],lookupKey=from.animationID.toString();if(!anchorGroups[lookupKey]){var group=anchorGroups[lookupKey]={structural:!0,beforeStart:function(){fromAnimation.beforeStart(),toAnimation.beforeStart()},close:function(){fromAnimation.close(),toAnimation.close()}
1,classes:function(a,b){a=a.split(" "),b=b.split(" ");for(var matches=[],i=0;i<a.length;i++){var aa=a[i];if("ng-"!==aa.substring(0,3))for(var j=0;j<b.length;j++)if(aa===b[j]){matches.push(aa);break}}return matches.join(" ")}(fromAnimation.classes,toAnimation.classes),from:fromAnimation,to:toAnimation,anchors:[]};group.classes.length?preparedAnimations.push(group):(preparedAnimations.push(fromAnimation),preparedAnimations.push(toAnimation))}anchorGroups[lookupKey].anchors.push({out:from.element,in:to.element})}else{var index=from?from.animationID:to.animationID,indexKey=index.toString();usedIndicesLookup[indexKey]||(usedIndicesLookup[indexKey]=!0,preparedAnimations.push(animations[index]))}}),preparedAnimations}(animations),toBeSortedAnimations=[];forEach(groupedAnimations,function(animationEntry){toBeSortedAnimations.push({domNode:getDomNode(animationEntry.from?animationEntry.from.element:animationEntry.element),fn:function(){animationEntry.beforeStart();var startAnimationFn,closeFn=animationEntry.close;if(getRunner(animationEntry.anchors?animationEntry.from.element||animationEntry.to.element:animationEntry.element)){var operation=function(animationDetails){for(var i=drivers.length-1;i>=0;i--){var driverName=drivers[i],factory=$injector.get(driverName),driver=factory(animationDetails);if(driver)return driver}}(animationEntry);operation&&(startAnimationFn=operation.start)}if(startAnimationFn){var animationRunner=startAnimationFn();animationRunner.done(function(status){closeFn(!status)}),function(animation,newRunner){animation.from&&animation.to?(update(animation.from.element),update(animation.to.element)):update(animation.element);function update(element){var runner=getRunner(element);runner&&runner.setHost(newRunner)}}(animationEntry,animationRunner)}else closeFn()}})}),$$rAFScheduler(function(animations){var i,tree={children:[]},lookup=new $$HashMap;for(i=0;i<animations.length;i++){var animation=animations[i];lookup.put(animation.domNode,animations[i]={domNode:animation.domNode,fn:animation.fn,children:[]})}for(i=0;i<animations.length;i++)processNode(animations[i]);return function(tree){var i,result=[],queue=[];for(i=0;i<tree.children.length;i++)queue.push(tree.children[i]);var remainingLevelEntries=queue.length,nextLevelEntries=0,row=[];for(i=0;i<queue.length;i++){var entry=queue[i];remainingLevelEntries<=0&&(remainingLevelEntries=nextLevelEntries,nextLevelEntries=0,result.push(row),row=[]),row.push(entry.fn),entry.children.forEach(function(childEntry){nextLevelEntries++,queue.push(childEntry)}),remainingLevelEntries--}return row.length&&result.push(row),result}(tree);function processNode(entry){if(entry.processed)return entry;entry.processed=!0;var parentEntry,elementNode=entry.domNode,parentNode=elementNode.parentNode;for(lookup.put(elementNode,entry);parentNode;){if(parentEntry=lookup.get(parentNode)){parentEntry.processed||(parentEntry=processNode(parentEntry));break}parentNode=parentNode.parentNode}return(parentEntry||tree).children.push(entry),entry}}(toBeSortedAnimations))}),runner);function handleDestroyedElement(){var runner=getRunner(element);!runner||"leave"===event&&options.$$domOperationFired||runner.end()}function close(rejected){element.off("$destroy",handleDestroyedElement),function(element){element.removeData(RUNNER_STORAGE_KEY)}(element),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),tempClasses&&$$jqLite.removeClass(element,tempClasses),element.removeClass(NG_ANIMATE_CLASSNAME),runner.complete(!rejected)}}}]}];angular.module("ngAnimate",[],function(){noop=angular.noop,copy=angular.copy,extend=angular.extend,jqLite=angular.element,forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,isObject=angular.isObject,isUndefined=angular.isUndefined,isDefined=angular.isDefined,isFunction=angular.isFunction,isElement=angular.isElement}).directive("ngAnimateSwap",["$animate","$rootScope",function($animate,$rootScope){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(scope,$element,attrs,ctrl,$transclude){var previousElement,previousScope;scope.$watchCollection(attrs.ngAnimateSwap||attrs.for,function(value){previousElement&&$animate.leave(previousElement),previousScope&&(previousScope.$destroy(),previousScope=null),(value||0===value)&&(previousScope=scope.$new(),$transclude(previousScope,function(element){previousElement=element,$animate.enter(element,null,$element)}))})}}}]).directive("ngAnimateChildren",$$AnimateChildrenDirective).factory("$$rAFScheduler",["$$rAF",function($$rAF){var queue,cancelFn;function scheduler(tasks){queue=queue.concat(tasks),nextTick()}return queue=scheduler.queue=[],scheduler.waitUntilQuiet=function(fn){cancelFn&&cancelFn(),c
1ancelFn=$$rAF(function(){cancelFn=null,fn(),nextTick()})},scheduler;function nextTick(){if(queue.length){for(var items=queue.shift(),i=0;i<items.length;i++)items[i]();cancelFn||$$rAF(function(){cancelFn||nextTick()})}}}]).provider("$$animateQueue",$$AnimateQueueProvider).provider("$$animation",$$AnimationProvider).provider("$animateCss",$AnimateCssProvider).provider("$$animateCssDriver",$$AnimateCssDriverProvider).provider("$$animateJs",$$AnimateJsProvider).provider("$$animateJsDriver",$$AnimateJsDriverProvider)}(window,window.angular),function(window,angular){"use strict";var ngAriaModule=angular.module("ngAria",["ng"]).provider("$aria",function(){var config={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeypress:!0,bindRoleForClick:!0};function watchExpr(attrName,ariaAttr,nodeBlackList,negate){return function(scope,elem,attr){var ariaCamelName=attr.$normalize(ariaAttr);!config[ariaCamelName]||isNodeOneOf(elem,nodeBlackList)||attr[ariaCamelName]||scope.$watch(attr[attrName],function(boolVal){boolVal=negate?!boolVal:!!boolVal,elem.attr(ariaAttr,boolVal)})}}this.config=function(newConfig){config=angular.extend(config,newConfig)}
1,this.$get=function(){return{config:function(key){return config[key]},$$watchExpr:watchExpr}}}),nodeBlackList=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],isNodeOneOf=function(elem,nodeTypeArray){if(-1!==nodeTypeArray.indexOf(elem[0].nodeName))return!0};ngAriaModule.directive("ngShow",["$aria",function($aria){return $aria.$$watchExpr("ngShow","aria-hidden",[],!0)}]).directive("ngHide",["$aria",function($aria){return $aria.$$watchExpr("ngHide","aria-hidden",[],!1)}]).directive("ngValue",["$aria",function($aria){return $aria.$$watchExpr("ngValue","aria-checked",nodeBlackList,!1)}]).directive("ngChecked",["$aria",function($aria){return $aria.$$watchExpr("ngChecked","aria-checked",nodeBlackList,!1)}]).directive("ngReadonly",["$aria",function($aria){return $aria.$$watchExpr("ngReadonly","aria-readonly",nodeBlackList,!1)}]).directive("ngRequired",["$aria",function($aria){return $aria.$$watchExpr("ngRequired","aria-required",nodeBlackList,!1)}]).directive("ngModel",["$aria",function($aria){function shouldAttachAttr(attr,normalizedAttr,elem,allowBlacklistEls){return $aria.config(normalizedAttr)&&!elem.attr(attr)&&(allowBlacklistEls||!isNodeOneOf(elem,nodeBlackList))}function shouldAttachRole(role,elem){return!elem.attr("role")&&elem.attr("type")===role&&"INPUT"!==elem[0].nodeName}return{restrict:"A",require:"ngModel",priority:200,compile:function(elem,attr){var shape=function(attr,elem){var type=attr.type,role=attr.role;return"checkbox"===(type||role)||"menuitemcheckbox"===role?"checkbox":"radio"===(type||role)||"menuitemradio"===role?"radio":"range"===type||"progressbar"===role||"slider"===role?"range":""}(attr);return{pre:function(scope,elem,attr,ngModel){"checkbox"===shape&&(ngModel.$isEmpty=function(value){return!1===value})},post:function(scope,elem,attr,ngModel){var needsTabIndex=shouldAttachAttr("tabindex","tabindex",elem,!1);function ngAriaWatchModelValue(){return ngModel.$modelValue}switch(shape){case"radio":case"checkbox":shouldAttachRole(shape,elem)&&elem.attr("role",shape),shouldAttachAttr("aria-checked","ariaChecked",elem,!1)&&scope.$watch(ngAriaWatchModelValue,"radio"===shape?function(newVal){var boolVal=attr.value==ngModel.$viewValue;elem.attr("aria-checked",boolVal)}:function(){elem.attr("aria-checked",!ngModel.$isEmpty(ngModel.$viewValue))}),needsTabIndex&&elem.attr("tabindex",0);break;case"range":if(shouldAttachRole(shape,elem)&&elem.attr("role","slider"),$aria.config("ariaValue")){var needsAriaValuemin=!elem.attr("aria-valuemin")&&(attr.hasOwnProperty("min")||attr.hasOwnProperty("ngMin")),needsAriaValuemax=!elem.attr("aria-valuemax")&&(attr.hasOwnProperty("max")||attr.hasOwnProperty("ngMax")),needsAriaValuenow=!elem.attr("aria-valuenow");needsAriaValuemin&&attr.$observe("min",function(newVal){elem.attr("aria-valuemin",newVal)}),needsAriaValuemax&&attr.$observe("max",function(newVal){elem.attr("aria-valuemax",newVal)}),needsAriaValuenow&&scope.$watch(ngAriaWatchModelValue,function(newVal){elem.attr("aria-valuenow",newVal)})}needsTabIndex&&elem.attr("tabindex",0)}!attr.hasOwnProperty("ngRequired")&&ngModel.$validators.required&&shouldAttachAttr("aria-required","ariaRequired",elem,!1)&&attr.$observe("required",function(){elem.attr("aria-required",!!attr.required)}),shouldAttachAttr("aria-invalid","ariaInvalid",elem,!0)&&scope.$watch(function(){return ngModel.$invalid},function(newVal){elem.attr("aria-invalid",!!newVal)})}}}}}]).directive("ngDisabled",["$aria",function($aria){return $aria.$$watchExpr("ngDisabled","aria-disabled",nodeBlackList,!1)}]).directive("ngMessages",function(){return{restrict:"A",require:"?ngMessages",link:function(scope,elem,attr,ngMessages){elem.attr("aria-live")||elem.attr("aria-live","assertive")}}}).directive("ngClick",["$aria","$parse",function($aria,$parse){return{restrict:"A",compile:function(elem,attr){var fn=$parse(attr.ngClick,null,!0);return function(scope,elem,attr){isNodeOneOf(elem,nodeBlackList)||($aria.config("bindRoleForClick")&&!elem.attr("role")&&elem.attr("role","button"),$aria.config("tabindex")&&!elem.attr("tabindex")&&elem.attr("tabindex",0),$aria.config("bindKeypress")&&!attr.ngKeypress&&elem.on("keypress",function(event){var keyCode=event.which||event.keyCode;32!==keyCode&&13!==keyCode||scope.$apply(function(){fn(scope,{$event:event})})}))}}}}]).directive("ngDblclick",["$aria",function($aria){return function(scope,elem,attr){!$aria.config("tabindex")||elem.attr("tabindex")||isNodeOneOf(elem,nodeBlackList)||elem.attr("tabindex",0)}}])}(window,window.angular),function(window,angular){"use strict";function $$CookieWriter($document,$log,$browser){var cookiePath=$browser.baseHref(),rawDocument=$document[0];return function(name,value,options){rawDocument.cookie=function(name,value,options){var path,expires;expires=(options=options||{}).expires,path=angular.isDefined(options.path)?options.path:cookiePath,angular.isUndefined(value)&&(expires="Thu, 01 Jan 1970 00:00:00 GMT",value=""),angular.isString(expires)&&(expires=new Date(expires));var str=encodeURIComponent(name)+"="+encodeURIComponent(value);str+=path?";path="+path:"",str+=options.domain?";domain="+options.domain:"",str+=expires?";expires="+expires.toUTCString():"";var cookieLength=(str+=options.secure?";secure":"").length+1;return cookieLength>4096&&$log.warn("Cookie '"+name+"' possibly not set or overflowed because it was too large ("+cookieLength+" > 4096 bytes)!"),str}(name,value,options)}}angular.module("ngCookies",["ng"]).provider("$cookies",[function(){var defaults=this.defaults={};function calcOptions(options){return options?angular.extend({},defaults,options):defaults}this.$get=["$$cookieReader","$$cookieWriter",function($$cookieReader,$$cookieWriter){return{get:function(key){return $$cookieReader()[key]},getObject:function(key){var value=this.get(key);return value?angular.fromJson(value):value},getAll:function(){return $$cookieReader()},put:function(key,value,options){$$cookieWriter(key,value,calcOptions(options))},putObject:function(key,value,options){this.put(key,angular.toJson(value),options)},remove:function(key,options){$$cookieWriter(key,void 0,calcOptions(options))}}}]}]),angular.module("ngCookies").factory("$cookieStore",["$cookies",function($cookies){return{get:function(key){return $cookies.getObject(key)},put:function(key,value){$cookies.putObject(key,value)},remove:function(key){$cookies.remove(key)}}}]),$$CookieWriter.$inject=["$document","$log","$browser"],angular.module("ngCookies").provider("$$cookieWriter",function(){this.$get=$$CookieWriter})}(window,window.angular),function(window,angular){"use strict";
1var forEach,isArray,isString,jqLite;function ngMessageDirectiveFactory(){return["$animate",function($animate){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(scope,element,attrs,ngMessagesCtrl,$transclude){var records,currentElement,messageCtrl,commentNode=element[0],staticExp=attrs.ngMessage||attrs.when,dynamicExp=attrs.ngMessageExp||attrs.whenExp,assignRecords=function(items){records=items?isArray(items)?items:items.split(/[\s,]+/):null,ngMessagesCtrl.reRender()};dynamicExp?(assignRecords(scope.$eval(dynamicExp)),scope.$watchCollection(dynamicExp,assignRecords)):assignRecords(staticExp),ngMessagesCtrl.register(commentNode,messageCtrl={test:function(name){return function(collection,key){if(collection)return isArray(collection)?collection.indexOf(key)>=0:collection.hasOwnProperty(key)}(records,name)},attach:function(){currentElement||$transclude(function(elm,newScope){$animate.enter(elm,null,element);var $$attachId=(currentElement=elm).$$attachId=ngMessagesCtrl.getAttachId();currentElement.on("$destroy",function(){currentElement&&currentElement.$$attachId===$$attachId&&(ngMessagesCtrl.deregister(commentNode),messageCtrl.detach()),newScope.$destroy()})})},detach:function(){if(currentElement){var elm=currentElement;currentElement=null,$animate.leave(elm)}}})}}}]}angular.module("ngMessages",[],function(){forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,jqLite=angular.element}).directive("ngMessages",["$animate",function($animate){return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function($element,$scope,$attrs){var ctrl=this,latestKey=0,nextAttachId=0;this.getAttachId=function(){return nextAttachId++};var renderLater,cachedCollection,messages=this.messages={};function findPreviousMessage(parent,comment){for(var prevNode=comment,parentLookup=[];prevNode&&prevNode!==parent;){var prevKey=prevNode.$$ngMessageNode;if(prevKey&&prevKey.length)return messages[prevKey];prevNode.childNodes.length&&-1===parentLookup.indexOf(prevNode)?(parentLookup.push(prevNode),prevNode=prevNode.childNodes[prevNode.childNodes.length-1]):prevNode.previousSibling?prevNode=prevNode.previousSibling:(prevNode=prevNode.parentNode,parentLookup.push(prevNode))}}this.render=function(collection){renderLater=!1,cachedCollection=collection=collection||{};for(var multiple=isAttrTruthy($scope,$attrs.ngMessagesMultiple)||isAttrTruthy($scope,$attrs.multiple),unmatchedMessages=[],matchedKeys={},messageItem=ctrl.head,messageFound=!1,totalMessages=0;null!=messageItem;){totalMessages++;var messageCtrl=messageItem.message,messageUsed=!1;messageFound||forEach(collection,function(value,key){if(!messageUsed&&truthy(value)&&messageCtrl.test(key)){if(matchedKeys[key])return;matchedKeys[key]=!0,messageUsed=!0,messageCtrl.attach()}}),messageUsed?messageFound=!multiple:unmatchedMessages.push(messageCtrl),messageItem=messageItem.next}forEach(unmatchedMessages,function(messageCtrl){messageCtrl.detach()}),unmatchedMessages.length!==totalMessages?$animate.setClass($element,"ng-active","ng-inactive"):$animate.setClass($element,"ng-inactive","ng-active")},$scope.$watchCollection($attrs.ngMessages||$attrs.for,ctrl.render),$element.on("$destroy",function(){forEach(messages,function(item){item.message.detach()})}),this.reRender=function(){renderLater||(renderLater=!0,$scope.$evalAsync(function(){renderLater&&cachedCollection&&ctrl.render(cachedCollection)}))},this.register=function(comment,messageCtrl){var nextKey=latestKey.toString();messages[nextKey]={message:messageCtrl},function(parent,comment,key){var messageNode=messages[key];if(ctrl.head){var match=findPreviousMessage(parent,comment);match?(messageNode.next=match.next,match.next=messageNode):(messageNode.next=ctrl.head,ctrl.head=messageNode)}else ctrl.head=messageNode}($element[0],comment,nextKey),comment.$$ngMessageNode=nextKey,latestKey++,ctrl.reRender()},this.deregister=function(comment){var key=comment.$$ngMessageNode;delete comment.$$ngMessageNode,function(parent,comment,key){var messageNode=messages[key],match=findPreviousMessage(parent,comment);match?match.next=messageNode.next:ctrl.head=messageNode.next}($element[0],comment,key),delete messages[key],ctrl.reRender()}}]};function isAttrTruthy(scope,attr){return isString(attr)&&0===attr.length||truthy(scope.$eval(attr))}function truthy(val){return isString(val)?val.length:!!val}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function($templateRequest,$document,$compile){return{restrict:"AE",require:"^^ngMessages",link:function($scope,element,attrs){var src=attrs.ngMessagesInclude||attrs.src;$templateRequest(src).then(function(html){$scope.$$destroyed||(isString(html)&&!html.trim()?replaceElementWithMarker(element,src):$compile(html)($scope,function(contents){element.after(contents),replaceElementWithMarker(element,src)}))})}};function replaceElementWithMarker(element,src){var comment=$compile.$$createComment?$compile.$$createComment("ngMessagesInclude",src):$document[0].createComment(" ngMessagesInclude: "+src+" "),marker=jqLite(comment);element.after(marker),element.remove()}}]).directive("ngMessage",ngMessageDirectiveFactory()).directive("ngMessageExp",ngMessageDirectiveFactory())}(window,window.angular),function(window,angular){"use strict";var $resourceMinErr=angular.$$minErr("$resource"),MEMBER_NAME_REGEX=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;function lookupDottedPath(obj,path){if(!function(path){return null!=path&&""!==path&&"hasOwnProperty"!==path&&MEMBER_NAME_REGEX.test("."+path)}(path))throw $resourceMinErr("badmember",'Dotted member path "@{0}
1" is invalid.',path);for(var keys=path.split("."),i=0,ii=keys.length;i<ii&&angular.isDefined(obj);i++){var key=keys[i];obj=null!==obj?obj[key]:void 0}return obj}function shallowClearAndCopy(src,dst){for(var key in dst=dst||{},angular.forEach(dst,function(value,key){delete dst[key]}),src)!src.hasOwnProperty(key)||"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst}angular.module("ngResource",["ng"]).provider("$resource",function(){var PROTOCOL_AND_DOMAIN_REGEX=/^https?:\/\/[^\/]*/,provider=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},delete:{method:"DELETE"}}},this.$get=["$http","$log","$q","$timeout",function($http,$log,$q,$timeout){var noop=angular.noop,forEach=angular.forEach,extend=angular.extend,copy=angular.copy,isFunction=angular.isFunction;function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,pctEncodeSpaces?"%20":"+")}function Route(template,defaults){this.template=template,this.defaults=extend({},provider.defaults,defaults),this.urlParams={}}return Route.prototype={setUrlParams:function(config,params,actionUrl){var val,encodedVal,self=this,url=actionUrl||self.template,protocolAndDomain="",urlParams=self.urlParams={};forEach(url.split(/\W/),function(param){if("hasOwnProperty"===param)throw $resourceMinErr("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(param)&&param&&new RegExp("(^|[^\\\\]):"+param+"(\\W|$)").test(url)&&(urlParams[param]={isQueryParamValue:new RegExp("\\?.*=:"+param+"(?:\\W|$)").test(url)})}),url=(url=url.replace(/\\:/g,":")).replace(PROTOCOL_AND_DOMAIN_REGEX,function(match){return protocolAndDomain=match,""}),params=params||{},forEach(self.urlParams,function(paramInfo,urlParam){val=params.hasOwnProperty(urlParam)?params[urlParam]:self.defaults[urlParam],angular.isDefined(val)&&null!==val?(encodedVal=paramInfo.isQueryParamValue?encodeUriQuery(val,!0):function(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}(val),url=url.replace(new RegExp(":"+urlParam+"(\\W|$)","g"),function(match,p1){return encodedVal+p1})):url=url.replace(new RegExp("(/?):"+urlParam+"(\\W|$)","g"),function(match,leadingSlashes,tail){return"/"==tail.charAt(0)?tail:leadingSlashes+tail})}),self.defaults.stripTrailingSlashes&&(url=url.replace(/\/+$/,"")||"/"),url=url.replace(/\/\.(?=\w+($|\?))/,"."),config.url=protocolAndDomain+url.replace(/\/\\\./,"/."),forEach(params,function(value,key){self.urlParams[key]||(config.params=config.params||{},config.params[key]=value)})}},function resourceFactory(url,paramDefaults,actions,options){var route=new Route(url,options);function defaultResponseInterceptor(response){return response.resource}function Resource(value){shallowClearAndCopy(value||{},this)}return actions=extend({},provider.defaults.actions,actions),Resource.prototype.toJSON=function(){var data=extend({},this);return delete data.$promise,delete data.$resolved,data},forEach(actions,function(action,name){var hasBody=/^(POST|PUT|PATCH)$/i.test(action.method),numericTimeout=action.timeout,cancellable=angular.isDefined(action.cancellable)?action.cancellable:options&&angular.isDefined(options.cancellable)?options.cancellable:provider.defaults.cancellable;numericTimeout&&!angular.isNumber(numericTimeout)&&($log.debug("ngResource:\n  Only numeric values are allowed as `timeout`.\n  Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete action.timeout,numericTimeout=null),Resource[name]=function(a1,a2,a3,a4){var data,success,error,params={};switch(arguments.length){case 4:error=a4,success=a3;case 3:case 2:if(!isFunction(a2)){params=a1,data=a2,success=a3;break}if(isFunction(a1)){success=a1,error=a2;break}success=a2,error=a3;case 1:isFunction(a1)?success=a1:hasBody?data=a1:params=a1;break;case 0:break;default:throw $resourceMinErr("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var timeoutDeferred,numericTimeoutPromise,isInstanceCall=this instanceof Resource,value=isInstanceCall?data:action.isArray?[]:new Resource(data),httpConfig={},responseInterceptor=action.interceptor&&action.interceptor.response||defaultResponseInterceptor,responseErrorInterceptor=action.interceptor&&action.interceptor.responseError||void 0;forEach(action,function(value,key){switch(key){default:httpConfig[key]=copy(value);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!isInstanceCall&&cancellable&&(timeoutDeferred=$q.defer(),httpConfig.timeout=timeoutDeferred.promise,numericTimeout&&(numericTimeoutPromise=$timeout(timeoutDeferred.resolve,numericTimeout))),hasBody&&(httpConfig.data=data),route.setUrlParams(httpConfig,extend({},function(data,actionParams){var ids={};return actionParams=extend({}
1,paramDefaults,actionParams),forEach(actionParams,function(value,key){isFunction(value)&&(value=value(data)),ids[key]=value&&value.charAt&&"@"==value.charAt(0)?lookupDottedPath(data,value.substr(1)):value}),ids}(data,action.params||{}),params),action.url);var promise=$http(httpConfig).then(function(response){var data=response.data;if(data){if(angular.isArray(data)!==!!action.isArray)throw $resourceMinErr("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",name,action.isArray?"array":"object",angular.isArray(data)?"array":"object",httpConfig.method,httpConfig.url);if(action.isArray)value.length=0,forEach(data,function(item){"object"==typeof item?value.push(new Resource(item)):value.push(item)});else{var promise=value.$promise;shallowClearAndCopy(data,value),value.$promise=promise}}return response.resource=value,response},function(response){return(error||noop)(response),$q.reject(response)});return promise.finally(function(){value.$resolved=!0,!isInstanceCall&&cancellable&&(value.$cancelRequest=angular.noop,$timeout.cancel(numericTimeoutPromise),timeoutDeferred=numericTimeoutPromise=httpConfig.timeout=null)}),promise=promise.then(function(response){var value=responseInterceptor(response);return(success||noop)(value,response.headers),value},responseErrorInterceptor),isInstanceCall?promise:(value.$promise=promise,value.$resolved=!1,cancellable&&(value.$cancelRequest=timeoutDeferred.resolve),value)},Resource.prototype["$"+name]=function(params,success,error){isFunction(params)&&(error=success,success=params,params={});var result=Resource[name].call(this,params,this,success,error);return result.$promise||result}}),Resource.bind=function(additionalParamDefaults){return resourceFactory(url,extend({},paramDefaults,additionalParamDefaults),actions)},Resource}}]})}(window,window.angular),function(window,angular){"use strict";var isArray,isObject,ngRouteModule=angular.module("ngRoute",["ng"]).provider("$route",function(){function inherit(parent,extra){return angular.extend(Object.create(parent),extra)}isArray=angular.isArray,isObject=angular.isObject;var routes={};function pathRegExp(path,opts){var insensitive=opts.caseInsensitiveMatch,ret={originalPath:path,regexp:path},keys=ret.keys=[];return path=path.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(_,slash,key,option){var optional="?"===option||"*?"===option?"?":null,star="*"===option||"*?"===option?"*":null;return keys.push({name:key,optional:!!optional}),slash=slash||"",(optional?"":slash)+"(?:"+(optional?slash:"")+(star?"(.+?)":"([^/]+)")+(optional||"")+")"+(optional||"")}).replace(/([\/$\*])/g,"\\$1"),ret.regexp=new RegExp("^"+path+"$",insensitive?"i":""),ret}this.when=function(path,route){var routeCopy=function(src,dst){if(isArray(src)){dst=dst||[];for(var i=0,ii=src.length;i<ii;i++)dst[i]=src[i]}else if(isObject(src))for(var key in dst=dst||{},src)"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst||src}(route);if(angular.isUndefined(routeCopy.reloadOnSearch)&&(routeCopy.reloadOnSearch=!0),angular.isUndefined(routeCopy.caseInsensitiveMatch)&&(routeCopy.caseInsensitiveMatch=this.caseInsensitiveMatch),routes[path]=angular.extend(routeCopy,path&&pathRegExp(path,routeCopy)),path){var redirectPath="/"==path[path.length-1]?path.substr(0,path.length-1):path+"/";routes[redirectPath]=angular.extend({redirectTo:path},pathRegExp(redirectPath,routeCopy))}return this},this.caseInsensitiveMatch=!1,this.otherwise=function(params){return"string"==typeof params&&(params={redirectTo:params}),this.when(null,params),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function($rootScope,$location,$routeParams,$q,$injector,$templateRequest,$sce){var preparedRoute,preparedRouteIsUpdateOnly,forceReload=!1,$route={routes:routes,reload:function(){forceReload=!0;var fakeLocationEvent={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0,forceReload=!1}};$rootScope.$evalAsync(function(){prepareRoute(fakeLocationEvent),fakeLocationEvent.defaultPrevented||commitRoute()})},updateParams:function(newParams){if(!this.current||!this.current.$$route)throw $routeMinErr("norout","Tried updating route when with no current route");newParams=angular.extend({},this.current.params,newParams),$location.path(interpolate(this.current.$$route.originalPath,newParams)),$location.search(newParams)}};return $rootScope.$on("$locationChangeStart",prepareRoute),$rootScope.$on("$locationChangeSuccess",commitRoute),$route;function prepareRoute($locationEvent){var params,match,lastRoute=$route.current;angular.forEach(routes,function(route,path){!match&&(params=function(on,route){var keys=route.keys,params={};if(!route.regexp)return null;var m=route.regexp.exec(on);if(!m)return null;for(var i=1,len=m.length;i<len;++i){var key=keys[i-1],val=m[i];key&&val&&(params[key.name]=val)}return params}($location.path(),route))&&((match=inherit(route,{params:angular.extend({},$location.search(),params),pathParams:params})).$$route=route)}),preparedRoute=match||routes.null&&inherit(routes.null,{params:{},pathParams:{}}),(preparedRouteIsUpdateOnly=preparedRoute&&lastRoute&&preparedRoute.$$route===lastRoute.$$route&&angular.equals(preparedRoute.pathParams,lastRoute.pathParams)&&!preparedRoute.reloadOnSearch&&!forceReload)||!lastRoute&&!preparedRoute||$rootScope.$broadcast("$routeChangeStart",preparedRoute,lastRoute).defaultPrevented&&$locationEvent&&$locationEvent.preventDefault()}function commitRoute(){var lastRoute=$route.current,nextRoute=preparedRoute;preparedRouteIsUpdateOnly?(lastRoute.params=nextRoute.params,angular.copy(lastRoute.params,$routeParam
1s),$rootScope.$broadcast("$routeUpdate",lastRoute)):(nextRoute||lastRoute)&&(forceReload=!1,$route.current=nextRoute,nextRoute&&nextRoute.redirectTo&&(angular.isString(nextRoute.redirectTo)?$location.path(interpolate(nextRoute.redirectTo,nextRoute.params)).search(nextRoute.params).replace():$location.url(nextRoute.redirectTo(nextRoute.pathParams,$location.path(),$location.search())).replace()),$q.when(nextRoute).then(resolveLocals).then(function(locals){nextRoute==$route.current&&(nextRoute&&(nextRoute.locals=locals,angular.copy(nextRoute.params,$routeParams)),$rootScope.$broadcast("$routeChangeSuccess",nextRoute,lastRoute))},function(error){nextRoute==$route.current&&$rootScope.$broadcast("$routeChangeError",nextRoute,lastRoute,error)}))}function resolveLocals(route){if(route){var locals=angular.extend({},route.resolve);angular.forEach(locals,function(value,key){locals[key]=angular.isString(value)?$injector.get(value):$injector.invoke(value,null,null,key)});var template=function(route){var template,templateUrl;angular.isDefined(template=route.template)?angular.isFunction(template)&&(template=template(route.params)):angular.isDefined(templateUrl=route.templateUrl)&&(angular.isFunction(templateUrl)&&(templateUrl=templateUrl(route.params)),angular.isDefined(templateUrl)&&(route.loadedTemplateUrl=$sce.valueOf(templateUrl),template=$templateRequest(templateUrl)));return template}(route);return angular.isDefined(template)&&(locals.$template=template),$q.all(locals)}}function interpolate(string,params){var result=[];return angular.forEach((string||"").split(":"),function(segment,i){if(0===i)result.push(segment);else{var segmentMatch=segment.match(/(\w+)(?:[?*])?(.*)/),key=segmentMatch[1];result.push(params[key]),result.push(segmentMatch[2]||""),delete params[key]}}),result.join("")}}]}),$routeMinErr=angular.$$minErr("ngRoute");function ngViewFactory($route,$anchorScroll,$animate){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(scope,$element,attr,ctrl,$transclude){var currentScope,currentElement,previousLeaveAnimation,autoScrollExp=attr.autoscroll,onloadExp=attr.onload||"";function cleanupLastView(){previousLeaveAnimation&&($animate.cancel(previousLeaveAnimation),previousLeaveAnimation=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&((previousLeaveAnimation=$animate.leave(currentElement)).then(function(){previousLeaveAnimation=null}),currentElement=null)}function update(){var locals=$route.current&&$route.current.locals,template=locals&&locals.$template;if(angular.isDefined(template)){var newScope=scope.$new(),current=$route.current,clone=$transclude(newScope,function(clone){$animate.enter(clone,null,currentElement||$element).then(function(){!angular.isDefined(autoScrollExp)||autoScrollExp&&!scope.$eval(autoScrollExp)||$anchorScroll()}),cleanupLastView()});currentElement=clone,(currentScope=current.scope=newScope).$emit("$viewContentLoaded"),currentScope.$eval(onloadExp)}else cleanupLastView()}scope.$on("$routeChangeSuccess",update),update()}}}function ngViewFillContentFactory($compile,$controller,$route){return{restrict:"ECA",priority:-400,link:function(scope,$element){var current=$route.current,locals=current.locals;$element.html(locals.$template);var link=$compile($element.contents());if(current.controller){locals.$scope=scope;var controller=$controller(current.controller,locals);current.controllerAs&&(scope[current.controllerAs]=controller),$element.data("$ngControllerController",controller),$element.children().data("$ngControllerController",controller)}scope[current.resolveAs||"$resolve"]=locals,link(scope)}}}ngRouteModule.provider("$routeParams",function(){this.$get=function(){return{}}}),ngRouteModule.directive("ngView",ngViewFactory),ngRouteModule.directive("ngView",ngViewFillContentFactory),ngViewFactory.$inject=["$route","$anchorScroll","$animate"],ngViewFillContentFactory.$inject=["$compile","$controller","$route"]}(window,window.angular),function(window,angular){"use strict";var bind,extend,forEach,isDefined,lowercase,noop,htmlParser,htmlSanitizeWriter,$sanitizeMinErr=angular.$$minErr("$sanitize");angular.module("ngSanitize",[]).provider("$sanitize",function(){var svgEnabled=!1;this.$get=["$$sanitizeUri",function($$sanitizeUri){return svgEnabled&&extend(validElements,svgElements),function(html){var buf=[];return htmlParser(html,htmlSanitizeWriter(buf,function(uri,isImage){return!/^unsafe:/.test($$sanitizeUri(uri,isImage))})),buf.join("")}}],this.enableSvg=function(enableSvg){return isDefined(enableSvg)?(svgEnabled=enableSvg,this):svgEnabled}
1,bind=angular.bind,extend=angular.extend,forEach=angular.forEach,isDefined=angular.isDefined,lowercase=angular.lowercase,noop=angular.noop,htmlParser=function(html,handler){null===html||void 0===html?html="":"string"!=typeof html&&(html=""+html),inertBodyElement.innerHTML=html;var mXSSAttempts=5;do{if(0===mXSSAttempts)throw $sanitizeMinErr("uinput","Failed to sanitize html because the input is unstable");mXSSAttempts--,window.document.documentMode&&stripCustomNsAttrs(inertBodyElement),html=inertBodyElement.innerHTML,inertBodyElement.innerHTML=html}while(html!==inertBodyElement.innerHTML);for(var node=inertBodyElement.firstChild;node;){switch(node.nodeType){case 1:handler.start(node.nodeName.toLowerCase(),attrToMap(node.attributes));break;case 3:handler.chars(node.textContent)}var nextNode;if(!((nextNode=node.firstChild)||(1==node.nodeType&&handler.end(node.nodeName.toLowerCase()),nextNode=node.nextSibling)))for(;null==nextNode&&(node=node.parentNode)!==inertBodyElement;)nextNode=node.nextSibling,1==node.nodeType&&handler.end(node.nodeName.toLowerCase());node=nextNode}for(;node=inertBodyElement.firstChild;)inertBodyElement.removeChild(node)},htmlSanitizeWriter=function(buf,uriValidator){var ignoreCurrentElement=!1,out=bind(buf,buf.push);return{start:function(tag,attrs){tag=lowercase(tag),!ignoreCurrentElement&&blockedElements[tag]&&(ignoreCurrentElement=tag),ignoreCurrentElement||!0!==validElements[tag]||(out("<"),out(tag),forEach(attrs,function(value,key){var lkey=lowercase(key),isImage="img"===tag&&"src"===lkey||"background"===lkey;!0!==validAttrs[lkey]||!0===uriAttrs[lkey]&&!uriValidator(value,isImage)||(out(" "),out(key),out('="'),out(encodeEntities(value)),out('"'))}),out(">"))},end:function(tag){tag=lowercase(tag),ignoreCurrentElement||!0!==validElements[tag]||!0===voidElements[tag]||(out("</"),out(tag),out(">")),tag==ignoreCurrentElement&&(ignoreCurrentElement=!1)},chars:function(chars){ignoreCurrentElement||out(encodeEntities(chars))}}};var inertBodyElement,SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NON_ALPHANUMERIC_REGEXP=/([^\#-~ |!])/g,voidElements=toMap("area,br,col,hr,img,wbr"),optionalEndTagBlockElements=toMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),optionalEndTagInlineElements=toMap("rp,rt"),optionalEndTagElements=extend({},optionalEndTagInlineElements,optionalEndTagBlockElements),blockElements=extend({},optionalEndTagBlockElements,toMap("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),inlineElements=extend({},optionalEndTagInlineElements,toMap("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),svgElements=toMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),blockedElements=toMap("script,style"),validElements=extend({},voidElements,blockElements,inlineElements,optionalEndTagElements),uriAttrs=toMap("background,cite,href,longdesc,src,xlink:href"),htmlAttrs=toMap("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),svgAttrs=toMap("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,str
1ikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),validAttrs=extend({},uriAttrs,svgAttrs,htmlAttrs);function toMap(str,lowercaseKeys){var i,obj={},items=str.split(",");for(i=0;i<items.length;i++)obj[lowercaseKeys?lowercase(items[i]):items[i]]=!0;return obj}function attrToMap(attrs){for(var map={},i=0,ii=attrs.length;i<ii;i++){var attr=attrs[i];map[attr.name]=attr.value}return map}function encodeEntities(value){return value.replace(/&/g,"&amp;").replace(SURROGATE_PAIR_REGEXP,function(value){return"&#"+(1024*(value.charCodeAt(0)-55296)+(value.charCodeAt(1)-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(value){return"&#"+value.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function stripCustomNsAttrs(node){if(node.nodeType===window.Node.ELEMENT_NODE)for(var attrs=node.attributes,i=0,l=attrs.length;i<l;i++){var attrNode=attrs[i],attrName=attrNode.name.toLowerCase();"xmlns:ns1"!==attrName&&0!==attrName.lastIndexOf("ns1:",0)||(node.removeAttributeNode(attrNode),i--,l--)}var nextNode=node.firstChild;nextNode&&stripCustomNsAttrs(nextNode),(nextNode=node.nextSibling)&&stripCustomNsAttrs(nextNode)}!function(window){var doc;if(!window.document||!window.document.implementation)throw $sanitizeMinErr("noinert","Can't create an inert html document");var bodyElements=((doc=window.document.implementation.createHTMLDocument("inert")).documentElement||doc.getDocumentElement()).getElementsByTagName("body");if(1===bodyElements.length)inertBodyElement=bodyElements[0];else{var html=doc.createElement("html");inertBodyElement=doc.createElement("body"),html.appendChild(inertBodyElement),doc.appendChild(html)}}(window)}),angular.module("ngSanitize").filter("linky",["$sanitize",function($sanitize){var LINKY_URL_REGEXP=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,MAILTO_REGEXP=/^mailto:/i,linkyMinErr=angular.$$minErr("linky"),isDefined=angular.isDefined,isFunction=angular.isFunction,isObject=angular.isObject,isString=angular.isString;return function(text,target,attributes){if(null==text||""===text)return text;if(!isString(text))throw linkyMinErr("notstring","Expected string but received: {0}",text);for(var match,url,i,attributesFn=isFunction(attributes)?attributes:isObject(attributes)?function(){return attributes}:function(){return{}},raw=text,html=[];match=raw.match(LINKY_URL_REGEXP);)url=match[0],match[2]||match[4]||(url=(match[3]?"http://":"mailto:")+url),i=match.index,addText(raw.substr(0,i)),addLink(url,match[0].replace(MAILTO_REGEXP,"")),raw=raw.substring(i+match[0].length);return addText(raw),$sanitize(html.join(""));function addText(text){var chars,buf;text&&html.push((chars=text,htmlSanitizeWriter(buf=[],noop).chars(chars),buf.join("")))}function addLink(url,text){var key,linkAttributes=attributesFn(url);for(key in html.push("<a "),linkAttributes)html.push(key+'="'+linkAttributes[key]+'" ');!isDefined(target)||"target"in linkAttributes||html.push('target="',target,'" '),html.push('href="',url.replace(/"/g,"&quot;"),'">'),addText(text),html.push("</a>")}}}])}(window,window.angular),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(window,angular,undefined){"use strict";var $$UMFP,isDefined=angular.isDefined,isFunction=angular.isFunction,isString=angular.isString,isObject=angular.isObject,isArray=angular.isArray,forEach=angular.forEach,extend=angular.extend,copy=angular.copy,toJson=angular.toJson;function inherit(parent,extra){return extend(new(extend(function(){},{prototype:parent})),extra)}function merge(dst){return forEach(arguments,function(obj){obj!==dst&&forEac
1h(obj,function(value,key){dst.hasOwnProperty(key)||(dst[key]=value)})}),dst}function objectKeys(object){if(Object.keys)return Object.keys(object);var result=[];return forEach(object,function(val,key){result.push(key)}),result}function indexOf(array,value){if(Array.prototype.indexOf)return array.indexOf(value,Number(arguments[2])||0);var len=array.length>>>0,from=Number(arguments[2])||0;for((from=from<0?Math.ceil(from):Math.floor(from))<0&&(from+=len);from<len;from++)if(from in array&&array[from]===value)return from;return-1}function inheritParams(currentParams,newParams,$current,$to){var parentParams,parents=function(first,second){var path=[];for(var n in first.path){if(first.path[n]!==second.path[n])break;path.push(first.path[n])}return path}($current,$to),inherited={},inheritList=[];for(var i in parents)if(parents[i]&&parents[i].params&&(parentParams=objectKeys(parents[i].params)).length)for(var j in parentParams)indexOf(inheritList,parentParams[j])>=0||(inheritList.push(parentParams[j]),inherited[parentParams[j]]=currentParams[parentParams[j]]);return extend({},inherited,newParams)}function equalForKeys(a,b,keys){if(!keys)for(var n in keys=[],a)keys.push(n);for(var i=0;i<keys.length;i++){var k=keys[i];if(a[k]!=b[k])return!1}return!0}function filterByKeys(keys,values){var filtered={};return forEach(keys,function(name){filtered[name]=values[name]}),filtered}function pick(obj){var copy={},keys=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return forEach(keys,function(key){key in obj&&(copy[key]=obj[key])}),copy}function omit(obj){var copy={},keys=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var key in obj)-1==indexOf(keys,key)&&(copy[key]=obj[key]);return copy}function filter(collection,callback){var array=isArray(collection),result=array?[]:{};return forEach(collection,function(val,i){callback(val,i)&&(result[array?result.length:i]=val)}),result}function map(collection,callback){var result=isArray(collection)?[]:{};return forEach(collection,function(val,i){result[i]=callback(val,i)}),result}function $Resolve($q,$injector){var VISIT_IN_PROGRESS=1,VISIT_DONE=2,NOTHING={},NO_DEPENDENCIES=[],NO_LOCALS=NOTHING,NO_PARENT=extend($q.when(NOTHING),{$$promises:NOTHING,$$values:NOTHING});this.study=function(invocables){if(!isObject(invocables))throw new Error("'invocables' must be an object");var invocableKeys=objectKeys(invocables||{}),plan=[],cycle=[],visited={};function isResolve(value){return isObject(value)&&value.then&&value.$$promises}return forEach(invocables,function visit(value,key){if(visited[key]!==VISIT_DONE){if(cycle.push(key),visited[key]===VISIT_IN_PROGRESS)throw cycle.splice(0,indexOf(cycle,key)),new Error("Cyclic dependency: "+cycle.join(" -> "));if(visited[key]=VISIT_IN_PROGRESS,isString(value))plan.push(key,[function(){return $injector.get(value)}],NO_DEPENDENCIES);else{var params=$injector.annotate(value);forEach(params,function(param){param!==key&&invocables.hasOwnProperty(param)&&visit(invocables[param],param)}),plan.push(key,value,params)}cycle.pop(),visited[key]=VISIT_DONE}}),invocables=cycle=visited=null,function(locals,parent,self){if(isResolve(locals)&&self===undefined&&(self=parent,parent=locals,locals=null),locals){if(!isObject(locals))throw new Error("'locals' must be an object")}else locals=NO_LOCALS;if(parent){if(!isResolve(parent))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else parent=NO_PARENT;var resolution=$q.defer(),result=resolution.promise,promises=result.$$promises={},values=extend({},locals),wait=1+plan.length/3,merged=!1;function done(){--wait||(merged||merge(values,parent.$$values),result.$$values=values,result.$$promises=result.$$promises||!0,delete result.$$inheritedValues,resolution.resolve(values))}function fail(reason){result.$$failure=reason,resolution.reject(reason)}if(isDefined(parent.$$failure))return fail(parent.$$failure),result;parent.$$inheritedValues&&merge(values,omit(parent.$$inheritedValues,invocableKeys)),extend(promises,parent.$$promises),parent.$$values?(merged=merge(values,omit(parent.$$values,invocableKeys)),result.$$inheritedValues=omit(parent.$$values,invocableKeys),done()):(parent.$$inheritedValues&&(result.$$inheritedValues=omit(parent.$$inheritedValues,invocableKeys)),parent.then(done,fail));for(var i=0,ii=plan.length;i<ii;i+=3)locals.hasOwnProperty(plan[i])?done():invoke(plan[i],plan[i+1],plan[i+2]);function invoke(key,invocable,params){var invocation=$q.defer(),waitParams=0;function onfailure(reason){invocation.reject(reason),fail(reason)}function proceed(){if(!isDefined(result.$$failure))try{invocation.resolve($injector.invoke(invocable,self,values)),invocation.promise.then(function(result){values[key]=result,done()},onfailure)}catch(e){onfailure(e)}}forEach(params,function(dep){promises.hasOwnProperty(dep)&&!locals.hasOwnProperty(dep)&&(waitParams++,promises[dep].then(function(result){values[dep]=result,--waitParams||proceed()},onfailure))}),waitParams||proceed(),promises[key]=invocation.promise}return result}},this.resolve=function(invocables,locals,parent,self){return this.study(invocables)(locals,parent,self)}}function $TemplateFactory($http,$templateCache,$injector){this.fromConfig=function(config,params,locals){return isDefined(config.template)?this.fromString(config.template,params):isDefined(config.templateUrl)?this.fromUrl(config.templateUrl,params):isDefined(config.templateProvider)?this.fromProvider(config.templateProvider,params,locals):null},this.fromString=function(template,params){return isFunction(template)?template(params):template},this.fromUrl=function(url,params){return isFunction(url)&&(url=url(params)),null==url?null:$http.get(url,{cache:$templateCache,headers:{Accept:"text/html"}}).then(function(response){return response.data})},this.fromProvider=function(provider,params,locals){return $injector.invoke(provider,null,locals||{params:params})}}function UrlMatcher(pattern,config,parentMatcher){config=extend({params:{}},isObject(config)?config:{});var m,p,param,segment,placeholder=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,searchPlaceholder=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}
1/g,compiled="^",last=0,segments=this.segments=[],parentParams=parentMatcher?parentMatcher.params:{},params=this.params=parentMatcher?parentMatcher.params.$$new():new $$UMFP.ParamSet,paramNames=[];function addParameter(id,type,config,location){if(paramNames.push(id),parentParams[id])return parentParams[id];if(!/^\w+([-.]+\w+)*(?:\[\])?$/.test(id))throw new Error("Invalid parameter name '"+id+"' in pattern '"+pattern+"'");if(params[id])throw new Error("Duplicate parameter name '"+id+"' in pattern '"+pattern+"'");return params[id]=new $$UMFP.Param(id,type,config,location),params[id]}function quoteRegExp(string,pattern,squash,optional){var surroundPattern=["",""],result=string.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!pattern)return result;switch(squash){case!1:surroundPattern=["(",")"+(optional?"?":"")];break;case!0:result=result.replace(/\/$/,""),surroundPattern=["(?:/(",")|/)?"];break;default:surroundPattern=["("+squash+"|",")?"]}return result+surroundPattern[0]+pattern+surroundPattern[1]}function matchDetails(m,isSearch){var id,regexp,segment,type,cfg;return id=m[2]||m[3],cfg=config.params[id],segment=pattern.substring(last,m.index),(regexp=isSearch?m[4]:m[4]||("*"==m[1]?".*":null))&&(type=$$UMFP.type(regexp)||inherit($$UMFP.type("string"),{pattern:new RegExp(regexp,config.caseInsensitive?"i":undefined)})),{id:id,regexp:regexp,segment:segment,type:type,cfg:cfg}}for(this.source=pattern;(m=placeholder.exec(pattern))&&!((p=matchDetails(m,!1)).segment.indexOf("?")>=0);)param=addParameter(p.id,p.type,p.cfg,"path"),compiled+=quoteRegExp(p.segment,param.type.pattern.source,param.squash,param.isOptional),segments.push(p.segment),last=placeholder.lastIndex;var i=(segment=pattern.substring(last)).indexOf("?");if(i>=0){var search=this.sourceSearch=segment.substring(i);if(segment=segment.substring(0,i),this.sourcePath=pattern.substring(0,last+i),search.length>0)for(last=0;m=searchPlaceholder.exec(search);)param=addParameter((p=matchDetails(m,!0)).id,p.type,p.cfg,"search"),last=placeholder.lastIndex}else this.sourcePath=pattern,this.sourceSearch="";compiled+=quoteRegExp(segment)+(!1===config.strict?"/?":"")+"$",segments.push(segment),this.regexp=new RegExp(compiled,config.caseInsensitive?"i":undefined),this.prefix=segments[0],this.$$paramNames=paramNames}function Type(config){extend(this,config)}function $UrlRouterProvider($locationProvider,$urlMatcherFactory){var listener,rules=[],otherwise=null,interceptDeferred=!1;function handleIfMatch($injector,handler,match){if(!match)return!1;var result=$injector.invoke(handler,handler,{$match:match});return!isDefined(result)||result}function $get($location,$rootScope,$injector,$browser,$sniffer){var lastPushedUrl,baseHref=$browser.baseHref(),location=$location.url();function update(evt){if(!evt||!evt.defaultPrevented){lastPushedUrl&&$location.url();lastPushedUrl=undefined;var i,n=rules.length;for(i=0;i<n;i++)if(check(rules[i]))return;otherwise&&check(otherwise)}function check(rule){var handled=rule($injector,$location);return!!handled&&(isString(handled)&&$location.replace().url(handled),!0)}}function listen(){return listener=listener||$rootScope.$on("$locationChangeSuccess",update)}return interceptDeferred||listen(),{sync:function(){update()},listen:function(){return listen()},update:function(read){read?location=$location.url():$location.url()!==location&&($location.url(location),$location.replace())},push:function(urlMatcher,params,options){var url=urlMatcher.format(params||{});null!==url&&params&&params["#"]&&(url+="#"+params["#"]),$location.url(url),lastPushedUrl=options&&options.$$avoidResync?$location.url():undefined,options&&options.replace&&$location.replace()},href:function(urlMatcher,params,options){if(!urlMatcher.validates(params))return null;var isHtml5=$locationProvider.html5Mode();angular.isObject(isHtml5)&&(isHtml5=isHtml5.enabled),isHtml5=isHtml5&&$sniffer.history;var url=urlMatcher.format(params);if(options=options||{},isHtml5||null===url||(url="#"+$locationProvider.hashPrefix()+url),null!==url&&params&&params["#"]&&(url+="#"+params["#"]),url=function(url,isHtml5,absolute){return"/"===baseHref?url:isHtml5?baseHref.slice(0,-1)+url:absolute?baseHref.slice(1)+url:url}(url,isHtml5,options.absolute),!options.absolute||!url)return url;var slash=!isHtml5&&url?"/":"",port=$location.port();return port=80===port||443===port?"":":"+port,[$location.protocol(),"://",$location.host(),port,slash,url].join("")}}}this.rule=function(rule){if(!isFunction(rule))throw new Error("'rule' must be a function");return rules.push(rule),this},this.otherwise=function(rule){if(isString(rule)){var redirect=rule;rule=function(){return redirect}}else if(!isFunction(rule))throw new Error("'rule' must be a function");return otherwise=rule,this},this.when=function(what,handler){var redirect,handlerIsString=isString(handler);
1if(isString(what)&&(what=$urlMatcherFactory.compile(what)),!handlerIsString&&!isFunction(handler)&&!isArray(handler))throw new Error("invalid 'handler' in when()");var strategies={matcher:function(what,handler){return handlerIsString&&(redirect=$urlMatcherFactory.compile(handler),handler=["$match",function($match){return redirect.format($match)}]),extend(function($injector,$location){return handleIfMatch($injector,handler,what.exec($location.path(),$location.search()))},{prefix:isString(what.prefix)?what.prefix:""})},regex:function(what,handler){if(what.global||what.sticky)throw new Error("when() RegExp must not be global or sticky");return handlerIsString&&(redirect=handler,handler=["$match",function($match){return match=$match,redirect.replace(/\$(\$|\d{1,2})/,function(m,what){return match["$"===what?0:Number(what)]});var match}]),extend(function($injector,$location){return handleIfMatch($injector,handler,what.exec($location.path()))},{prefix:(re=what,prefix=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(re.source),null!=prefix?prefix[1].replace(/\\(.)/g,"$1"):"")});var re,prefix}},check={matcher:$urlMatcherFactory.isMatcher(what),regex:what instanceof RegExp};for(var n in check)if(check[n])return this.rule(strategies[n](what,handler));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(defer){defer===undefined&&(defer=!0),interceptDeferred=defer},this.$get=$get,$get.$inject=["$location","$rootScope","$injector","$browser","$sniffer"]}function $StateProvider($urlRouterProvider,$urlMatcherFactory){var root,$state,states={},queue={},abstractKey="abstract",stateBuilder={parent:function(state){if(isDefined(state.parent)&&state.parent)return findState(state.parent);var compositeName=/^(.+)\.[^.]+$/.exec(state.name);return compositeName?findState(compositeName[1]):root},data:function(state){return state.parent&&state.parent.data&&(state.data=state.self.data=inherit(state.parent.data,state.data)),state.data},url:function(state){var url=state.url,config={params:state.params||{}};if(isString(url))return"^"==url.charAt(0)?$urlMatcherFactory.compile(url.substring(1),config):(state.parent.navigable||root).url.concat(url,config);if(!url||$urlMatcherFactory.isMatcher(url))return url;throw new Error("Invalid url '"+url+"' in state '"+state+"'")},navigable:function(state){return state.url?state:state.parent?state.parent.navigable:null},ownParams:function(state){var params=state.url&&state.url.params||new $$UMFP.ParamSet;return forEach(state.params||{},function(config,id){params[id]||(params[id]=new $$UMFP.Param(id,null,config,"config"))}),params},params:function(state){var ownParams=pick(state.ownParams,state.ownParams.$$keys());return state.parent&&state.parent.params?extend(state.parent.params.$$new(),ownParams):new $$UMFP.ParamSet},views:function(state){var views={};return forEach(isDefined(state.views)?state.views:{"":state},function(view,name){name.indexOf("@")<0&&(name+="@"+state.parent.name),views[name]=view}),views},path:function(state){return state.parent?state.parent.path.concat(state):[]},includes:function(state){var includes=state.parent?extend({},state.parent.includes):{};return includes[state.name]=!0,includes},$delegates:{}};function findState(stateOrName,base){if(!stateOrName)return undefined;var stateName,isStr=isString(stateOrName),name=isStr?stateOrName:stateOrName.name;if(0===(stateName=name).indexOf(".")||0===stateName.indexOf("^")){if(!base)throw new Error("No reference point given for path '"+name+"'");base=findState(base);for(var rel=name.split("."),i=0,pathLength=rel.length,current=base;i<pathLength;i++)if(""!==rel[i]||0!==i){if("^"!==rel[i])break;if(!current.parent)throw new Error("Path '"+name+"' not valid for state '"+base.name+"'");current=current.parent}else current=base;rel=rel.slice(i).join("."),name=current.name+(current.name&&rel?".":"")+rel}var state=states[name];return!state||!isStr&&(isStr||state!==stateOrName&&state.self!==stateOrName)?undefined:state}function registerState(state){var name=(state=inherit(state,{self:state,resolve:state.resolve||{},toString:function(){return this.name}})).name;if(!isString(name)||name.indexOf("@")>=0)throw new Error("State must have a valid name");if(states.hasOwnProperty(name))throw new Error("State '"+name+"' is already defined");var parentName=-1!==name.indexOf(".")?name.substring(0,name.lastIndexOf(".")):isString(state.parent)?state.parent:isObject(state.parent)&&isString(state.parent.name)?state.parent.name:"";if(parentName&&!states[parentName])return function(parentName,state){queue[parentName]||(queue[parentName]=[]),queue[parentName].push(state)}(parentName,state.self);for(var key in stateBuilder)isFunction(stateBuilder[key])&&(state[key]=stateBuilder[key](state,stateBuilder.$delegates[key]));return states[name]=state,!state[abstractKey]&&state.url&&$urlRouterProvider.when(state.url,["$match","$stateParams",function($match,$stateParams){$state.$current.navigable==state&&equalForKeys($match,$stateParams)||$state.transitionTo(state,$match,{inherit:!0,location:!1})}]),function(parentName){for(var queued=queue[parentName]||[];queued.length;)registerState(queued.shift())}(name),state}function $get($rootScope,$q,$view,$injector,$resolve,$stateParams,$urlRouter,$location,$urlMatcherFactory){var TransitionSuperseded=$q.reject(new Error("transition superseded")),TransitionPrevented=$q.reject(new Error("transition prevented")),TransitionAborted=$q.reject(new Error("transition aborted")),TransitionFailed=$q.reject(new Error("transition failed"));function resolveState(state,params,paramsAreFiltered,inherited,dst,options){var $stateParams=paramsAreFiltered?params:filterByKeys(state.params.$$keys(),params),locals={$stateParams:$stateParams};dst.resolve=$resolve.resolve(state.resolve,locals,dst.resolve,state);var promises=[dst.resolve.then(function(globals){dst.globals=globals})];return inherited&&promises.push(inherited),$q.all(promises).then(function(){var viewsPromises=[];return forEach(state.views,function(view,name){var injectables=view.resolve&&view.resolve!==state.resolve?view.resolve:{};injectables.$template=[function(){return $view.load(name,{view:view,locals:dst.globals,params:$stateParams,notify:options.notify})||""}],viewsPromises.push($resolve.resolve(injectables,dst.globals,dst.resolve,state).then(function(result){if(isFunction(view.controllerProvider)||isArray(view.controllerProvider)){var injectLocals=angular.extend({},injectables,dst.globals);result.$$controller=$injector.invoke(view.controllerProvider,null,injectLocals)}else result.$$controller=view.controller;result.$$state=state,result.$$controllerAs=view.controllerAs,dst[name]=result}))}),$q.all(viewsPromises).then(function(){return dst.globals})}).then(function(values){return dst})}return root.locals={resolve:null,globals:{$stateParams:{}}},($state={params:{},current:root.self,$current:root,transition:null}).reload=function(state){return $state.transitionTo($state.current,$stateParams,{reload:state||!0,inherit:!1,notify:!0})},$state.go=function(to,params,options){return $state.transitionTo(to,params,extend({inherit:!0,relative:$state.$current},options))},$state.transitionTo=function(to,toParams,options){toParams=toParams||{},options=extend({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},options||{});var from=$state.$current,fromParams=$state.params,fromPath=from.path,toState=findState(to,options.relative),hash=toParams["#"];if(!isDefined(toState)){var redirect={to:to,toParams:toParams,options:options},redirectResult=function(redirect,state,params,options){var evt=$rootScope.$broadcast("$stateNotFound",redirect,state,params);
1if(evt.defaultPrevented)return $urlRouter.update(),TransitionAborted;if(!evt.retry)return null;if(options.$retry)return $urlRouter.update(),TransitionFailed;var retryTransition=$state.transition=$q.when(evt.retry);return retryTransition.then(function(){return retryTransition!==$state.transition?TransitionSuperseded:(redirect.options.$retry=!0,$state.transitionTo(redirect.to,redirect.toParams,redirect.options))},function(){return TransitionAborted}),$urlRouter.update(),retryTransition}(redirect,from.self,fromParams,options);if(redirectResult)return redirectResult;if(toParams=redirect.toParams,toState=findState(to=redirect.to,(options=redirect.options).relative),!isDefined(toState)){if(!options.relative)throw new Error("No such state '"+to+"'");throw new Error("Could not resolve '"+to+"' from state '"+options.relative+"'")}}if(toState[abstractKey])throw new Error("Cannot transition to abstract state '"+to+"'");if(options.inherit&&(toParams=inheritParams($stateParams,toParams||{},$state.$current,toState)),!toState.params.$$validates(toParams))return TransitionFailed;toParams=toState.params.$$values(toParams);var toPath=(to=toState).path,keep=0,state=toPath[keep],locals=root.locals,toLocals=[];if(options.reload){if(isString(options.reload)||isObject(options.reload)){if(isObject(options.reload)&&!options.reload.name)throw new Error("Invalid reload state object");var reloadState=!0===options.reload?fromPath[0]:findState(options.reload);if(options.reload&&!reloadState)throw new Error("No such reload state '"+(isString(options.reload)?options.reload:options.reload.name)+"'");for(;state&&state===fromPath[keep]&&state!==reloadState;)locals=toLocals[keep]=state.locals,state=toPath[++keep]}}else for(;state&&state===fromPath[keep]&&state.ownParams.$$equals(toParams,fromParams);)locals=toLocals[keep]=state.locals,state=toPath[++keep];if(function(to,toParams,from,fromParams,locals,options){if(!options.reload&&to===from&&(locals===from.locals||!1===to.self.reloadOnSearch&&function(fromAndToState,fromParams,toParams){var nonQueryParamKeys=fromAndToState.params.$$keys().filter(function(key){return"search"!=fromAndToState.params[key].location}),nonQueryParams=pick.apply({},[fromAndToState.params].concat(nonQueryParamKeys));return new $$UMFP.ParamSet(nonQueryParams).$$equals(fromParams,toParams)}(from,fromParams,toParams)))return!0}(to,toParams,from,fromParams,locals,options))return hash&&(toParams["#"]=hash),$state.params=toParams,copy($state.params,$stateParams),copy(filterByKeys(to.params.$$keys(),$stateParams),to.locals.globals.$stateParams),options.location&&to.navigable&&to.navigable.url&&($urlRouter.push(to.navigable.url,toParams,{$$avoidResync:!0,replace:"replace"===options.location}),$urlRouter.update(!0)),$state.transition=null,$q.when($state.current);if(toParams=filterByKeys(to.params.$$keys(),toParams||{}),hash&&(toParams["#"]=hash),options.notify&&$rootScope.$broadcast("$stateChangeStart",to.self,toParams,from.self,fromParams,options).defaultPrevented)return $rootScope.$broadcast("$stateChangeCancel",to.self,toParams,from.self,fromParams),null==$state.transition&&$urlRouter.update(),TransitionPrevented;for(var resolved=$q.when(locals),l=keep;l<toPath.length;state=toPath[++l])locals=toLocals[l]=inherit(locals),resolved=resolveState(state,toParams,state===to,resolved,locals,options);var transition=$state.transition=resolved.then(function(){var l,entering,exiting;if($state.transition!==transition)return TransitionSuperseded;for(l=fromPath.length-1;l>=keep;l--)(exiting=fromPath[l]).self.onExit&&$injector.invoke(exiting.self.onExit,exiting.self,exiting.locals.globals),exiting.locals=null;for(l=keep;l<toPath.length;l++)(entering=toPath[l]).locals=toLocals[l],entering.self.onEnter&&$injector.invoke(entering.self.onEnter,entering.self,entering.locals.globals);return $state.transition!==transition?TransitionSuperseded:($state.$current=to,$state.current=to.self,$state.params=toParams,copy($state.params,$stateParams),$state.transition=null,options.location&&to.navigable&&$urlRouter.push(to.navigable.url,to.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===options.location}),options.notify&&$rootScope.$broadcast("$stateChangeSuccess",to.self,toParams,from.self,fromParams),$urlRouter.update(!0),$state.current)},function(error){return $state.transition!==transition?TransitionSuperseded:($state.transition=null,$rootScope.$broadcast("$stateChangeError",to.self,toParams,from.self,fromParams,error).defaultPrevented||$urlRouter.update(
1),$q.reject(error))});return transition},$state.is=function(stateOrName,params,options){var state=findState(stateOrName,(options=extend({relative:$state.$current},options||{})).relative);return isDefined(state)?$state.$current===state&&(!params||equalForKeys(state.params.$$values(params),$stateParams)):undefined},$state.includes=function(stateOrName,params,options){if(options=extend({relative:$state.$current},options||{}),isString(stateOrName)&&stateOrName.indexOf("*")>-1){if(!function(glob){for(var globSegments=glob.split("."),segments=$state.$current.name.split("."),i=0,l=globSegments.length;i<l;i++)"*"===globSegments[i]&&(segments[i]="*");return"**"===globSegments[0]&&(segments=segments.slice(indexOf(segments,globSegments[1]))).unshift("**"),"**"===globSegments[globSegments.length-1]&&(segments.splice(indexOf(segments,globSegments[globSegments.length-2])+1,Number.MAX_VALUE),segments.push("**")),globSegments.length==segments.length&&segments.join("")===globSegments.join("")}(stateOrName))return!1;stateOrName=$state.$current.name}var state=findState(stateOrName,options.relative);return isDefined(state)?!!isDefined($state.$current.includes[state.name])&&(!params||equalForKeys(state.params.$$values(params),$stateParams,objectKeys(params))):undefined},$state.href=function(stateOrName,params,options){var state=findState(stateOrName,(options=extend({lossy:!0,inherit:!0,absolute:!1,relative:$state.$current},options||{})).relative);if(!isDefined(state))return null;options.inherit&&(params=inheritParams($stateParams,params||{},$state.$current,state));var nav=state&&options.lossy?state.navigable:state;return nav&&nav.url!==undefined&&null!==nav.url?$urlRouter.href(nav.url,filterByKeys(state.params.$$keys().concat("#"),params||{}),{absolute:options.absolute}):null},$state.get=function(stateOrName,context){if(0===arguments.length)return map(objectKeys(states),function(name){return states[name].self});var state=findState(stateOrName,context||$state.$current);return state&&state.self?state.self:null},$state}(root=registerState({name:"",url:"^",views:null,abstract:!0})).navigable=null,this.decorator=function(name,func){if(isString(name)&&!isDefined(func))return stateBuilder[name];if(!isFunction(func)||!isString(name))return this;stateBuilder[name]&&!stateBuilder.$delegates[name]&&(stateBuilder.$delegates[name]=stateBuilder[name]);return stateBuilder[name]=func,this},this.state=function(name,definition){isObject(name)?definition=name:definition.name=name;return registerState(definition),this},this.$get=$get,$get.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function $ViewProvider(){function $get($rootScope,$templateFactory){return{load:function(name,options){var result;return(options=extend({template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}},options)).view&&(result=$templateFactory.fromConfig(options.view,options.params,options.locals)),result}}}this.$get=$get,$get.$inject=["$rootScope","$templateFactory"]}angular.module("ui.router.util",["ng"]),angular.module("ui.router.router",["ui.router.util"]),angular.module("ui.router.state",["ui.router.router","ui.router.util"]),angular.module("ui.router",["ui.router.state"]),angular.module("ui.router.compat",["ui.router"]),$Resolve.$inject=["$q","$injector"],angular.module("ui.router.util").service("$resolve",$Resolve),$TemplateFactory.$inject=["$http","$templateCache","$injector"],angular.module("ui.router.util").service("$templateFactory",$TemplateFactory),UrlMatcher.prototype.concat=function(pattern,config){var defaultConfig={caseInsensitive:$$UMFP.caseInsensitive(),strict:$$UMFP.strictMode(),squash:$$UMFP.defaultSquashPolicy()};return new UrlMatcher(this.sourcePath+pattern+this.sourceSearch,extend(defaultConfig,config),this)},UrlMatcher.prototype.toString=function(){return this.source},UrlMatcher.prototype.exec=function(path,searchParams){var m=this.regexp.exec(path);if(!m)return null;searchParams=searchParams||{};var i,j,paramName,param,paramVal,paramNames=this.parameters(),nTotal=paramNames.length,nPath=this.segments.length-1,values={};if(nPath!==m.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");function decodePathArray(string){function reverseString(str){return str.split("").reverse().join("")}return map(map(reverseString(string).split(/-(?!\\)/),reverseString),function(str){return str.replace(/\\-/g,"-")}).reverse()}for(i=0;i<nPath;i++){for(paramName=paramNames[i],param=this.params[paramName],paramVal=m[i+1],j=0;j<param.replace.length;j++)param.replace[j].from===paramVal&&(paramVal=param.replace[j].to);paramVal&&!0===param.array&&(paramVal=decodePathArray(paramVal)),isDefined(paramVal)&&(paramVal=param.type.decode(paramVal)),values[paramName]=param.value(paramVal)}for(;i<nTotal;i++){for(values[paramName=paramNames[i]]=this.params[paramName].value(searchParams[paramName]),param=this.params[paramName],paramVal=searchParams[paramName],j=0;j<param.replace.length;j++)param.replace[j].from===paramVal&&(paramVal=param.replace[j].to);isDefined(paramVal)&&(paramVal=param.type.decode(paramVal)),values[paramName]=param.value(paramVal)}return values},UrlMatcher.prototype.parameters=function(param){return isDefined(param)?this.params[param]||null:this.$$paramNames},UrlMatcher.prototype.validates=function(params){return this.params.$$validates(params)},UrlMatcher.prototype.format=function(values){values=values||{};var segments=this.segments,params=this.parameters(),paramset=this.params;if(!this.validates(values))return null;var i,search=!1,nPath=segments.length-1,nTotal=params.length,result=segments[0];function encodeDashes(str){return encodeURIComponent(str).replace(/-/g,function(c){return"%5C%"+c.charCodeAt(0).toString(16).toUpperCase()})}for(i=0;i<nTotal;i++){var isPathParam=i<nPath,name=params[i],param=paramset[name],value=param.value(values[name]),isDefaultValue=param.isOptional&&param.type.equals(param.value(),value),squash=!!isDefaultValue&&param.squash,encoded=param.type.encode(value);if(isPathParam){var nextSegment=segments[i+1],isFinalPathParam=i+1===nPath;if(!1===squash)null!=encoded&&(isArray(encoded)?result+=map(encoded,encodeDashes
1).join("-"):result+=encodeURIComponent(encoded)),result+=nextSegment;else if(!0===squash){var capture=result.match(/\/$/)?/\/?(.*)/:/(.*)/;result+=nextSegment.match(capture)[1]}else isString(squash)&&(result+=squash+nextSegment);isFinalPathParam&&!0===param.squash&&"/"===result.slice(-1)&&(result=result.slice(0,-1))}else{if(null==encoded||isDefaultValue&&!1!==squash)continue;if(isArray(encoded)||(encoded=[encoded]),0===encoded.length)continue;encoded=map(encoded,encodeURIComponent).join("&"+name+"="),result+=(search?"&":"?")+name+"="+encoded,search=!0}}return result},Type.prototype.is=function(val,key){return!0},Type.prototype.encode=function(val,key){return val},Type.prototype.decode=function(val,key){return val},Type.prototype.equals=function(a,b){return a==b},Type.prototype.$subPattern=function(){var sub=this.pattern.toString();return sub.substr(1,sub.length-2)},Type.prototype.pattern=/.*/,Type.prototype.toString=function(){return"{Type:"+this.name+"}"},Type.prototype.$normalize=function(val){return this.is(val)?val:this.decode(val)},Type.prototype.$asArray=function(mode,isSearch){if(!mode)return this;if("auto"===mode&&!isSearch)throw new Error("'auto' array mode is for query parameters only");return new function(type,mode){function bindTo(type,callbackName){return function(){return type[callbackName].apply(type,arguments)}}function arrayWrap(val){return isArray(val)?val:isDefined(val)?[val]:[]}function falsey(val){return!val}function arrayHandler(callback,allTruthyMode){return function(val){if(isArray(val)&&0===val.length)return val;var result=map(val=arrayWrap(val),callback);return!0===allTruthyMode?0===filter(result,falsey).length:function(val){switch(val.length){case 0:return undefined;case 1:return"auto"===mode?val[0]:val;default:return val}}(result)}}var callback;this.encode=arrayHandler(bindTo(type,"encode")),this.decode=arrayHandler(bindTo(type,"decode")),this.is=arrayHandler(bindTo(type,"is"),!0),this.equals=(callback=bindTo(type,"equals"),function(val1,val2){var left=arrayWrap(val1),right=arrayWrap(val2);if(left.length!==right.length)return!1;for(var i=0;i<left.length;i++)if(!callback(left[i],right[i]))return!1;return!0}),this.pattern=type.pattern,this.$normalize=arrayHandler(bindTo(type,"$normalize")),this.name=type.name,this.$arrayMode=mode}(this,mode)},angular.module("ui.router.util").provider("$urlMatcherFactory",function $UrlMatcherFactory(){$$UMFP=this;var isCaseInsensitive=!1,isStrictMode=!0,defaultSquashPolicy=!1;function valToString(val){return null!=val?val.toString().replace(/~/g,"~~").replace(/\//g,"~2F"):val}var injector,$types={},enqueue=!0,typeQueue=[],defaultTypes={string:{encode:valToString,decode:function(val){return null!=val?val.toString().replace(/~2F/g,"/").replace(/~~/g,"~"):val},is:function(val){return null==val||!isDefined(val)||"string"==typeof val},pattern:/[^/]*/},int:{encode:valToString,decode:function(val){return parseInt(val,10)},is:function(val){return isDefined(val)&&this.decode(val.toString())===val},pattern:/\d+/},bool:{encode:function(val){return val?1:0},decode:function(val){return 0!==parseInt(val,10)},is:function(val){return!0===val||!1===val},pattern:/0|1/},date:{encode:function(val){return this.is(val)?[val.getFullYear(),("0"+(val.getMonth()+1)).slice(-2),("0"+val.getDate()).slice(-2)].join("-"):undefined},decode:function(val){if(this.is(val))return val;var match=this.capture.exec(val);return match?new Date(match[1],match[2]-1,match[3]):undefined},is:function(val){return val instanceof Date&&!isNaN(val.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:angular.toJson,decode:angular.fromJson,is:angular.isObject,equals:angular.equals,pattern:/[^/]*/},any:{encode:angular.identity,decode:angular.identity,equals:angular.equals,pattern:/.*/}};function isInjectable(value){return isFunction(value)||isArray(value)&&isFunction(value[value.length-1])}function flushTypeQueue(){for(;typeQueue.length;){var type=typeQueue.shift();if(type.pattern)throw new Error("You cannot override a type's .pattern at runtime.");angular.extend($types[type.name],injector.invoke(type.def))}}function ParamSet(params){extend(this,params||{})}$UrlMatcherFactory.$$getDefaultValue=function(config){if(!isInjectable(config.value))return config.value;if(!injector)throw new Error("Injectable functions cannot be called at configuration time");return injector.invoke(config.value)},this.caseInsensitive=function(value){return isDefined(value)&&(isCaseInsensitive=value),isCaseInsensitive},this.strictMode=function(value){return isDefined(value)&&(isStrictMode=value),isStrictMode},this.defaultSquashPolicy=function(value){if(!isDefined(value))return defaultSquashPolicy;if(!0!==value&&!1!==value&&!isString(value))throw new Error("Invalid squash policy: "+value+". Valid policies: false, true, arbitrary-string");return defaultSquashPolicy=value,value},this.compile=function(pattern,config){return new UrlMatcher(pattern,extend({strict:isStrictMode,caseInsensitive:isCaseInsensitive},config))}
1,this.isMatcher=function(o){if(!isObject(o))return!1;var result=!0;return forEach(UrlMatcher.prototype,function(val,name){isFunction(val)&&(result=result&&isDefined(o[name])&&isFunction(o[name]))}),result},this.type=function(name,definition,definitionFn){if(!isDefined(definition))return $types[name];if($types.hasOwnProperty(name))throw new Error("A type named '"+name+"' has already been defined.");return $types[name]=new Type(extend({name:name},definition)),definitionFn&&(typeQueue.push({name:name,def:definitionFn}),enqueue||flushTypeQueue()),this},forEach(defaultTypes,function(type,name){$types[name]=new Type(extend({name:name},type))}),$types=inherit($types,{}),this.$get=["$injector",function($injector){return injector=$injector,enqueue=!1,flushTypeQueue(),forEach(defaultTypes,function(type,name){$types[name]||($types[name]=new Type(type))}),this}],this.Param=function(id,type,config,location){var self=this;config=function(config){var keys=isObject(config)?objectKeys(config):[];return-1===indexOf(keys,"value")&&-1===indexOf(keys,"type")&&-1===indexOf(keys,"squash")&&-1===indexOf(keys,"array")&&(config={value:config}),config.$$fn=isInjectable(config.value)?config.value:function(){return config.value},config}(config),type=function(config,urlType,location){if(config.type&&urlType)throw new Error("Param '"+id+"' has two type configurations.");return urlType||(config.type?angular.isString(config.type)?$types[config.type]:config.type instanceof Type?config.type:new Type(config.type):"config"===location?$types.any:$types.string)}(config,type,location);var arrayDefaults,arrayParamNomenclature,arrayMode=(arrayDefaults={array:"search"===location&&"auto"},arrayParamNomenclature=id.match(/\[\]$/)?{array:!0}:{},extend(arrayDefaults,arrayParamNomenclature,config).array);"string"!==(type=arrayMode?type.$asArray(arrayMode,"search"===location):type).name||arrayMode||"path"!==location||config.value!==undefined||(config.value="");var isOptional=config.value!==undefined,squash=function(config,isOptional){var squash=config.squash;if(!isOptional||!1===squash)return!1;if(!isDefined(squash)||null==squash)return defaultSquashPolicy;if(!0===squash||isString(squash))return squash;throw new Error("Invalid squash policy: '"+squash+"'. Valid policies: false, true, or arbitrary string")}(config,isOptional),replace=function(config,arrayMode,isOptional,squash){var replace,configuredKeys,defaultPolicy=[{from:"",to:isOptional||arrayMode?undefined:""},{from:null,to:isOptional||arrayMode?undefined:""}];return replace=isArray(config.replace)?config.replace:[],isString(squash)&&replace.push({from:squash,to:undefined}),configuredKeys=map(replace,function(item){return item.from}),filter(defaultPolicy,function(item){return-1===indexOf(configuredKeys,item.from)}).concat(replace)}(config,arrayMode,isOptional,squash);extend(this,{id:id,type:type,location:location,array:arrayMode,squash:squash,replace:replace,isOptional:isOptional,value:function(value){return value=function(value){var val,replacement=map(filter(self.replace,(val=value,function(obj){return obj.from===val})),function(obj){return obj.to});return replacement.length?replacement[0]:value}(value),isDefined(value)?self.type.$normalize(value):function(){if(!injector)throw new Error("Injectable functions cannot be called at configuration time");var defaultValue=injector.invoke(config.$$fn);if(null!==defaultValue&&defaultValue!==undefined&&!self.type.is(defaultValue))throw new Error("Default value ("+defaultValue+") for parameter '"+self.id+"' is not an instance of Type ("+self.type.name+")");return defaultValue}()},dynamic:undefined,config:config,toString:function(){return"{Param:"+id+" "+type+" squash: '"+squash+"' optional: "+isOptional+"}"}})},ParamSet.prototype={$$new:function(){return inherit(this,extend(new ParamSet,{$$parent:this}))},$$keys:function(){for(var keys=[],chain=[],parent=this,ignore=objectKeys(ParamSet.prototype);parent;)chain.push(parent),parent=parent.$$parent;return chain.reverse(),forEach(chain,function(paramset){forEach(objectKeys(paramset),function(key){-1===indexOf(keys,key)&&-1===indexOf(ignore,key)&&keys.push(key)})}),keys}
1,$$values:function(paramValues){var values={},self=this;return forEach(self.$$keys(),function(key){values[key]=self[key].value(paramValues&&paramValues[key])}),values},$$equals:function(paramValues1,paramValues2){var equal=!0,self=this;return forEach(self.$$keys(),function(key){var left=paramValues1&&paramValues1[key],right=paramValues2&&paramValues2[key];self[key].type.equals(left,right)||(equal=!1)}),equal},$$validates:function(paramValues){var i,param,rawVal,normalized,encoded,keys=this.$$keys();for(i=0;i<keys.length&&(param=this[keys[i]],(rawVal=paramValues[keys[i]])!==undefined&&null!==rawVal||!param.isOptional);i++){if(normalized=param.type.$normalize(rawVal),!param.type.is(normalized))return!1;if(encoded=param.type.encode(normalized),angular.isString(encoded)&&!param.type.pattern.exec(encoded))return!1}return!0},$$parent:undefined},this.ParamSet=ParamSet}),angular.module("ui.router.util").run(["$urlMatcherFactory",function($urlMatcherFactory){}]),$UrlRouterProvider.$inject=["$locationProvider","$urlMatcherFactoryProvider"],angular.module("ui.router.router").provider("$urlRouter",$UrlRouterProvider),$StateProvider.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],angular.module("ui.router.state").factory("$stateParams",function(){return{}}).provider("$state",$StateProvider),$ViewProvider.$inject=[],angular.module("ui.router.state").provider("$view",$ViewProvider),angular.module("ui.router.state").provider("$uiViewScroll",function(){var useAnchorScroll=!1;this.useAnchorScroll=function(){useAnchorScroll=!0},this.$get=["$anchorScroll","$timeout",function($anchorScroll,$timeout){return useAnchorScroll?$anchorScroll:function($element){return $timeout(function(){$element[0].scrollIntoView()},0,!1)}}]});var ngMajorVer=angular.version.major,ngMinorVer=angular.version.minor;function $ViewDirective($state,$injector,$uiViewScroll,$interpolate){var service=$injector.has?function(service){return $injector.has(service)?$injector.get(service):null}:function(service){try{return $injector.get(service)}catch(e){return null}},$animator=service("$animator"),$animate=service("$animate");return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(tElement,tAttrs,$transclude){return function(scope,$element,attrs){var previousEl,currentEl,currentScope,latestLocals,onloadExp=attrs.onload||"",autoScrollExp=attrs.autoscroll,renderer=function(attrs,scope){var statics={enter:function(element,target,cb){target.after(element),cb()},leave:function(element,cb){element.remove(),cb()}};if(attrs.noanimation)return statics;function animEnabled(element){return 1===ngMajorVer&&ngMinorVer>=4?!!$animate.enabled(element):1===ngMajorVer&&ngMinorVer>=2?!!$animate.enabled():!!$animator}if($animate)return{enter:function(element,target,cb){animEnabled(element)?angular.version.minor>2?$animate.enter(element,null,target).then(cb):$animate.enter(element,null,target,cb):statics.enter(element,target,cb)},leave:function(element,cb){animEnabled(element)?angular.version.minor>2?$animate.leave(element).then(cb):$animate.leave(element,cb):statics.leave(element,cb)}};if($animator){var animate=$animator&&$animator(scope,attrs);return{enter:function(element,target,cb){animate.enter(element,null,target),cb()},leave:function(element,cb){animate.leave(element),cb()}}}return statics}(attrs,scope);function updateView(firstTime){var newScope,name=getUiViewName(scope,attrs,$element,$interpolate),previousLocals=name&&$state.$current&&$state.$current.locals[name];if((firstTime||previousLocals!==latestLocals)&&!scope._willBeDestroyed){newScope=scope.$new(),latestLocals=$state.$current.locals[name],newScope.$emit("$viewContentLoading",name);var clone=$transclude(newScope,function(clone){renderer.enter(clone,$element,function(){currentScope&&currentScope.$emit("$viewContentAnimationEnded"),(angular.isDefined(autoScrollExp)&&!autoScrollExp||scope.$eval(autoScrollExp))&&$uiViewScroll(clone)}),function(){var _previousEl=previousEl,_currentScope=currentScope;function cleanOld(){_previousEl&&_previousEl.remove(),_currentScope&&_currentScope.$destroy()}_currentScope&&(_currentScope._willBeDestroyed=!0),currentEl?(renderer.leave(currentEl,function(){cleanOld(),previousEl=null}),previousEl=currentEl):(cleanOld(),previousEl=null),currentEl=null,currentScope=null}()});currentEl=clone,(currentScope=newScope).$emit("$viewContentLoaded",name),currentScope.$eval(onloadExp)}}scope.$on("$stateChangeSuccess",function(){updateView(!1)}),updateView(!0)}}}}function $ViewDirectiveFill($compile,$controller,$state,$interpolate){return{restrict:"ECA",priority:-400,compile:function(tElement){var initial=tElement.html();return function(scope,$element,attrs){var current=$state.$current,name=getUiViewName(scope,attrs,$element,$interpolate),locals=current&&current.locals[name];if(locals){$element.data("$uiView",{name:name,state:locals.$$state}),$element.html(locals.$template?locals.$template:initial);var link=$compile($element.contents());if(locals.$$controller){locals.$scope=scope,locals.$element=$element;var controller=$controller(locals.$$controller,locals);locals.$$controllerAs&&(scope[locals.$$controllerAs]=controller),$element.data("$ngControllerController",controller),$element.children().data("$ngControllerController",controller)}link(scope)}}}}}function getUiViewName(scope,attrs,element,$interpolate){var name=$interpolate(attrs.uiView||attrs.name||"")(scope),inherited=element.inheritedData("$uiView");return name.indexOf("@")>=0?name:name+"@"+(inherited?inherited.state.name:"")}function parseStateRef(ref,current){var parsed,preparsed=ref.match(/^\s*({[^}]*})\s*$/);if(preparsed&&(ref=current+"("+preparsed[1]+")"),!(parsed=ref.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/))||4!==parsed.length)throw new Error("Invalid state ref '"+ref+"'");return{state:parsed[1],paramExpr:parsed[3]||null}}function stateContext(el){var stateData=el.parent().inheritedData("$uiView");if(stateData&&stateData.state&&stateData.state.name)return stateData.state}
1function getTypeInfo(el){var isSvg="[object SVGAnimatedString]"===Object.prototype.toString.call(el.prop("href")),isForm="FORM"===el[0].nodeName;return{attr:isForm?"action":isSvg?"xlink:href":"href",isAnchor:"A"===el.prop("tagName").toUpperCase(),clickable:!isForm}}function clickHook(el,$state,$timeout,type,current){return function(e){var button=e.which||e.button,target=current();if(!(button>1||e.ctrlKey||e.metaKey||e.shiftKey||el.attr("target"))){var transition=$timeout(function(){$state.go(target.state,target.params,target.options)});e.preventDefault();var ignorePreventDefaultCount=type.isAnchor&&!target.href?1:0;e.preventDefault=function(){ignorePreventDefaultCount--<=0&&$timeout.cancel(transition)}}}}function $StateRefDirective($state,$timeout){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){var ref=parseStateRef(attrs.uiSref,$state.current.name),def={state:ref.state,href:null,params:null},type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0];def.options=extend(function(el,$state){return{relative:stateContext(el)||$state.$current,inherit:!0}}(element,$state),attrs.uiSrefOpts?scope.$eval(attrs.uiSrefOpts):{});var update=function(val){val&&(def.params=angular.copy(val)),def.href=$state.href(ref.state,def.params,def.options),active&&active.$$addStateInfo(ref.state,def.params),null!==def.href&&attrs.$set(type.attr,def.href)};ref.paramExpr&&(scope.$watch(ref.paramExpr,function(val){val!==def.params&&update(val)},!0),def.params=angular.copy(scope.$eval(ref.paramExpr))),update(),type.clickable&&element.bind("click",clickHook(element,$state,$timeout,type,function(){return def}))}}}function $StateRefDynamicDirective($state,$timeout){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){var type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0],watch="["+[attrs.uiState,attrs.uiStateParams||null,attrs.uiStateOpts||null].map(function(val){return val||"null"}).join(", ")+"]",def={state:null,params:null,options:null,href:null};function runStateRefLink(group){def.state=group[0],def.params=group[1],def.options=group[2],def.href=$state.href(def.state,def.params,def.options),active&&active.$$addStateInfo(def.state,def.params),def.href&&attrs.$set(type.attr,def.href)}scope.$watch(watch,runStateRefLink,!0),runStateRefLink(scope.$eval(watch)),type.clickable&&element.bind("click",clickHook(element,$state,$timeout,type,function(){return def}))}}}function $StateRefActiveDirective($state,$stateParams,$interpolate){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function($scope,$element,$attrs,$timeout){var activeEqClass,uiSrefActive,states=[],activeClasses={};activeEqClass=$interpolate($attrs.uiSrefActiveEq||"",!1)($scope);try{uiSrefActive=$scope.$eval($attrs.uiSrefActive)}catch(e){}function addState(stateName,stateParams,activeClass){var state=$state.get(stateName,stateContext($element)),stateHash=function(state,params){if(!isString(state))throw new Error("state should be a string");if(isObject(params))return state+toJson(params);if(params=$scope.$eval(params),isObject(params))return state+toJson(params);return state}(stateName,stateParams);states.push({state:state||{name:stateName},params:stateParams,hash:stateHash}),activeClasses[stateHash]=activeClass}function update(){for(var i=0;i<states.length;i++)state=states[i].state,params=states[i].params,$state.includes(state.name,params)?addClass($element,activeClasses[states[i].hash]):removeClass($element,activeClasses[states[i].hash]),exactMatch(states[i].state,states[i].params)?addClass($element,activeEqClass):removeClass($element,activeEqClass);var state,params}function addClass(el,className){$timeout(function(){el.addClass(className)})}function removeClass(el,className){el.removeClass(className)}function exactMatch(state,params){return $state.is(state.name,params)}uiSrefActive=uiSrefActive||$interpolate($attrs.uiSrefActive||"",!1)($scope),isObject(uiSrefActive)&&forEach(uiSrefActive,function(stateOrName,activeClass){if(isString(stateOrName)){var ref=parseStateRef(stateOrName,$state.current.name);addState(ref.state,$scope.$eval(ref.paramExpr),activeClass)}}),this.$$addStateInfo=function(newState,newParams){isObject(uiSrefActive)&&states.length>0||(addState(newState,newParams,uiSrefActive),update())},$scope.$on("$stateChangeSuccess",update),update()}]}}function $IsStateFilter($state){var isFilter=function(state,params){return $state.is(state,params)};return isFilter.$stateful=!0,isFilter}function $IncludedByStateFilter($state){var includesFilter=function(state,params,options){return $state.includes(state,params,options)};return includesFilter.$stateful=!0,includesFilter}$ViewDirective.$inject=["$state","$injector","$uiViewScroll","$interpolate"],$ViewDirectiveFill.$inject=["$compile","$controller","$state","$interpolate"],angular.module("ui.router.state").directive("uiView",$ViewDirective),angular.module("ui.router.state").directive("uiView",$ViewDirectiveFill),$StateRefDirective.$inject=["$state","$timeout"],$StateRefDynamicDirective.$inject=["$state","$timeout"],$StateRefActiveDirective.$inject=["$state","$stateParams","$interpolate"],angular.module("ui.router.state").directive("uiSref",$StateRefDirective).directive("uiSrefActive",$StateRefActiveDirective).directive("uiSrefActiveEq",$StateRefActiveDirective).directive("uiState",$StateRefDynamicDirective),$IsStateFilter.$inject=["$state"],$IncludedByStateFilter.$inject=["$state"],angular.module("ui.router.state").filter("isState",$IsStateFilter).filter("includedByState",$IncludedByStateFilter)}(window,window.angular),function(root,factory){"use strict";"function"==typeof define&&define.amd?define(["angular"],factory):root.hasOwnProperty("angular")?factory(root.angular):"object"==typeof exports&&(module.exports=factory(require("angular")))}(this,function(angular){"use strict";function isStorageSupported($window,storageType){var supported;
1try{supported=$window[storageType]}catch(err){supported=!1}if(supported){var key="__"+Math.round(1e7*Math.random());try{$window[storageType].setItem(key,key),$window[storageType].removeItem(key,key)}catch(err){supported=!1}}return supported}return(angular=angular&&angular.module?angular:window.angular).module("ngStorage",[]).provider("$localStorage",_storageProvider("localStorage")).provider("$sessionStorage",_storageProvider("sessionStorage"));function _storageProvider(storageType){var providerWebStorage=isStorageSupported(window,storageType);return function(){var storageKeyPrefix="ngStorage-";this.setKeyPrefix=function(prefix){if("string"!=typeof prefix)throw new TypeError("[ngStorage] - "+storageType+"Provider.setKeyPrefix() expects a String.");storageKeyPrefix=prefix};var serializer=angular.toJson,deserializer=angular.fromJson;this.setSerializer=function(s){if("function"!=typeof s)throw new TypeError("[ngStorage] - "+storageType+"Provider.setSerializer expects a function.");serializer=s},this.setDeserializer=function(d){if("function"!=typeof d)throw new TypeError("[ngStorage] - "+storageType+"Provider.setDeserializer expects a function.");deserializer=d},this.supported=function(){return!!providerWebStorage},this.get=function(key){return providerWebStorage&&deserializer(providerWebStorage.getItem(storageKeyPrefix+key))},this.set=function(key,value){return providerWebStorage&&providerWebStorage.setItem(storageKeyPrefix+key,serializer(value))},this.remove=function(key){providerWebStorage&&providerWebStorage.removeItem(storageKeyPrefix+key)},this.$get=["$rootScope","$window","$log","$timeout","$document",function($rootScope,$window,$log,$timeout,$document){var _last$storage,_debounce,prefixLength=storageKeyPrefix.length,isSupported=isStorageSupported($window,storageType),webStorage=isSupported||($log.warn("This browser does not support Web Storage!"),{setItem:angular.noop,getItem:angular.noop,removeItem:angular.noop}),$storage={$default:function(items){for(var k in items)angular.isDefined($storage[k])||($storage[k]=angular.copy(items[k]));return $storage.$sync(),$storage},$reset:function(items){for(var k in $storage)"$"===k[0]||delete $storage[k]&&webStorage.removeItem(storageKeyPrefix+k);return $storage.$default(items)},$sync:function(){for(var k,i=0,l=webStorage.length;i<l;i++)(k=webStorage.key(i))&&storageKeyPrefix===k.slice(0,prefixLength)&&($storage[k.slice(prefixLength)]=deserializer(webStorage.getItem(k)))},$apply:function(){var temp$storage;if(_debounce=null,!angular.equals($storage,_last$storage)){for(var k in temp$storage=angular.copy(_last$storage),angular.forEach($storage,function(v,k){angular.isDefined(v)&&"$"!==k[0]&&(webStorage.setItem(storageKeyPrefix+k,serializer(v)),delete temp$storage[k])}),temp$storage)webStorage.removeItem(storageKeyPrefix+k);_last$storage=angular.copy($storage)}},$supported:function(){return!!isSupported}};return $storage.$sync(),_last$storage=angular.copy($storage),$rootScope.$watch(function(){_debounce||(_debounce=$timeout($storage.$apply,100,!1))}),$window.addEventListener&&$window.addEventListener("storage",function(event){if(event.key){var doc=$document[0];doc.hasFocus&&doc.hasFocus()||storageKeyPrefix!==event.key.slice(0,prefixLength)||(event.newValue?$storage[event.key.slice(prefixLength)]=deserializer(event.newValue):delete $storage[event.key.slice(prefixLength)],_last$storage=angular.copy($storage),$rootScope.$apply())}}),$window.addEventListener&&$window.addEventListener("beforeunload",function(){$storage.$apply()}),$storage}]}}}),function(angular,window){"use strict";var regModules=["ng","oc.lazyLoad"],regInvokes={},regConfigs=[],modulesToLoad=[],realModules=[],recordDeclarations=[],broadcast=angular.noop,runBlocks={},justLoaded=[];angular.module("oc.lazyLoad",["ng"]).provider("$ocLazyLoad",["$controllerProvider","$provide","$compileProvider","$filterProvider","$injector","$animateProvider",function($controllerProvider,$provide,$compileProvider,$filterProvider,$injector,$animateProvider){var modules={},providers={$controllerProvider:$controllerProvider,$compileProvider:$compileProvider,$filterProvider:$filterProvider,$provide:$provide,$injector:$injector,$animateProvider:$animateProvider},debug=!1,events=!1,moduleCache=[],modulePromises={};moduleCache.push=function(value){-1===this.indexOf(value)&&Array.prototype.push.apply(this,arguments)},this.config=function(config){angular.isDefined(config.modules)&&(angular.isArray(config.modules)?angular.forEach(config.modules,function(moduleConfig){modules[moduleConfig.name]=moduleConfig}):modules[config.modules.name]=config.modules),angular.isDefined(config.debug)&&(debug=config.debug),angular.isDefined(config.events)&&(events=config.events)},this._init=function(element){if(0===modulesToLoad.length){var elements=[element],names=["ng:app","ng-app","x-ng-app","data-ng-app"],NG_APP_CLASS_REGEXP=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/,append=function(elm){return elm&&elements.push(elm)};angular.forEach(names,function(name){names[name]=!0,append(document.getElementById(name)),name=name.replace(":","\\:"),void 0!==element[0]&&element[0].querySelectorAll&&(angular.forEach(element[0].querySelectorAll("."+name),append),angular.forEach(element[0].querySelectorAll("."+name+"\\:"),append),angular.forEach(element[0].querySelectorAll("["+name+"]"),append))}),angular.forEach(elements,function(elm){if(0===modulesToLoad.length){var className=" "+element.className+" ",match=NG_APP_CLASS_REGEXP.exec(className);match?modulesToLoad.push((match[2]||"").replace(/\s+/g,",")):angular.forEach(elm.attributes,function(attr){0===modulesToLoad.length&&names[attr.name]&&modulesToLoad.push(attr.value)})}})}0!==modulesToLoad.length||(window.jasmine||window.mocha)&&angular.isDefined(angular.mock)||console.error("No module found during bootstrap, unable to init ocLazyLoad. You should always use the ng-app directive or angular.boostrap when you use ocLazyLoad.");angular.forEach(modulesToLoad,function(moduleName){!function addReg(moduleName){if(-1===regModules.indexOf(moduleName)){regModules.push(moduleName);var mainModule=angular.module(moduleName);_invokeQueue(null,mainModule._invokeQueue,moduleName),_invokeQueue(null,mainModule._configBlocks,moduleName),angular.forEach(mainModule.requires,addReg)}}(moduleName)}),modulesToLoad=[],recordDeclarations.pop()};var stringify=function(obj){try{return JSON.stringify(obj)}catch(e){var cache=[];return JSON.stringify(obj,function(key,value){if(angular.isObject(value)&&null!==value){if(-1!==cache.indexOf(value))return;cache.push(value)}return value})}},hashCode=function(str){var i,len,hash=0;if(0==str.length)return hash;for(i=0,len=str.length;i<len;i++)hash=(hash<<5)-hash+str.charCodeAt(i),hash|=0;return hash};function _register(providers,registerModules,params){if(registerModules){var k,moduleName,moduleFn,tempRunBlocks=[];for(k=registerModules.length-1;k>=0;k--)if(moduleName=registerModules[k],angular.isString(moduleName)||(moduleName=getModuleName(moduleName)),moduleName&&-1===justLoaded.indexOf(moduleName)&&(!modules[moduleName]||-1!==realModules.indexOf(moduleName))){var newModule=-1===regModules.indexOf(moduleName);if(moduleFn=ngModuleFct(moduleName),newModule&&(regModules.push(moduleName),_register(providers,moduleFn.requires,params)),moduleFn._runBlocks.length>0)for(runBlocks[moduleName]=[];moduleFn._runBlocks.length>0;)runBlocks[moduleName].push(moduleFn._runBlocks.shift());angular.isDefined(runBlocks[moduleName])&&(newModule||params.rerun)&&(tempRunBlocks=tempRunBlocks.concat(run
1Blocks[moduleName])),_invokeQueue(providers,moduleFn._invokeQueue,moduleName,params.reconfig),_invokeQueue(providers,moduleFn._configBlocks,moduleName,params.reconfig),broadcast(newModule?"ocLazyLoad.moduleLoaded":"ocLazyLoad.moduleReloaded",moduleName),registerModules.pop(),justLoaded.push(moduleName)}var instanceInjector=providers.getInstanceInjector();angular.forEach(tempRunBlocks,function(fn){instanceInjector.invoke(fn)})}}function _registerInvokeList(args,moduleName){var invokeList=args[2][0],type=args[1],newInvoke=!1;angular.isUndefined(regInvokes[moduleName])&&(regInvokes[moduleName]={}),angular.isUndefined(regInvokes[moduleName][type])&&(regInvokes[moduleName][type]={});var onInvoke=function(invokeName,invoke){regInvokes[moduleName][type].hasOwnProperty(invokeName)||(regInvokes[moduleName][type][invokeName]=[]),function(potentialNew,invokes){var newHash,isNew=!0;invokes.length&&(newHash=signature(potentialNew),angular.forEach(invokes,function(invoke){isNew=isNew&&signature(invoke)!==newHash}));return isNew}(invoke,regInvokes[moduleName][type][invokeName])&&(newInvoke=!0,regInvokes[moduleName][type][invokeName].push(invoke),broadcast("ocLazyLoad.componentLoaded",[moduleName,type,invokeName]))};function signature(data){return angular.isArray(data)?hashCode(data.toString()):angular.isObject(data)?hashCode(stringify(data)):angular.isDefined(data)&&null!==data?hashCode(data.toString()):data}if(angular.isString(invokeList))onInvoke(invokeList,args[2][1]);else{if(!angular.isObject(invokeList))return!1;angular.forEach(invokeList,function(invoke,key){angular.isString(invoke)?onInvoke(invoke,invokeList[1]):onInvoke(key,invoke)})}return newInvoke}function _invokeQueue(providers,queue,moduleName,reconfig){var i,len,args,provider;if(queue)for(i=0,len=queue.length;i<len;i++)if(args=queue[i],angular.isArray(args)){if(null!==providers){if(!providers.hasOwnProperty(args[0]))throw new Error("unsupported provider "+args[0]);provider=providers[args[0]]}var isNew=_registerInvokeList(args,moduleName);if("invoke"!==args[1])isNew&&angular.isDefined(provider)&&provider[args[1]].apply(provider,args[2]);else{var callInvoke=function(fct){var invoked=regConfigs.indexOf(moduleName+"-"+fct);(-1===invoked||reconfig)&&(-1===invoked&&regConfigs.push(moduleName+"-"+fct),angular.isDefined(provider)&&provider[args[1]].apply(provider,args[2]))};if(angular.isFunction(args[2][0]))callInvoke(args[2][0]);else if(angular.isArray(args[2][0]))for(var j=0,jlen=args[2][0].length;j<jlen;j++)angular.isFunction(args[2][0][j])&&callInvoke(args[2][0][j])}}}function getModuleName(module){var moduleName=null;return angular.isString(module)?moduleName=module:angular.isObject(module)&&module.hasOwnProperty("name")&&angular.isString(module.name)&&(moduleName=module.name),moduleName}function moduleExists(moduleName){if(!angular.isString(moduleName))return!1;try{return ngModuleFct(moduleName)}catch(e){if(/No module/.test(e)||e.message.indexOf("$injector:nomod")>-1)return!1}}this.$get=["$log","$rootElement","$rootScope","$cacheFactory","$q",function($log,$rootElement,$rootScope,$cacheFactory,$q){var instanceInjector,filesCache=$cacheFactory("ocLazyLoad");function reject(e){var deferred=$q.defer();return $log.error(e.message),deferred.reject(e),deferred.promise}return debug||(($log={}).error=angular.noop,$log.warn=angular.noop,$log.info=angular.noop),providers.getInstanceInjector=function(){return instanceInjector||(instanceInjector=$rootElement.data("$injector")||angular.injector())},{_broadcast:broadcast=function(eventName,params){events&&$rootScope.$broadcast(eventName,params),debug&&$log.info(eventName,params)},_$log:$log,_getFilesCache:function(){return filesCache},toggleWatch:function(watch){watch?recordDeclarations.push(!0):recordDeclarations.pop()},getModuleConfig:function(moduleName){if(!angular.isString(moduleName))throw new Error("You need to give the name of the module to get");return modules[moduleName]?angular.copy(modules[moduleName]):null},setModuleConfig:function(moduleConfig){if(!angular.isObject(moduleConfig))throw new Error("You need to give the module config object to set");return modules[moduleConfig.name]=moduleConfig,moduleConfig},getModules:function(){return regModules},isLoaded:function(modulesNames){var moduleLoaded=function(module){var isLoaded=regModules.indexOf(module)>-1;return isLoaded||(isLoaded=!!moduleExists(module)),isLoaded};if(angular.isString(modulesNames)&&(modulesNames=[modulesNames]),angular.isArray(modulesNames)){var i,len;for(i=0,len=modulesNames.length;i<len;i++)if(!moduleLoaded(modulesNames[i]))return!1;return!0}throw new Error("You need to define the module(s) name(s)")},_getModuleName:getModuleName,_getModule:function(moduleName){try{return ngModuleFct(moduleName)}catch(e){throw(/No module/.test(e)||e.message.indexOf("$injector:nomod")>-1)&&(e.message='The module "'+stringify(moduleName)+'" that you are trying to load does not exist. '+e.message),e}},moduleExists:moduleExists,_loadDependencies:function(moduleName,localParams){var loadedModule,requires,diff,promisesList=[],self=this;if(null===(moduleName=self._getModuleName(moduleName)))return $q.when();try{loadedModule=self._getModule(moduleName)}catch(e){return reject(e)}return requires=self.getRequires(loadedModule),angular.forEach(requires,function(requireEntry
1){if(angular.isString(requireEntry)){var config=self.getModuleConfig(requireEntry);if(null===config)return void moduleCache.push(requireEntry);requireEntry=config,config.name=void 0}if(self.moduleExists(requireEntry.name))return 0!==(diff=requireEntry.files.filter(function(n){return self.getModuleConfig(requireEntry.name).files.indexOf(n)<0})).length&&self._$log.warn('Module "',moduleName,'" attempted to redefine configuration for dependency. "',requireEntry.name,'"\n Additional Files Loaded:',diff),angular.isDefined(self.filesLoader)?void promisesList.push(self.filesLoader(requireEntry,localParams).then(function(){return self._loadDependencies(requireEntry)})):reject(new Error("Error: New dependencies need to be loaded from external files ("+requireEntry.files+"), but no loader has been defined."));if(angular.isArray(requireEntry)){var files=[];angular.forEach(requireEntry,function(entry){var config=self.getModuleConfig(entry);null===config?files.push(entry):config.files&&(files=files.concat(config.files))}),files.length>0&&(requireEntry={files:files})}else angular.isObject(requireEntry)&&requireEntry.hasOwnProperty("name")&&requireEntry.name&&(self.setModuleConfig(requireEntry),moduleCache.push(requireEntry.name));if(angular.isDefined(requireEntry.files)&&0!==requireEntry.files.length){if(!angular.isDefined(self.filesLoader))return reject(new Error('Error: the module "'+requireEntry.name+'" is defined in external files ('+requireEntry.files+"), but no loader has been defined."));promisesList.push(self.filesLoader(requireEntry,localParams).then(function(){return self._loadDependencies(requireEntry)}))}}),$q.all(promisesList)},inject:function(moduleName){var localParams=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],real=!(arguments.length<=2||void 0===arguments[2])&&arguments[2],self=this,deferred=$q.defer();if(angular.isDefined(moduleName)&&null!==moduleName){if(angular.isArray(moduleName)){var promisesList=[];return angular.forEach(moduleName,function(module){promisesList.push(self.inject(module,localParams,real))}),$q.all(promisesList)}self._addToLoadList(self._getModuleName(moduleName),!0,real)}if(modulesToLoad.length>0){var res=modulesToLoad.slice();!function loadNext(moduleName){moduleCache.push(moduleName),modulePromises[moduleName]=deferred.promise,self._loadDependencies(moduleName,localParams).then(function(){try{justLoaded=[],_register(providers,moduleCache,localParams)}catch(e){return self._$log.error(e.message),void deferred.reject(e)}modulesToLoad.length>0?loadNext(modulesToLoad.shift()):deferred.resolve(res)},function(err){deferred.reject(err)})}(modulesToLoad.shift())}else{if(localParams&&localParams.name&&modulePromises[localParams.name])return modulePromises[localParams.name];deferred.resolve()}return deferred.promise},getRequires:function(module){var requires=[];return angular.forEach(module.requires,function(requireModule){-1===regModules.indexOf(requireModule)&&requires.push(requireModule)}),requires},_invokeQueue:_invokeQueue,_registerInvokeList:_registerInvokeList,_register:_register,_addToLoadList:_addToLoadList,_unregister:function(modules){angular.isDefined(modules)&&angular.isArray(modules)&&angular.forEach(modules,function(module){regInvokes[module]=void 0})}}}],this._init(angular.element(window.document))}]);var bootstrapFct=angular.bootstrap;angular.bootstrap=function(element,modules,config){return regModules=["ng","oc.lazyLoad"],regInvokes={},regConfigs=[],modulesToLoad=[],realModules=[],recordDeclarations=[],broadcast=angular.noop,runBlocks={},justLoaded=[],angular.forEach(modules.slice(),function(module){_addToLoadList(module,!0,!0)}),bootstrapFct(element,modules,config)};var _addToLoadList=function(name,force,real){(recordDeclarations.length>0||force)&&angular.isString(name)&&-1===modulesToLoad.indexOf(name)&&(modulesToLoad.push(name),real&&realModules.push(name))},ngModuleFct=angular.module;angular.module=function(name,requires,configFn){return _addToLoadList(name,!1,!0),ngModuleFct(name,requires,configFn)},"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="oc.lazyLoad")}(angular,window),function(angular){"use strict";angular.module("oc.lazyLoad").directive("ocLazyLoad",["$ocLazyLoad","$compile","$animate","$parse","$timeout",function($ocLazyLoad,$compile,$animate,$parse,$timeout){return{restrict:"A",terminal:!0,priority:1e3,compile:function(element,attrs){var content=element[0].innerHTML;return element.html(""),function($scope,$element,$attr){var model=$parse($attr.ocLazyLoad);$scope.$watch(function(){return model($scope)||$attr.ocLazyLoad},function(moduleName){angular.isDefined(moduleName)&&$ocLazyLoad.load(moduleName).then(function(){$animate.enter(content,$element),$compile($element.contents())($scope)})},!0)}}}}])}(angular),function(angular){"use strict";angular.module("oc.lazyLoad").config(["$provide",function($provide){$provide.decorator("$ocLazyLoad",["$delegate","$q","$window","$interval",function($delegate,$q,$window,$interval){var useCssLoadPatch=!1,anchor=$window.document.getElementsByTagName("head")[0]||$window.document.getElementsByTagName("body")[0];return $delegate.buildElement=function(type,path,params){var el,loaded,deferred=$q.defer(),filesCache=$delegate._getFilesCache(),cacheBuster=function(url){var dc=(new Date).getTime();return url.indexOf("?")>=0?"&"===url.substring(0,url.length-1)?url+"_dc="+dc:url+"&_dc="+dc:url+"?_dc="+dc};switch(angular.isUndefined(filesCache.get(path))&&filesCache.put(path,deferred.promise),type){case"css":(el=$window.document.createElement("link")).type="text/css",el.rel="stylesheet",el.href=!1===params.cache?cacheBuster(path):path;break;case"js":(el=$window.document.createElement("script")).src=!1===params.cache?cacheBuster(path):path;break;default:filesCache.remove(path),deferred.reject(new Error('Requested type "'+type+'" is not known. Could not inject "'+path+'"'))}el.onload=el.onreadystatechange=function(e){el.readyState&&!/^c|loade/.test(el.readyState)||loaded||(el.onload=el.onreadystatechange=null,loaded=1,$delegate._broadcast("ocLazyLoad.fileLoaded",path),deferred.resolve(el))},el.onerror=function(){filesCache.remove(path),deferred.reject(new Error("Unable to load "+path))},el.async=params.serie?0:1;var insertBeforeElem=anchor.lastChild;if(params.insertBefore){var element=angular.element(angular.isDefined(window.jQuery)?params.insertBefore:document.querySelector(params.insertBefore));element&&element.length>0&&(insertBeforeElem=element[0])}if(insertBeforeElem.parentNode.insertBefore(el,insertBeforeElem),"css"==type){var ua=$window.navigator.userAgent.toLowerCase();if(ua.indexOf("phantomjs/1.9")>-1)useCssLoadPatch=!0;else if(/iP(hone|od|ad)/.test($window.navigator.platform)){var v=$window.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),iOSVersion=parseFloat([parseInt(v[1],10),parseInt(v[2],10),parseInt(v[3]||0,10)].join("."));useCssLoadPatch=iOSVersion<6}else if(ua.indexOf("android")>-1){var androidVersion=parseFloat(ua.slice(ua.indexOf("android")+8));useCssLoadPatch=androidVersion<4.4}else if(ua.indexOf("safari")>-1){var versionMatch=ua.match(/version\/([\.\d]+)/i);useCssLoadPatch=versionMatch&&versionMatch[1]&&parseFloat(versionMatch[1])<6}if(useCssLoadPatch)var tries=1e3,interval=$interval(function(){try{el.sheet.cssRules,$interval.cancel(interval),el.onload()}catch(e){--tries<=0&&el.onerror()}},20)}return deferred.promise},$delegate}])}])}(angular),function(angular){"use strict";angular.module("oc.lazyLoad").config(["$provide",function($provide){$provide.decorator("$ocLazyLoad",["$delegate","$q",function($delegate,$q){return $delegate.filesLoader=function(config){var params=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],cssFiles=[],templatesFiles=[],jsFiles=[],promises=[],cachePromise=null,filesCache=$delegate._getFilesCache();$delegate.toggleWatch(!0),angular.extend(params,config);var pushFile=function(path){var m,file_type=null;if(angular.isObject(path)&&(file_type=path.type,path=path.path),cachePromise=filesCache.get(path),angular.isUndefined(cachePromise)||!1===params.cache){if(null!==(m=/^(css|less|html|htm|js)?(?=!)/.exec(path))&&(file_type=m[1],path=path.substr(m[1].length+1,path.length)),!file_type)if(null!==(m=/[.](css|less|html|htm|js)?((\?|#).*)?$/.exec(path)))file_type=m[1];else{if($delegate.jsLoader.hasOwnProperty("ocLazyLoadLoader")||!$delegate.jsLoader.hasOwnProperty("requirejs"))return void $delegate._$log.error("File type could not be determined. "+path);file_type="js"}"css"!==file_type&&"less"!==file_type||-1!==cssFiles.indexOf(path)?"html"!==file_type&&"htm"!==file_type||-1!==templatesFiles.indexOf(path)?"js"===file_type||-1===jsFiles.indexOf(path)?jsFiles.push(path):$delegate._$log.error("File type is not val
1id. "+path):templatesFiles.push(path):cssFiles.push(path)}else cachePromise&&promises.push(cachePromise)};if(params.serie?pushFile(params.files.shift()):angular.forEach(params.files,function(path){pushFile(path)}),cssFiles.length>0){var cssDeferred=$q.defer();$delegate.cssLoader(cssFiles,function(err){angular.isDefined(err)&&$delegate.cssLoader.hasOwnProperty("ocLazyLoadLoader")?($delegate._$log.error(err),cssDeferred.reject(err)):cssDeferred.resolve()},params),promises.push(cssDeferred.promise)}if(templatesFiles.length>0){var templatesDeferred=$q.defer();$delegate.templatesLoader(templatesFiles,function(err){angular.isDefined(err)&&$delegate.templatesLoader.hasOwnProperty("ocLazyLoadLoader")?($delegate._$log.error(err),templatesDeferred.reject(err)):templatesDeferred.resolve()},params),promises.push(templatesDeferred.promise)}if(jsFiles.length>0){var jsDeferred=$q.defer();$delegate.jsLoader(jsFiles,function(err){angular.isDefined(err)&&($delegate.jsLoader.hasOwnProperty("ocLazyLoadLoader")||$delegate.jsLoader.hasOwnProperty("requirejs"))?($delegate._$log.error(err),jsDeferred.reject(err)):jsDeferred.resolve()},params),promises.push(jsDeferred.promise)}if(0===promises.length){var deferred=$q.defer(),err="Error: no file to load has been found, if you're trying to load an existing module you should use the 'inject' method instead of 'load'.";return $delegate._$log.error(err),deferred.reject(err),deferred.promise}return params.serie&&params.files.length>0?$q.all(promises).then(function(){return $delegate.filesLoader(config,params)}):$q.all(promises).finally(function(res){return $delegate.toggleWatch(!1),res})},$delegate.load=function(originalModule){var errText,originalParams=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],self=this,config=null,deferredList=[],deferred=$q.defer(),module=angular.copy(originalModule),params=angular.copy(originalParams);if(angular.isArray(module))return angular.forEach(module,function(m){deferredList.push(self.load(m,params))}),$q.all(deferredList).then(function(res){deferred.resolve(res)},function(err){deferred.reject(err)}),deferred.promise;if(angular.isString(module)?(config=self.getModuleConfig(module))||(config={files:[module]}):angular.isObject(module)&&(config=angular.isDefined(module.path)&&angular.isDefined(module.type)?{files:[module]}:self.setModuleConfig(module)),null===config)return errText='Module "'+(self._getModuleName(module)||"unknown")+'" is not configured, cannot load.',$delegate._$log.error(errText),deferred.reject(new Error(errText)),deferred.promise;angular.isDefined(config.template)&&(angular.isUndefined(config.files)&&(config.files=[]),angular.isString(config.template)?config.files.push(config.template):angular.isArray(config.template)&&config.files.concat(config.template));var localParams=angular.extend({},params,config);return angular.isUndefined(config.files)&&angular.isDefined(config.name)&&$delegate.moduleExists(config.name)?$delegate.inject(config.name,localParams,!0):($delegate.filesLoader(config,localParams).then(function(){$delegate.inject(null,localParams).then(function(res){deferred.resolve(res)},function(err){deferred.reject(err)})},function(err){deferred.reject(err)}),deferred.promise)},$delegate}])}])}(angular),function(angular){"use strict";angular.module("oc.lazyLoad").config(["$provide",function($provide){$provide.decorator("$ocLazyLoad",["$delegate","$q",function($delegate,$q){return $delegate.cssLoader=function(paths,callback,params){var promises=[];angular.forEach(paths,function(path){promises.push($delegate.buildElement("css",path,params))}),$q.all(promises).then(function(){callback()},function(err){callback(err)})},$delegate.cssLoader.ocLazyLoadLoader=!0,$delegate}])}])}(angular),function(angular){"use strict";angular.module("oc.lazyLoad").config(["$provide",function($provide){$provide.decorator("$ocLazyLoad",["$delegate","$q",function($delegate,$q){return $delegate.jsLoader=function(paths,callback,params){var promises=[];angular.forEach(paths,function(path){promises.push($delegate.buildElement("js",path,params))}),$q.all(promises).then(function(){callback()},function(err){callback(err)})},$delegate.jsLoader.ocLazyLoadLoader=!0,$delegate}])}])}(angular),function(angular){"use strict";angular.module("oc.lazyLoad").config(["$provide",function($provide){$provide.decorator("$ocLazyLoad",["$delegate","$templateCache","$q","$http",function($delegate,$templateCache,$q,$http){return $delegate.templatesLoader=function(paths,callback,params){var promises=[],filesCache=$delegate._getFilesCache();return angular.forEach(paths,function(url){var deferred=$q.defer();promises.push(deferred.promise),$http.get(url,params).then(function(response){var data=response.data;angular.isString(data)&&data.length>0&&angular.forEach(angular.element(data),function(node){"SCRIPT"===node.nodeName&&"text/ng-template"===node.type&&$templateCache.put(node.id,node.innerHTML)}),angular.isUndefined(filesCache.get(url))&&filesCache.put(url,!0),deferred.resolve()}).catch(function(response){deferred.reject(new Error('Unable to load template file "'+url+'": '+response.data))})}),$q.all(promises).then(function(){callback()},function(err){callback(err)})},$delegate.templatesLoader.ocLazyLoadLoader=!0,$delegate}])}])}(angular),Array.prototype.indexOf||(Array.prototype.indexOf=function(searchElement,fromIndex){var k;if(null==this)throw new TypeError('"this" is null or not defined');var O=Object(this),len=O.length>>>0;if(0===len)return-1;
1var n=+fromIndex||0;if(Math.abs(n)===1/0&&(n=0),n>=len)return-1;for(k=Math.max(n>=0?n:len-Math.abs(n),0);k<len;){if(k in O&&O[k]===searchElement)return k;k++}return-1}),function(app){"use strict";function matchImageFactory($window,RSrcPixelDensity){return function(imgObj,width,height,ratio){if(imgObj&&width&&height&&ratio){var match=Object.keys(imgObj).map(function(item,index,array){var m=item.match(/^url_(\d+)x(\d+)$/);if(!m)return null;var width=m[1],height=m[2],ratio=width/height;if(width&&height&&ratio)return[ratio,width,height,imgObj[item]];console.error(new Error("Unexpected image object. rSrc needs keys of the form url_0x0 with urls as values"))}).filter(function(item,index,array){return!!item}).filter(function(item,index,array){return+item[2]>=height*RSrcPixelDensity}).filter(function(item,index,array){return+item[1]>=width*RSrcPixelDensity}).sort(function(a,b){return a[0]-b[0]}).filter(function(item,index,array){return!array.filter(function(item){return item[0]===ratio})[0]||item[0]===ratio}).reduceRight(function(acc,item,index,array){return acc.length>0&&+item[0]<acc[0][0]?acc:acc.concat([item])},[]).reduce(function(acc,item,index,array){return acc?+item[1]<+acc[1]?item:acc:item},!1);if(match)return match[3];console.error(new Error("No image in src fitting width ("+width+"), pixel density ("+RSrcPixelDensity+"), & ratio ("+ratio+") constraints"))}else console.error(new Error("r-src must be provided an src object, a width and a ratio."))}}app.factory("matchImage",matchImageFactory),matchImageFactory.$inject=["$window","RSrcPixelDensity"]}(angular.module("ng-responsive-image.matcher",["ng-responsive-image.pixel-density"])),function(app){"use strict";app.provider("RSrcPixelDensity",function(){var pixelDensity=window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 3), only screen and (min-resolution: 3dppx), only screen and (min-resolution: 288dpi)").matches?3:window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), only screen and (min-resolution: 144dpi)").matches?2:1;
1this.provideCustom=function(customPixelDensity){if("number"==typeof customPixelDensity)pixelDensity=customPixelDensity;else{if("function"!=typeof customPixelDensity)throw new Error("RSrcPixelDensity.provideCustom must be passed either a pixel density as a number or a function to calculate it.");pixelDensity=customPixelDensity()}},this.$get=function(){return pixelDensity}})}(angular.module("ng-responsive-image.pixel-density",[])),function(app){"use strict";function rSrc($q,matchImage){return{restrict:"A",scope:{src:"=rSrc",image_is_loaded:"=?imageIsLoaded"},link:function(scope,element,attrs){var width,height,ratio,unwatch,deferred;function waitForSubsequentLoads(){unwatch=scope.$watch("src."+findPropToWatch(scope.src),function self(newValue,oldValue){var url,img;oldValue&&!newValue&&(unwatch(),unwatch=scope.$watch("src."+findPropToWatch(scope.src),self)),url=matchImage(scope.src,width,height,ratio),(img=document.createElement("img")).src=url,img.onload=function(){if(img.naturalWidth+img.naturalHeight===0)return img.onerror();deferred.resolve(),element.attr("background")?element.css("background-image","url("+url+")"):element.attr("src",url)},img.onerror=function(){deferred.reject("Failed to load an image.")}})}function findPropToWatch(imgObj){for(var prop in imgObj)if(0===prop.indexOf("url_"))return prop}deferred=$q.defer(),scope.image_is_loaded=deferred.promise,function(){if(!(width=+attrs.width||element[0].clientWidth||attrs.height*attrs.ratio||element[0].clientHeight*attrs.ratio))return void console.error(new Error("rSrc needs either a width or an element with a CSS applied width"));if(!(height=+attrs.height||attrs.width/attrs.ratio||element[0].clientHeight||element[0].clientWidth/attrs.ratio))return void console.error(new Error("rSrc needs either a height, a ratio or an element with a CSS applied height"));if(!(ratio=+attrs.ratio||(attrs.height?width/attrs.height:width/element[0].clientHeight))||ratio===1/0)console.error(new Error("rSrc needs either a height, a ratio, or an element with a CSS applied height"))}(),function waitForFirstLoad(){if(unwatch||!scope.src||findPropToWatch(scope.src)||!scope.src.$promise&&!scope.src.then)if(unwatch||findPropToWatch(scope.src)){if(findPropToWatch(scope.src))unwatch&&unwatch(),waitForSubsequentLoads();else if(void 0!==scope.src){var err=new Error("Image object does not contain any appropriate url_ properties");return deferred.reject(err),void console.error(err)}}else unwatch=scope.$watch("src",waitForFirstLoad);else(scope.src.$promise||scope.src).then(function(){if(!findPropToWatch(scope.src)){var err=new Error("Image object does not contain any appropriate url_ properties");return deferred.reject(err),void console.error(err)}waitForSubsequentLoads()})}()}}}app.directive("rSrc",rSrc),rSrc.$inject=["$q","matchImage"]}(angular.module("ng-responsive-image",["ng-responsive-image.matcher"])),angular.module("ngLocale",[],["$provide",function($provide){var PLURAL_CATEGORY_ONE="one",PLURAL_CATEGORY_OTHER="other";$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["a. m.","p. m."],DAY:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ERANAMES:["antes de Cristo","después de Cristo"],ERAS:["a. C.","d. C."],FIRSTDAYOFWEEK:0,MONTH:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],SHORTDAY:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],SHORTMONTH:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],STANDALONEMONTH:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],WEEKENDRANGE:[5,6],fullDate:"EEEE, d 'de' MMMM 'de' y",longDate:"d 'de' MMMM 'de' y",medium:"d MMM y H:mm:ss",mediumDate:"d MMM y",mediumTime:"H:mm:ss",short:"d/M/yy H:mm",shortDate:"d/M/yy",shortTime:"H:mm"},NUMBER_FORMATS:{CURRENCY_SYM:"€",DECIMAL_SEP:",",GROUP_SEP:".",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-",negSuf:" ¤",posPre:"",posSuf:" ¤"}]},id:"es",localeID:"es",pluralCat:function(n,opt_precision){return 1==n?PLURAL_CATEGORY_ONE:PLURAL_CATEGORY_OTHER}})}]),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.transition","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-popup.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/tooltip/tooltip-template-popup.html","template/popover/popover-html.html","template/popover/popover-template.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("collapse",["$animate",function($animate){return{link:function(scope,element,attrs){function expandDone(){element.removeClass("collapsing"),element.css({height:"auto"})}function collapseDone(){element.css({height:"0"}),element.removeClass("collapsing"),element.addClass("collapse")}scope.$watch(attrs.collapse,function(shouldCollapse){shouldCollapse?function(){if(!element.hasClass("collapse")&&!element.hasClass("in"))return collapseDone();element.css({height:element[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),$animate.removeClass(element,"in",{to:{height:"0"}}).then(collapseDone)}():(element.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),$animate.addClass(element,"in",{to:{height:element[0].scrollHeight+"px"}}).then(expandDone))})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){(angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers)&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(event){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(index,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",controllerAs:"accordion",transclude:!0,replace:!1,templateUrl:function(element,attrs){return attrs.templateUrl||"template/accordion/accordion.html"}}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"template/accordion/accordion-group.html"},scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){accordionCtrl.addGroup(scope),scope.openClass=attrs.openClass||"panel-open",scope.panelClass=attrs.panelClass,scope.$watch("isOpen",function(value){element.toggleClass(scope.openClass,value),value&&accordionCtrl.closeOthers(scope)}),scope.toggleOpen=function($event){scope.isDisabled||$event&&32!==$event.which||(scope.isOpen=!scope.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(scope,element,attr,accordionGroupCtrl,transclude){accordionGroupCtrl.setHeading(transclude(scope,angular.noop))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(scope,element,attr,controller){scope.$watch(function(){return controller[attr.accordionTransclude]},function(heading){heading&&(element.find("span").html(""),element.find("span").append(heading))})}}}
1),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function($scope,$attrs){$scope.closeable=!!$attrs.close,this.close=$scope.close}]).directive("alert",function(){return{controller:"AlertController",controllerAs:"alert",templateUrl:function(element,attrs){return attrs.templateUrl||"template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}).directive("dismissOnTimeout",["$timeout",function($timeout){return{require:"alert",link:function(scope,element,attrs,alertCtrl){$timeout(function(){alertCtrl.close()},parseInt(attrs.dismissOnTimeout,10))}}}]),angular.module("ui.bootstrap.bindHtml",[]).value("$bindHtmlUnsafeSuppressDeprecated",!1).directive("bindHtmlUnsafe",["$log","$bindHtmlUnsafeSuppressDeprecated",function($log,$bindHtmlUnsafeSuppressDeprecated){return function(scope,element,attr){$bindHtmlUnsafeSuppressDeprecated||$log.warn("bindHtmlUnsafe is now deprecated. Use ngBindHtml instead"),element.addClass("ng-binding").data("$binding",attr.bindHtmlUnsafe),scope.$watch(attr.bindHtmlUnsafe,function(value){element.html(value||"")})}}]),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",controllerAs:"buttons",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.btnRadio)))},element.bind(buttonsCtrl.toggleEvent,function(){if(!attrs.disabled){var isActive=element.hasClass(buttonsCtrl.activeClass);isActive&&!angular.isDefined(attrs.uncheckable)||scope.$apply(function(){ngModelCtrl.$setViewValue(isActive?null:scope.$eval(attrs.btnRadio)),ngModelCtrl.$render()})}})}}}).directive("btnCheckbox",["$document",function($document){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",controllerAs:"button",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attributeValue,defaultValue){var val=scope.$eval(attributeValue);return angular.isDefined(val)?val:defaultValue}element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.bind(buttonsCtrl.toggleEvent,function(){attrs.disabled||scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})}),element.on("keypress",function(e){attrs.disabled||32!==e.which||$document[0].activeElement!==element[0]||scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}]),angular.module("ui.bootstrap.carousel",[]).controller("CarouselController",["$scope","$element","$interval","$animate",function($scope,$element,$interval,$animate){var currentInterval,isPlaying,self=this,slides=self.slides=$scope.slides=[],NEW_ANIMATE=angular.version.minor>=4,SLIDE_DIRECTION="uib-slideDirection",currentIndex=-1;self.currentSlide=null;var destroyed=!1;function getSlideByIndex(index){if(angular.isUndefined(slides[index].index))return slides[index];var i;slides.length;for(i=0;i<slides.length;++i)if(slides[i].index==index)return slides[i]}function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>0&&(currentInterval=$interval(timerFn,interval))}function resetTimer(){currentInterval&&($interval.cancel(currentInterval),currentInterval=null)}function timerFn(){var interval=+$scope.interval;isPlaying&&!isNaN(interval)&&interval>0&&slides.length?$scope.next():$scope.pause()}self.select=$scope.select=function(nextSlide,direction){var nextIndex=$scope.indexOfSlide(nextSlide);void 0===direction&&(direction=nextIndex>self.getCurrentIndex()?"next":"prev"),nextSlide&&nextSlide!==self.currentSlide&&!$scope.$currentTransition&&function(slide,index,direction){if(destroyed)return;angular.extend(slide,{direction:direction,active:!0}),angular.extend(self.currentSlide||{},{direction:direction,active:!1}),$animate.enabled()&&!$scope.noTransition&&!$scope.$currentTransition&&slide.$element&&self.slides.length>1&&(slide.$element.data(SLIDE_DIRECTION,slide.direction),self.currentSlide&&self.currentSlide.$element&&self.currentSlide.$element.data(SLIDE_DIRECTION,slide.direction),$scope.$currentTransition=!0,NEW_ANIMATE?$animate.on("addClass",slide.$element,function(element,phase){"close"===phase&&($scope.$currentTransition=null,$animate.off("addClass",element))}):slide.$element.one("$animate:close",function(){$scope.$currentTransition=null}));self.currentSlide=slide,currentIndex=index,restartTimer()}(nextSlide,nextIndex,direction)},$scope.$on("$destroy",function(){destroyed=!0}),self.getCurrentIndex=function(){return self.currentSlide&&angular.isDefined(self.currentSlide.index)?+self.currentSlide.index:currentIndex},$scope.indexOfSlide=function(slide){return angular.isDefined(slide.index)?+slide.index:sli
1des.indexOf(slide)},$scope.next=function(){var newIndex=(self.getCurrentIndex()+1)%slides.length;if(0!==newIndex||!$scope.noWrap())return self.select(getSlideByIndex(newIndex),"next");$scope.pause()},$scope.prev=function(){var newIndex=self.getCurrentIndex()-1<0?slides.length-1:self.getCurrentIndex()-1;if(!$scope.noWrap()||newIndex!==slides.length-1)return self.select(getSlideByIndex(newIndex),"prev");$scope.pause()},$scope.isActive=function(slide){return self.currentSlide===slide},$scope.$watch("interval",restartTimer),$scope.$on("$destroy",resetTimer),$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},self.addSlide=function(slide,element){slide.$element=element,slides.push(slide),1===slides.length||slide.active?(self.select(slides[slides.length-1]),1==slides.length&&$scope.play()):slide.active=!1},self.removeSlide=function(slide){angular.isDefined(slide.index)&&slides.sort(function(a,b){return+a.index>+b.index});var index=slides.indexOf(slide);slides.splice(index,1),slides.length>0&&slide.active?index>=slides.length?self.select(slides[index-1]):self.select(slides[index]):currentIndex>index&&currentIndex--,0===slides.length&&(self.currentSlide=null)},$scope.$watch("noTransition",function(noTransition){$element.data("uib-noTransition",noTransition)})}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",controllerAs:"carousel",require:"carousel",templateUrl:function(element,attrs){return attrs.templateUrl||"template/carousel/carousel.html"},scope:{interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"template/carousel/slide.html"},scope:{active:"=?",actual:"=?",index:"=?"},link:function(scope,element,attrs,carouselCtrl){carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){active&&carouselCtrl.select(scope)})}}}).animation(".item",["$injector","$animate",function($injector,$animate){var $animateCss=null;function removeClass(element,className,callback){element.removeClass(className),callback&&callback()}return $injector.has("$animateCss")&&($animateCss=$injector.get("$animateCss")),{beforeAddClass:function(element,className,done){if("active"==className&&element.parent()&&!element.parent().data("uib-noTransition")){var stopped=!1,direction=element.data("uib-slideDirection"),directionClass="next"==direction?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass+" "+direction,done);return element.addClass(direction),$animateCss?$animateCss(element,{addClass:directionClass}).start().done(removeClassFn):$animate.addClass(element,directionClass).then(function(){stopped||removeClassFn(),done()}),function(){stopped=!0}}done()},beforeRemoveClass:function(element,className,done){if("active"===className&&element.parent()&&!element.parent().data("uib-noTransition")){var stopped=!1,directionClass="next"==element.data("uib-slideDirection")?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass,done);return $animateCss?$animateCss(element,{addClass:directionClass}).start().done(removeClassFn):$animate.addClass(element,directionClass).then(function(){stopped||removeClassFn(),done()}),function(){stopped=!0}}done()}}}]),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$log","$locale","orderByFilter",function($log,$locale,orderByFilter){var SPECIAL_CHARACTERS_REGEXP=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.parsers={};var formatCodeToRegex={yyyy:{regex:"\\d{4}",apply:function(value){this.year=+value}},yy:{regex:"\\d{2}",apply:function(value){this.year=+value+2e3}},y:{regex:"\\d{1,4}",apply:function(value){this.year=+value}},MMMM:{regex:$locale.DATETIME_FORMATS.MONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.MONTH.indexOf(value)}},MMM:{regex:$locale.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(value){this.month=value-1}},M:{regex:"[1-9]|1[0-2]",apply:function(value){this.month=value-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value}},EEEE:{regex:$locale.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:$locale.DATETIME_FORMATS.SHORTDAY.join("|")},HH:{regex:"(?:0|1)[0-9]|2[0-3]",apply:function(value){this.hours=+value}},hh:{regex:"0[0-9]|1[0-2]",apply:function(value){this.hours=+value}},H:{regex:"1?[0-9]|2[0-3]",apply:function(value){this.hours=+value}},h:{regex:"[0-9]|1[0-2]",apply:function(value){this.hours=+value}},mm:{regex:"[0-5][0-9]",apply:function(value){this.minutes=+value}},m:{regex:"[0-9]|[1-5][0-9]",apply:function(value){this.minutes=+value}},sss:{regex:"[0-9][0-9][0-9]",apply:function(value){this.milliseconds=+value}},ss:{regex:"[0-5][0-9]",apply:function(value){this.seconds=+value}},s:{regex:"[0-9]|[1-5][0-9]",apply:function(value){this.seconds=+value}},a:{regex:$locale.DATETIME_FORMATS.AMPMS.join("|"),apply:function(value){12===this.hours&&(this.hours=0),"PM"===value&&(this.hours+=12)}}};this.parse=function(input,format,baseDate){if(!angular.isString(input)||!format)return input;format=(format=$locale.DATETIME_FORMATS[format]||format).replace(SPECIAL_CHARACTERS_REGEXP,"\\$&"),this.parsers[format]||(this.parsers[format]=function(format){var map=[],regex=format.split("");return angular.forEach(formatCodeToRegex,function(data,code){var index=format.indexOf(code);if(index>-1){format=format.split(""),regex[index]="("+data.regex+")",format[index]="$";for(var i=index+1,n=index+code.length;i<n;i++)regex[i]="",format[i]="$";format=format.join(""),map.push({index:index,apply:data.apply})}}),{regex:new RegExp("^"+regex.join("")+"$"),map:orderByFilter(map,"index")}}(format));var parser=this.parsers[format],regex=parser.regex,map=parser.map,results=input.match(regex);if(results&&results.length){var fields,dt;angular.isDate(baseDate)&&!isNaN(baseDate.getTime())?fields={year:baseDate.getFullYear(),month:baseDate.getMonth(),date:baseDate.getDate(),hours:baseDate.getHours(),minutes:baseDate.getMinutes(),seconds:baseDate.getSeconds(),milliseconds:baseDate.getMilliseconds()}:(baseDate&&$log.warn("dateparser:","baseDate is not a valid date"),fields={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var i=1,n=results.length;i<n;i++){var mapper=map[i-1];mapper.apply&&mapper.apply.call(fields,results[i])}return function(year,month,date){if(date<1)return!1;if(1===month&&date>28)return 29===date&&(year%4==0&&year%100!=0||year%400==0);if(3===month||5===month||8===month||10===month)return date<31;return!0}(fields.year,fields.month,fields.date)&&(dt=new Date(fields.year,fields.month,fields.date,fields.hours,fields.minutes,fields.seconds,fields.milliseconds||0)),dt}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function($document,$window){function isStaticPositioned(element){return"static"===(cssprop="position",((el=element).currentStyle?el.currentStyle[cssprop]:$window.getComputedStyle?$window.getComputedStyle(el)[cssprop]:el.style[cssprop])||"static");var el,cssprop}return{position:function(element){var elBCR=this.offset(element),offsetParentBCR={top:0,left:0},offsetParentEl=function(element){for(var docDomEl=$document[0],offsetParent=element.offsetParent||docDomEl;offsetParent&&offsetParent!==docDomEl&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||docDomEl}(element[0]);offsetParentEl!=$document[0]&&((offsetParentBCR=this.offset(angular.element(offsetParentEl))).top+=offsetParentEl.clientTop-offsetParentEl.scrollTop,offsetParentBCR.left+=offsetParentEl.clientLeft-offsetParentEl.scrollLeft);var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:elBCR.top-offsetParentBCR.top,left
1:elBCR.left-offsetParentBCR.left}},offset:function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:boundingClientRect.top+($window.pageYOffset||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].documentElement.scrollLeft)}},positionElements:function(hostEl,targetEl,positionStr,appendToBody){var hostElPos,targetElWidth,targetElHeight,targetElPos,positionStrParts=positionStr.split("-"),pos0=positionStrParts[0],pos1=positionStrParts[1]||"center";hostElPos=appendToBody?this.offset(hostEl):this.position(hostEl),targetElWidth=targetEl.prop("offsetWidth"),targetElHeight=targetEl.prop("offsetHeight");var shiftWidth={center:function(){return hostElPos.left+hostElPos.width/2-targetElWidth/2},left:function(){return hostElPos.left},right:function(){return hostElPos.left+hostElPos.width}},shiftHeight={center:function(){return hostElPos.top+hostElPos.height/2-targetElHeight/2},top:function(){return hostElPos.top},bottom:function(){return hostElPos.top+hostElPos.height}};switch(pos0){case"right":targetElPos={top:shiftHeight[pos1](),left:shiftWidth[pos0]()};break;case"left":targetElPos={top:shiftHeight[pos1](),left:hostElPos.left-targetElWidth};break;case"bottom":targetElPos={top:shiftHeight[pos0](),left:shiftWidth[pos1]()};break;default:targetElPos={top:hostElPos.top-targetElHeight,left:shiftWidth[pos1]()}}return targetElPos}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).value("$datepickerSuppressError",!1).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null,shortcutPropagation:!1}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$log","dateFilter","datepickerConfig","$datepickerSuppressError",function($scope,$attrs,$parse,$interpolate,$log,dateFilter,datepickerConfig,$datepickerSuppressError){var self=this,ngModelCtrl={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRange","shortcutPropagation"],function(key,index){self[key]=angular.isDefined($attrs[key])?index<6?$interpolate($attrs[key])($scope.$parent):$scope.$parent.$eval($attrs[key]):datepickerConfig[key]}),angular.forEach(["minDate","maxDate"],function(key){$attrs[key]?$scope.$parent.$watch($parse($attrs[key]),function(value){self[key]=value?new Date(value):null,self.refreshView()}):self[key]=datepickerConfig[key]?new Date(datepickerConfig[key]):null}),angular.forEach(["minMode","maxMode"],function(key){$attrs[key]?$scope.$parent.$watch($parse($attrs[key]),function(value){self[key]=angular.isDefined(value)?value:$attrs[key],$scope[key]=self[key],("minMode"==key&&self.modes.indexOf($scope.datepickerMode)<self.modes.indexOf(self[key])||"maxMode"==key&&self.modes.indexOf($scope.datepickerMode)>self.modes.indexOf(self[key]))&&($scope.datepickerMode=self[key])}):(self[key]=datepickerConfig[key]||null,$scope[key]=self[key])}),$scope.datepickerMode=$scope.datepickerMode||datepickerConfig.datepickerMode,$scope.uniqueId="datepicker-"+$scope.$id+"-"+Math.floor(1e4*Math.random()),angular.isDefined($attrs.initDate)?(this.activeDate=$scope.$parent.$eval($attrs.initDate)||new Date,$scope.$parent.$watch($attrs.initDate,function(initDate){initDate&&(ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue)||ngModelCtrl.$invalid)&&(self.activeDate=initDate,self.refreshView())})):this.activeDate=new Date,$scope.isActive=function(dateObject){return 0===self.compare(dateObject.date,self.activeDate)&&($scope.activeDateId=dateObject.uid,!0)},this.init=function(ngModelCtrl_){(ngModelCtrl=ngModelCtrl_).$render=function(){self.render()}},this.render=function(){if(ngModelCtrl.$viewValue){var date=new Date(ngModelCtrl.$viewValue);!isNaN(date)?this.activeDate=date:$datepickerSuppressError||$log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var date=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;ngModelCtrl.$setValidity("dateDisabled",!date||this.element&&!this.isDisabled(date))}},this.createDateObject=function(date,format){var model=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;return{date:date,label:dateFilter(date,format),selected:model&&0===this.compare(date,model),disabled:this.isDisabled(date),current:0===this.compare(date,new Date),customClass:this.customClass(date)}},this.isDisabled=function(date){return this.minDate&&this.compare(date,this.minDate)<0||this.maxDate&&this.compare(date,this.maxDate)>0||$attrs.dateDisabled&&$scope.dateDisabled({date:date,mode:$scope.datepickerMode})},this.customClass=function(date){return $scope.customClass({date:date,mode:$scope.datepickerMode})},this.split=function(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays},this.fixTimeZone=function(date){var hours=date.getHours();date.setHours(23===hours?hours+2:0)},$scope.select=function(date){if($scope.datepickerMode===self.minMode){var dt=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),ngModelCtrl.$setViewValue(dt),ngModelCtrl.$render()}else self.activeDate=date,$scope.datepickerMode=self.modes[self.modes.indexOf($scope.datepickerMode)-1]},$scope.move=function(direction){var year=self.activeDate.getFullYear()+direction*(self.step.years||0),month=self.activeDate.getMonth()+direction*(self.step.months||0);self.activeDate.setFullYear(year,month,1),self.refreshView()},$scope.toggleMode=function(direction){direction=direction||1,$scope.datepickerMode===self.maxMode&&1===direction||$scope.datepickerMode===self.minMode&&-1===direction||($scope.datepickerMode=self.modes[self.modes.indexOf($scope.datepickerMode)+direction])},$scope.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var focusElement=function(){self.element[0].focus()};$scope.$on("datepicker.focus",focusElement),$scope.keydown=function(evt){var key=$scope.keys[evt.which];if(key&&!evt.shiftKey&&!evt.altKey)if(evt.preventDefault(),self.shortcutPropagation||evt.stopPropagation(),"enter"
1===key||"space"===key){if(self.isDisabled(self.activeDate))return;$scope.select(self.activeDate),focusElement()}else!evt.ctrlKey||"up"!==key&&"down"!==key?(self.handleKeyDown(key,evt),self.refreshView()):($scope.toggleMode("up"===key?1:-1),focusElement())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["datepicker","^ngModel"],controller:"DatepickerController",controllerAs:"datepicker",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];datepickerCtrl.init(ngModelCtrl)}}}).directive("daypicker",["dateFilter",function(dateFilter){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(scope,element,attrs,ctrl){scope.showWeeks=ctrl.showWeeks,ctrl.step={months:1},ctrl.element=element;var DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31];function getDaysInMonth(year,month){return 1!==month||year%4!=0||year%100==0&&year%400!=0?DAYS_IN_MONTH[month]:29}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}ctrl._refreshView=function(){var year=ctrl.activeDate.getFullYear(),month=ctrl.activeDate.getMonth(),firstDayOfMonth=new Date(year,month,1),difference=ctrl.startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth);numDisplayedFromPreviousMonth>0&&firstDate.setDate(1-numDisplayedFromPreviousMonth);for(var days=function(startDate,n){for(var date,dates=new Array(n),current=new Date(startDate),i=0;i<n;)date=new Date(current),ctrl.fixTimeZone(date),dates[i++]=date,current.setDate(current.getDate()+1);return dates}(firstDate,42),i=0;i<42;i++)days[i]=angular.extend(ctrl.createDateObject(days[i],ctrl.formatDay),{secondary:days[i].getMonth()!==month,uid:scope.uniqueId+"-"+i});scope.labels=new Array(7);for(var j=0;j<7;j++)scope.labels[j]={abbr:dateFilter(days[j].date,ctrl.formatDayHeader),full:dateFilter(days[j].date,"EEEE")};if(scope.title=dateFilter(ctrl.activeDate,ctrl.formatDayTitle),scope.rows=ctrl.split(days,7),scope.showWeeks){scope.weekNumbers=[];for(var thursdayIndex=(11-ctrl.startingDay)%7,numWeeks=scope.rows.length,curWeek=0;curWeek<numWeeks;curWeek++)scope.weekNumbers.push(getISO8601WeekNumber(scope.rows[curWeek][thursdayIndex].date))}},ctrl.compare=function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},ctrl.handleKeyDown=function(key,evt){var date=ctrl.activeDate.getDate();if("left"===key)date-=1;else if("up"===key)date-=7;else if("right"===key)date+=1;else if("down"===key)date+=7;else if("pageup"===key||"pagedown"===key){var month=ctrl.activeDate.getMonth()+("pageup"===key?-1:1);ctrl.activeDate.setMonth(month,1),date=Math.min(getDaysInMonth(ctrl.activeDate.getFullYear(),ctrl.activeDate.getMonth()),date)}else"home"===key?date=1:"end"===key&&(date=getDaysInMonth(ctrl.activeDate.getFullYear(),ctrl.activeDate.getMonth()));ctrl.activeDate.setDate(date)},ctrl.refreshView()}}}]).directive("monthpicker",["dateFilter",function(dateFilter){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/month.html",require:"^datepicker",link:function(scope,element,attrs,ctrl){ctrl.step={years:1},ctrl.element=element,ctrl._refreshView=function(){for(var date,months=new Array(12),year=ctrl.activeDate.getFullYear(),i=0;i<12;i++)date=new Date(year,i,1),ctrl.fixTimeZone(date),months[i]=angular.extend(ctrl.createDateObject(date,ctrl.formatMonth),{uid:scope.uniqueId+"-"+i});scope.title=dateFilter(ctrl.activeDate,ctrl.formatMonthTitle),scope.rows=ctrl.split(months,3)},ctrl.compare=function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth())-new Date(date2.getFullYear(),date2.getMonth())},ctrl.handleKeyDown=function(key,evt){var date=ctrl.activeDate.getMonth();if("left"===key)date-=1;else if("up"===key)date-=3;else if("right"===key)date+=1;else if("down"===key)date+=3;else if("pageup"===key||"pagedown"===key){var year=ctrl.activeDate.getFullYear()+("pageup"===key?-1:1);ctrl.activeDate.setFullYear(year)}else"home"===key?date=0:"end"===key&&(date=11);ctrl.activeDate.setMonth(date)},ctrl.refreshView()}}}]).directive("yearpicker",["dateFilter",function(dateFilter){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(scope,element,attrs,ctrl){var range=ctrl.yearRange;function getStartingYear(year){return parseInt((year-1)/range,10)*range+1}ctrl.step={years:range},ctrl.element=element,ctrl._refreshView=function(){for(var date,years=new Array(range),i=0,start=getStartingYear(ctrl.activeDate.getFullYear());i<range;i++)date=new Date(start+i,0,1),ctrl.fixTimeZone(date),years[i]=angular.extend(ctrl.createDateObject(date,ctrl.formatYear),{uid:scope.uniqueId+"-"+i});scope.title=[years[0].label,years[range-1].label].join(" - "),scope.rows=ctrl.split(years,5)},ctrl.compare=function(date1,date2){return date1.getFullYear()-date2.getFullYear()},ctrl.handleKeyDown=function(key,evt){var date=ctrl.activeDate.getFullYear();"left"===key?date-=1:"up"===key?date-=5:"right"===key?date+=1:"down"===key?date+=5:"pageup"===key||"pagedown"===key?date+=("pageup"===key?-1:1)*ctrl.step.years:"home"===key?date=getStartingYear(ctrl.activeDate.getFullYear()):"end"===key&&(date=getStartingYear(ctrl.activeDate.getFullYear())+range-1),ctrl.activeDate.setFullYear(date)},ctrl.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"template/datepicker/popup.html",datepickerTemplateUrl:"template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0,onOpenFocus:!0}).directive("datepickerPopup",["$compile","$parse","$document","$rootScope","$position","dateFilter","dateParser","datepickerPopupConfig","$timeout",function($compile,$parse,$document,$rootScope,$position,dateFilter,dateParser,datepickerPopupConfig,$timeout){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(scope,element,attrs,ngModel){var dateFormat,closeOnDateSelection=angular.isDefined(attrs.closeOnDateSelection)?scope.$parent.$eval(attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined(attrs.datepickerAppendToBody)?scope.$parent.$eval(attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody,onOpenFocus=angular.isDefined(attrs.onOpenFocus)?scope.$parent.$eval(attrs.onOpenFocus):datepickerPopupConfig.onOpenFocus,datepickerPopupTemplateUrl=angular.isDefined(attrs.datepickerPopupTemplateUrl)?attrs.datepickerPopupTemplateUrl:datepickerPopupConfig.datepickerPopupTemplateUrl,datepickerTemplateUrl=angular.isDefined(attrs.datepickerTemplateUrl)?attrs.datepickerTemplateUrl:datepickerPopupConfig.datepickerTemplateUrl,cache={};scope.showButtonBar=angular.isDefined(attrs.showButtonBar)?scope.$parent.$eval(attrs.showButtonBar):datepickerPopupConfig.showButtonBar,scope.getText=function(key){return scope[key+"Text"]||datepickerPopupConfig[key+"Text"]},scope.isDisabled=function(date){return"today"===date&&(date=new Date),scope.watchData.minDate&&scope.compare(date,cache.minDate)<0||scope.watchData.maxDate&&scope.compare(date,cache.maxDate)>0},scope.compare=function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())};var isHtml5DateInput=!1;if(datepickerPopupConfig.html5Types[attrs.type]?(dateFormat=datepickerPopupConfig.html5Types[attrs.type],isHtml5DateInput=!0):(dateFormat=attrs.datepickerPopup||datepickerPopupConfig.datepickerPopup,attrs.$observe("datepickerPopup",function(value,oldValue){var newDateFormat=value||datepickerPopupConfig.datepickerPopup;if(newDateFormat!==dateFormat&&(dateFormat=newDateFormat,ngModel.$modelValue=null,!dateFormat))throw new Error("datepickerPopup must have a date format specified.")})),!dateFormat)throw new Error("datepickerPopup must have a date format specified.");if(isHtml5DateInput&&attrs.datepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");var popupEl=angular.element("<div datepicker-popup-wrap><div datepicker></div></div>");function cameltoDash(string){return string.replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}popupEl.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":datepickerPopupTemplateUrl});var datepickerEl=angular.element(popupEl.children()[0]);if(datepickerEl.attr("template-url",datepickerTemplateUrl),isHtml5DateInput&&"month"===attrs.type&&(datepickerEl.attr("datepicker-mode",'"month"'),datepickerEl.attr("min-mode","month")),attrs.datepickerOptions){var options=scope.$parent.$eval(attrs.datepickerOptions);options&&options.initDate&&(scope.initDate=options.initDate,datepickerEl.attr("init-date","initDate"),delete options.initDate),angular.forEach(options,function(value,option){datepickerEl.attr(cameltoDash(option),value)})}scope.watchData={},angular.forEach(["minMode","maxMode","minDate","maxDate","datepickerMode","initDate","shortcutPropagation"],function(key){if(attrs[key]){var getAttribute=$parse(attrs[key]);if(scope.$parent.$watch(getAttribute,function(value){scope.watchData[key]=value,"minDate"!==key&&"maxDate"!==key||(cache[key]=new Date(value))}),datepickerEl.attr(cameltoDash(key),"watchData."+key),"datepickerMode"===key){var setAttribute=getAttribute.assign;scope.$watch("watchData."+key,function(value,oldvalue){angular.isFunction(setAttribute)&&value!==oldvalue&&setAttribute(scope.$parent,value)})}}}),attrs.dateDisabled&&datepickerEl.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),attrs.showWeeks&&datepickerEl.attr("show-weeks",attrs.showWeeks),attrs.customClass&&datepickerEl.attr("custom-class","customClass({ date: date, mode: mode })"),isHtml5DateInput?ngModel.$formatters.push(function(value){return scope.date=value,value}):(ngModel.$$parserName="date",ngModel.$validators.date=function(modelValue,viewValue){var value=modelValue||viewValue;if(!attrs.ngRequired&&!value)return!0;
1if(angular.isNumber(value)&&(value=new Date(value)),value){if(angular.isDate(value)&&!isNaN(value))return!0;if(angular.isString(value)){var date=dateParser.parse(value,dateFormat);return!isNaN(date)}return!1}return!0},ngModel.$parsers.unshift(function(viewValue){if(angular.isNumber(viewValue)&&(viewValue=new Date(viewValue)),!viewValue)return null;if(angular.isDate(viewValue)&&!isNaN(viewValue))return viewValue;if(angular.isString(viewValue)){var date=dateParser.parse(viewValue,dateFormat,scope.date);return isNaN(date)?void 0:date}}),ngModel.$formatters.push(function(value){return scope.date=value,ngModel.$isEmpty(value)?value:dateFilter(value,dateFormat)})),scope.dateSelection=function(dt){angular.isDefined(dt)&&(scope.date=dt);var date=scope.date?dateFilter(scope.date,dateFormat):null;element.val(date),ngModel.$setViewValue(date),closeOnDateSelection&&(scope.isOpen=!1,element[0].focus())},ngModel.$viewChangeListeners.push(function(){scope.date=dateParser.parse(ngModel.$viewValue,dateFormat,scope.date)});var documentClickBind=function(event){!scope.isOpen||element[0].contains(event.target)||popupEl[0].contains(event.target)||scope.$apply(function(){scope.isOpen=!1})},inputKeydownBind=function(evt){27===evt.which&&scope.isOpen?(evt.preventDefault(),evt.stopPropagation(),scope.$apply(function(){scope.isOpen=!1}),element[0].focus()):40!==evt.which||scope.isOpen||(evt.preventDefault(),evt.stopPropagation(),scope.$apply(function(){scope.isOpen=!0}))};element.bind("keydown",inputKeydownBind),scope.keydown=function(evt){27===evt.which&&(scope.isOpen=!1,element[0].focus())},scope.$watch("isOpen",function(value){value?(scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight"),$timeout(function(){onOpenFocus&&scope.$broadcast("datepicker.focus"),$document.bind("click",documentClickBind)},0,!1)):$document.unbind("click",documentClickBind)}),scope.select=function(date){if("today"===date){var today=new Date;angular.isDate(scope.date)?(date=new Date(scope.date)).setFullYear(today.getFullYear(),today.getMonth(),today.getDate()):date=new Date(today.setHours(0,0,0,0))}scope.dateSelection(date)},scope.close=function(){scope.isOpen=!1,element[0].focus()};var $popup=$compile(popupEl)(scope);popupEl.remove(),appendToBody?$document.find("body").append($popup):element.after($popup),scope.$on("$destroy",function(){!0===scope.isOpen&&($rootScope.$$phase||scope.$apply(function(){scope.isOpen=!1})),$popup.remove(),element.unbind("keydown",inputKeydownBind),$document.unbind("click",documentClickBind)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"template/datepicker/popup.html"}}}),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document","$rootScope",function($document,$rootScope){var openScope=null;this.open=function(dropdownScope){openScope||($document.bind("click",closeDropdown),$document.bind("keydown",keybindFilter)),openScope&&openScope!==dropdownScope&&(openScope.isOpen=!1),openScope=dropdownScope},this.close=function(dropdownScope){openScope===dropdownScope&&(openScope=null,$document.unbind("click",closeDropdown),$document.unbind("keydown",keybindFilter))};var closeDropdown=function(evt){if(openScope&&(!evt||"disabled"!==openScope.getAutoClose())){var toggleElement=openScope.getToggleElement();if(!(evt&&toggleElement&&toggleElement[0].contains(evt.target))){var dropdownElement=openScope.getDropdownElement();evt&&"outsideClick"===openScope.getAutoClose()&&dropdownElement&&dropdownElement[0].contains(evt.target)||(openScope.isOpen=!1,$rootScope.$$phase||openScope.$apply())}}},keybindFilter=function(evt){27===evt.which?(openScope.focusToggleElement(),closeDropdown()):openScope.isKeynavEnabled()&&/(38|40)/.test(evt.which)&&openScope.isOpen&&(evt.preventDefault(),evt.stopPropagation(),openScope.focusDropdownEntry(evt.which))}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate","$position","$document","$compile","$templateRequest",function($scope,$attrs,$parse,dropdownConfig,dropdownService,$animate,$position,$document,$compile,$templateRequest){var templateScope,getIsOpen,self=this,scope=$scope.$new(),openClass=dropdownConfig.openClass,setIsOpen=angular.noop,toggleInvoker=$attrs.onToggle?$parse($attrs.onToggle):angular.noop,appendToBody=!1,keynavEnabled=!1,body=$document.find("body");this.init=function(element){self.$element=element,$attrs.isOpen&&(getIsOpen=$parse($attrs.isOpen),setIsOpen=getIsOpen.assign,$scope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),appendToBody=angular.isDefined($attrs.dropdownAppendToBody),keynavEnabled=angular.isDefined($attrs.keyboardNav),appendToBody&&self.dropdownMenu&&(body.append(self.dropdownMenu),body.addClass("dropdown"),element.on("$destroy",function(){self.dropdownMenu.remove()}))},this.toggle=function(open){return scope.isOpen=arguments.length?!!open:!scope.isOpen},this.isOpen=function(){return scope.isOpen},scope.getToggleElement=function(){return self.toggleElement},scope.getAutoClose=function(){return $attrs.autoClose||"always"},scope.getElement=function(){return self.$element},scope.isKeynavEnabled=function(){return keynavEnabled}
1,scope.focusDropdownEntry=function(keyCode){var elems=self.dropdownMenu?angular.element(self.dropdownMenu).find("a"):angular.element(self.$element).find("ul").eq(0).find("a");switch(keyCode){case 40:angular.isNumber(self.selectedOption)?self.selectedOption=self.selectedOption===elems.length-1?self.selectedOption:self.selectedOption+1:self.selectedOption=0;break;case 38:angular.isNumber(self.selectedOption)?self.selectedOption=0===self.selectedOption?0:self.selectedOption-1:self.selectedOption=elems.length-1}elems[self.selectedOption].focus()},scope.getDropdownElement=function(){return self.dropdownMenu},scope.focusToggleElement=function(){self.toggleElement&&self.toggleElement[0].focus()},scope.$watch("isOpen",function(isOpen,wasOpen){if(appendToBody&&self.dropdownMenu){var pos=$position.positionElements(self.$element,self.dropdownMenu,"bottom-left",!0),css={top:pos.top+"px",display:isOpen?"block":"none"};self.dropdownMenu.hasClass("dropdown-menu-right")?(css.left="auto",css.right=window.innerWidth-(pos.left+self.$element.prop("offsetWidth"))+"px"):(css.left=pos.left+"px",css.right="auto"),self.dropdownMenu.css(css)}var openContainer=appendToBody?body:self.$element;if($animate[isOpen?"addClass":"removeClass"](openContainer,openClass).then(function(){angular.isDefined(isOpen)&&isOpen!==wasOpen&&toggleInvoker($scope,{open:!!isOpen})}),isOpen)self.dropdownMenuTemplateUrl&&$templateRequest(self.dropdownMenuTemplateUrl).then(function(tplContent){templateScope=scope.$new(),$compile(tplContent.trim())(templateScope,function(dropdownElement){var newEl=dropdownElement;self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl})}),scope.focusToggleElement(),dropdownService.open(scope);else{if(self.dropdownMenuTemplateUrl){templateScope&&templateScope.$destroy();var newEl=angular.element('<ul class="dropdown-menu"></ul>');self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl}dropdownService.close(scope),self.selectedOption=null}angular.isFunction(setIsOpen)&&setIsOpen($scope,isOpen)}),$scope.$on("$locationChangeSuccess",function(){"disabled"!==scope.getAutoClose()&&(scope.isOpen=!1)});var offDestroy=$scope.$on("$destroy",function(){scope.$destroy()});scope.$on("$destroy",offDestroy)}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(scope,element,attrs,dropdownCtrl){dropdownCtrl.init(element),element.addClass("dropdown")}}}).directive("dropdownMenu",function(){return{restrict:"AC",require:"?^dropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl){var tplUrl=attrs.templateUrl;tplUrl&&(dropdownCtrl.dropdownMenuTemplateUrl=tplUrl),dropdownCtrl.dropdownMenu||(dropdownCtrl.dropdownMenu=element)}}}}).directive("keyboardNav",function(){return{restrict:"A",require:"?^dropdown",link:function(scope,element,attrs,dropdownCtrl){element.bind("keydown",function(e){if(-1!==[38,40].indexOf(e.which)){e.preventDefault(),e.stopPropagation();var elems=dropdownCtrl.dropdownMenu.find("a");switch(e.which){case 40:angular.isNumber(dropdownCtrl.selectedOption)?dropdownCtrl.selectedOption=dropdownCtrl.selectedOption===elems.length-1?dropdownCtrl.selectedOption:dropdownCtrl.selectedOption+1:dropdownCtrl.selectedOption=0;break;case 38:angular.isNumber(dropdownCtrl.selectedOption)?dropdownCtrl.selectedOption=0===dropdownCtrl.selectedOption?0:dropdownCtrl.selectedOption-1:dropdownCtrl.selectedOption=elems.length-1}elems[dropdownCtrl.selectedOption].focus()}})}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl){element.addClass("dropdown-toggle"),dropdownCtrl.toggleElement=element;var toggleDropdown=function(event){event.preventDefault(),element.hasClass("disabled")||attrs.disabled||scope.$apply(function(){dropdownCtrl.toggle()})};element.bind("click",toggleDropdown),element.attr({"aria-haspopup":!0,"aria-expanded":!1}),scope.$watch(dropdownCtrl.isOpen,function(isOpen){element.attr("aria-expanded",!!isOpen)}),scope.$on("$destroy",function(){element.unbind("click",toggleDropdown)})}}}}),angular.module("ui.bootstrap.modal",[]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i<stack.length;i++)if(key==stack[i].key)return stack[i]},keys:function(){for(var keys=[],i=0;i<stack.length;i++)keys.push(stack[i].key);return keys},top:function(){return stack[stack.length-1]},remove:function(key){for(var idx=-1,i=0;i<stack.length;i++)if(key==stack[i].key){idx=i;break}return stack.splice(idx,1)[0]},removeTop:function(){return stack.splice(stack.length-1,1)[0]},length:function(){return stack.length}}}}}).factory("$$multiMap",function(){return{createNew:function(){var map={};return{entries:function(){return Object.keys(map).map(function(key){return{key:key,value:map[key]}})},get:function(key){return map[key]},hasKey:function(key){return!!map[key]},keys:function(){return Object.keys(map)},put:function(key,value){map[key]||(map[key]=[]),map[key].push(value)},remove:function(key,value){var values=map[key];if(values){var idx=values.indexOf(value);-1!==idx&&values.splice(idx,1),values.length||delete map[key]}}}}}}).directive("modalBackdrop",["$animate","$injector","$modalStack",function($animate,$injector,$modalStack){var $animateCss=null;return $injector.has("$animateCss")&&($animateCss=$injector.get("$animateCss")),{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",compile:function(tElement,tAttrs){return tElement.addClass(tAttrs.backdropClass),linkFn}};function linkFn(scope,element,attrs){attrs.modalInClass&&($animateCss?$animateCss(element,{addClass:attrs.modalInClass}).start():$animate.addClass(element,attrs.modalInClass),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();$animateCss?$animateCss(element,{removeClass:attrs.modalInClass}).start().then(done):$animate.removeClass(element,attrs.modalInClass).then(done)}))}}]).directive("modalWindow",["$modalStack","$q","$animate","$injector",function($modalStack,$q,$animate,$injector){var $animateCss=null;return $injector.has("$animateCss")&&($animateCss=$injector.get("$animateCss")),{restrict:"EA",scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(tElement,tAttrs){return tAttrs.templateUrl||"template/modal/window.html"},link:function(scope,element,attrs){element.addClass(attrs.windowClass||""),scope.size=attrs.size,scope.close=function(evt){var modal=$modalStack.getTop();modal&&modal.value.backdrop&&"static"!==modal.value.backdrop&&evt.target===evt.currentTarget&&(evt.preventDefault(),evt.stopPropagation(),$modalStack.dismiss(modal.key,"backdrop click"))},scope.$isRendered=!0;var modalRenderDeferObj=$q.defer();attrs.$observe("modalRender",function(value){"true"==value&&modalRenderDeferObj.resolve()}),modalRenderDeferObj.promise.then(function(){var animationPromise=null;attrs.modalInClass&&(animationPromise=$animateCss?$animateCss(element,{addClass:attrs.modalInClass}).start():$animate.addClass(element,attrs.modalInClass),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();$animateCss?$animateCss(element,{removeClass:attrs.modalInClass}).start().then(done):$animate.removeClass(element,attrs.modalInClass).then(done)})),$q.when(animationPromise).then(function(){var inputsWithAutofocus=element[0].querySelectorAll("[autofocus]");inputsWithAutofocus.length?inputsWithAutofocus[0].focus():element[0].focus()});var modal=$modalStack.getTop();modal&&$modalStack.modalRendered(modal.key)})}}}]).directive("modalAnimationClass",[function(){return{compile:function(tElement,tAttrs){tAttrs.modalAnimation&&tElement.addClass(tAttrs.modalAnimationClass)}}}]).directive("modalTransclude",function(){return{link:function($scope,$element,$attrs,controller,$transclude){$transclude($scope.$parent,function(clone){$element.empty(),$element.append(clone)})}}}).factory("$modalStack",["$animate","$timeout","$document","$compile","$rootScope","$q","$injector","$$multiMap","$$stackedMap",function($animate,$timeout,$document,$compile,$rootScope,$q,$injector,$$multiMap,$$stackedMap){var $animateCss=null;$injector.has("$animateCss")&&($animateCss=$injector.get("$animateCss"));var backdropDomEl,backdropScope,focusableElementList,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),openedClasse
1s=$$multiMap.createNew(),$modalStack={NOW_CLOSING_EVENT:"modal.stack.now-closing"};function backdropIndex(){for(var topBackdropIndex=-1,opened=openedWindows.keys(),i=0;i<opened.length;i++)openedWindows.get(opened[i]).value.backdrop&&(topBackdropIndex=i);return topBackdropIndex}function removeModalWindow(modalInstance,elementToReceiveFocus){var body=$document.find("body").eq(0),modalWindow=openedWindows.get(modalInstance).value;openedWindows.remove(modalInstance),removeAfterAnimate(modalWindow.modalDomEl,modalWindow.modalScope,function(){var modalBodyClass=modalWindow.openedClass||OPENED_MODAL_CLASS;openedClasses.remove(modalBodyClass,modalInstance),body.toggleClass(modalBodyClass,openedClasses.hasKey(modalBodyClass))}),function(){if(backdropDomEl&&-1==backdropIndex()){removeAfterAnimate(backdropDomEl,backdropScope,function(){null}),backdropDomEl=void 0,backdropScope=void 0}}(),elementToReceiveFocus&&elementToReceiveFocus.focus?elementToReceiveFocus.focus():body.focus()}function removeAfterAnimate(domEl,scope,done){var asyncDeferred,asyncPromise=null;return scope.$broadcast($modalStack.NOW_CLOSING_EVENT,function(){return asyncDeferred||(asyncDeferred=$q.defer(),asyncPromise=asyncDeferred.promise),function(){asyncDeferred.resolve()}}),$q.when(asyncPromise).then(function afterAnimating(){if(afterAnimating.done)return;afterAnimating.done=!0;$animateCss?$animateCss(domEl,{event:"leave"}).start().then(function(){domEl.remove()}):$animate.leave(domEl);scope.$destroy();done&&done()})}function broadcastClosing(modalWindow,resultOrReason,closing){return!modalWindow.value.modalScope.$broadcast("modal.closing",resultOrReason,closing).defaultPrevented}return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){if(evt.isDefaultPrevented())return evt;var modal=openedWindows.top();if(modal&&modal.value.keyboard)switch(evt.which){case 27:evt.preventDefault(),$rootScope.$apply(function(){$modalStack.dismiss(modal.key,"escape key press")});break;case 9:$modalStack.loadFocusElementList(modal);var focusChanged=!1;evt.shiftKey?$modalStack.isFocusInFirstItem(evt)&&(focusChanged=$modalStack.focusLastFocusableElement()):$modalStack.isFocusInLastItem(evt)&&(focusChanged=$modalStack.focusFirstFocusableElement()),focusChanged&&(evt.preventDefault(),evt.stopPropagation())}}),$modalStack.open=function(modalInstance,modal){var modalOpener=$document[0].activeElement,modalBodyClass=modal.openedClass||OPENED_MODAL_CLASS;openedWindows.add(modalInstance,{deferred:modal.deferred,renderDeferred:modal.renderDeferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard,openedClass:modal.openedClass}),openedClasses.put(modalBodyClass,modalInstance);var body=$document.find("body").eq(0),currBackdropIndex=backdropIndex();if(currBackdropIndex>=0&&!backdropDomEl){(backdropScope=$rootScope.$new(!0)).index=currBackdropIndex;var angularBackgroundDomEl=angular.element('<div modal-backdrop="modal-backdrop"></div>');angularBackgroundDomEl.attr("backdrop-class",modal.backdropClass),modal.animation&&angularBackgroundDomEl.attr("modal-animation","true"),backdropDomEl=$compile(angularBackgroundDomEl)(backdropScope),body.append(backdropDomEl)}var angularDomEl=angular.element('<div modal-window="modal-window"></div>');angularDomEl.attr({"template-url":modal.windowTemplateUrl,"window-class":modal.windowClass,size:modal.size,index:openedWindows.length()-1,animate:"animate"}).html(modal.content),modal.animation&&angularDomEl.attr("modal-animation","true");var modalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,openedWindows.top().value.modalOpener=modalOpener,body.append(modalDomEl),body.addClass(modalBodyClass),$modalStack.clearFocusListCache()},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance);return modalWindow&&broadcastClosing(modalWindow,result,!0)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.resolve(result),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance);return modalWindow&&broadcastClosing(modalWindow,reason,!1)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.reject(reason),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal&&this.dismiss(topModal.key,reason);)topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack.modalRendered=function(modalInstance){var modalWindow=openedWindows.get(modalInstance);modalWindow&&modalWindow.value.renderDeferred.resolve()},$modalStack.focusFirstFocusableElement=function(){return focusableElementList.length>0&&(focusableElementList[0].focus(),!0)},$modalStack.focusLastFocusableElement=function(){return focusableElementList.length>0&&(focusableElementList[focusableElementList.length-1].focus(),!0)},$modalStack.isFocusInFirstItem=function(evt){return focusableElementList.length>0&&(evt.target||evt.srcElement)==focusableElementList[0]},$modalStack.isFocusInLastItem=function(evt){return focusableElementList.length>0&&(evt.target||evt.srcElement)==focusableElementList[focusableElementList.length-1]},$modalStack.clearFocusListCache=function(){focusableElementList=[],0},$modalStack.loadFocusElementList=function(modalWindow){if((void 0===focusableElementList||!focusableElementList.length0)&&modalWindow){var modalDomE1=modalWindow.value.modalDomEl;modalDomE1&&modalDomE1.length&&(focusableElementList=modalDomE1[0].querySelectorAll("a[href], area[href], input
1:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]"))}},$modalStack}]).provider("$modal",function(){var $modalProvider={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$templateRequest","$controller","$modalStack",function($injector,$rootScope,$q,$templateRequest,$controller,$modalStack){var $modal={};var promiseChain=null;return $modal.getPromiseChain=function(){return promiseChain},$modal.open=function(modalOptions){var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalRenderDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,rendered:modalRenderDeferred.promise,close:function(result){return $modalStack.close(modalInstance,result)},dismiss:function(reason){return $modalStack.dismiss(modalInstance,reason)}};if((modalOptions=angular.extend({},$modalProvider.options,modalOptions)).resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of template or templateUrl options is required.");var resolves,promisesArr,options,samePromise,templateAndResolvePromise=$q.all([(options=modalOptions,options.template?$q.when(options.template):$templateRequest(angular.isFunction(options.templateUrl)?options.templateUrl():options.templateUrl))].concat((resolves=modalOptions.resolve,promisesArr=[],angular.forEach(resolves,function(value){angular.isFunction(value)||angular.isArray(value)?promisesArr.push($q.when($injector.invoke(value))):angular.isString(value)?promisesArr.push($q.when($injector.get(value))):promisesArr.push($q.when(value))}),promisesArr)));return samePromise=promiseChain=$q.all([promiseChain]).then(function(){return templateAndResolvePromise},function(){return templateAndResolvePromise}).then(function(tplAndVars){var modalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss,modalScope.$on("$destroy",function(){modalScope.$$uibDestructionScheduled||modalScope.$dismiss("$uibUnscheduledDestruction")});var ctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals),modalOptions.controllerAs&&(modalOptions.bindToController&&angular.extend(ctrlInstance,modalScope),modalScope[modalOptions.controllerAs]=ctrlInstance)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,renderDeferred:modalRenderDeferred,content:tplAndVars[0],animation:modalOptions.animation,backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,backdropClass:modalOptions.backdropClass,windowClass:modalOptions.windowClass,windowTemplateUrl:modalOptions.windowTemplateUrl,size:modalOptions.size,openedClass:modalOptions.openedClass}),modalOpenedDeferred.resolve(!0)},function(reason){modalOpenedDeferred.reject(reason),modalResultDeferred.reject(reason)}).finally(function(){promiseChain===samePromise&&(promiseChain=null)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function($scope,$attrs,$parse){var self=this,ngModelCtrl={$setViewValue:angular.noop},setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(ngModelCtrl_,config){ngModelCtrl=ngModelCtrl_,this.config=config,ngModelCtrl.$render=function(){self.render()},$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=config.itemsPerPage,$scope.$watch("totalItems",function(){$scope.totalPages=self.calculateTotalPages()}),$scope.$watch("totalPages",function(value){setNumPages($scope.$parent,value),$scope.page>value?$scope.selectPage(value):ngModelCtrl.$render()})},this.calculateTotalPages=function(){var totalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);return Math.max(totalPages||0,1)},this.render=function(){$scope.page=parseInt(ngModelCtrl.$viewValue,10)||1},$scope.selectPage=function(page,evt){evt&&evt.preventDefault(),(!$scope.ngDisabled||!evt)&&$scope.page!==page&&page>0&&page<=$scope.totalPages&&(evt&&evt.target&&evt.target.blur(),ngModelCtrl.$setViewValue(page),ngModelCtrl.$render())},$scope.getText=function(key){return $scope[key+"Text"]||self.config[key+"Text"]},$scope.noPrevious=function(){return 1===$scope.page},$scope.noNext=function(){return $scope.page===$scope.totalPages}}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function($parse,paginationConfig){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["pagination","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(element,attrs){return attrs.templateUrl||"template/pagination/pagination.html"},replace:!0,link:function(scope,element,attrs,ctrls){var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];if(ngModelCtrl){var maxSize=angular.isDefined(attrs.maxSize)?scope.$parent.$eval(attrs.maxSize):paginationConfig.maxSize,rotate=angular.isDefined(attrs.rotate)?scope.$parent.$eval(attrs.rotate):paginationConfig.rotate;scope.boundaryLinks=angular.isDefined(attrs.boundaryLinks)?scope.$parent.$eval(attrs.boundaryLinks):paginationConfig.boun
1daryLinks,scope.directionLinks=angular.isDefined(attrs.directionLinks)?scope.$parent.$eval(attrs.directionLinks):paginationConfig.directionLinks,paginationCtrl.init(ngModelCtrl,paginationConfig),attrs.maxSize&&scope.$parent.$watch($parse(attrs.maxSize),function(value){maxSize=parseInt(value,10),paginationCtrl.render()});var originalRender=paginationCtrl.render;paginationCtrl.render=function(){originalRender(),scope.page>0&&scope.page<=scope.totalPages&&(scope.pages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&maxSize<totalPages;isMaxSized&&(rotate?(endPage=(startPage=Math.max(currentPage-Math.floor(maxSize/2),1))+maxSize-1)>totalPages&&(startPage=(endPage=totalPages)-maxSize+1):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;number<=endPage;number++){var page=makePage(number,number,number===currentPage);pages.push(page)}if(isMaxSized&&!rotate){if(startPage>1){var previousPageSet=makePage(startPage-1,"...",!1);pages.unshift(previousPageSet)}if(endPage<totalPages){var nextPageSet=makePage(endPage+1,"...",!1);pages.push(nextPageSet)}}return pages}(scope.page,scope.totalPages))}}function makePage(number,text,isActive){return{number:number,text:text,active:isActive}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(pagerConfig){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["pager","?ngModel"],controller:"PaginationController",controllerAs:"pagination",templateUrl:function(element,attrs){return attrs.templateUrl||"template/pagination/pager.html"},replace:!0,link:function(scope,element,attrs,ctrls){var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&(scope.align=angular.isDefined(attrs.align)?scope.$parent.$eval(attrs.align):pagerConfig.align,paginationCtrl.init(ngModelCtrl,pagerConfig))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){var defaultOptions={placement:"top",animation:!0,popupDelay:0,useContentExp:!1},triggerMap={mouseenter:"mouseleave",click:"click",focus:"blur",none:""},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$document","$position","$interpolate","$rootScope","$parse",function($window,$compile,$timeout,$document,$position,$interpolate,$rootScope,$parse){return function(type,prefix,defaultTriggerShow,options){function getTriggers(trigger){var show=(trigger||options.trigger||defaultTriggerShow).split(" ");return{show:show,hide:show.map(function(trigger){return triggerMap[trigger]||trigger})}}options=angular.extend({},defaultOptions,globalOptions,options);var directiveName=type.replace(/[A-Z]/g,function(letter,pos){return(pos?"-":"")+letter.toLowerCase()}),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="<div "+directiveName+'-popup title="'+startSym+"title"+endSym+'" '+(options.useContentExp?'content-exp="contentExp()" ':'content="'+startSym+"content"+endSym+'" ')+'placement="'+startSym+"placement"+endSym+'" popup-class="'+startSym+"popupClass"+endSym+'" animation="animation" is-open="isOpen"origin-scope="origScope" ></div>';return{restrict:"EA",compile:function(tElem,tAttrs){var tooltipLinker=$compile(template);return function(scope,element,attrs,tooltipCtrl){var tooltip,tooltipLinkedScope,transitionTimeout,popupTimeout,positionTimeout,appendToBody=!!angular.isDefined(options.appendToBody)&&options.appendToBody,triggers=getTriggers(void 0),hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),ttScope=scope.$new(!0),repositionScheduled=!1,isOpenExp=!!angular.isDefined(attrs[prefix+"IsOpen"])&&$parse(attrs[prefix+"IsOpen"]),positionTooltip=function(){tooltip&&(positionTimeout||(positionTimeout=$timeout(function(){tooltip.css({top:0,left:0,width:"auto",height:"auto"});var ttBox=$position.position(tooltip),ttCss=$position.positionElements(element,tooltip,ttScope.placement,appendToBody);ttCss.top+="px",ttCss.left+="px",ttCss.width=ttBox.width+"px",ttCss.height=ttBox.height+"px",tooltip.css(ttCss),positionTimeout=null},0,!1)))};function toggleTooltipBind(){ttScope.isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){var val,delay;hasEnableExp&&!scope.$eval(attrs[prefix+"Enable"])||(ttScope.popupClass=attrs[prefix+"Class"],prepPlacement(),val=attrs[prefix+"PopupDelay"],delay=parseInt(val,10),ttScope.popupDelay=isNaN(delay)?options.popupDelay:delay,ttScope.popupDelay?popupTimeout||(popupTimeout=$timeout(show,ttScope.popupDelay,!1)):show())}function hideTooltipBind(){hide(),$rootScope.$$phase||$rootScope.$digest()}function show(){if(popupTimeout=null,transitionTimeout&&($timeout.cancel(transitionTimeout),transitionTimeout=null),!(options.useContentExp?ttScope.contentExp():ttScope.content))return angular.noop;!function(){tooltip&&removeTooltip();tooltipLinkedScope=ttScope.$new(),tooltip=tooltipLinker(tooltipLinkedScope,function(tooltip){appendToBody?$document.find("body").append(tooltip):element.after(tooltip)}),options.useContentExp&&(tooltipLinkedScope.$watch("contentExp()",function(val){!val&&ttScope.isOpen&&hide()}),tooltipLinkedScope.$watch(function(){repositionScheduled||(repositionScheduled=!0,tooltipLinkedScope.$$postDigest(function(){repositionScheduled=!1,ttScope.isOpen&&positionTooltip()}))}))}(),ttScope.isOpen=!0,isOpenExp&&isOpenExp.assign(ttScope.origScope,ttScope.isOpen),$rootScope.$$phase||ttScope.$apply(),tooltip.css({display:"block"}),positionTooltip()}function hide(){ttScope.isOpen=!1,isOpenExp&&isOpenExp.assign(ttScope.origScope,ttScope.isOpen),$timeout.cancel(popupTimeout),popupTimeout=null,$timeout.cancel(positionTimeout),positionTimeout=null,ttScope.animation?transitionTimeout||(transitionTimeout=$timeout(removeTooltip,500)):removeTooltip()}function removeTooltip(){transitionTimeout=null,tooltip&&(tooltip.remove(),tooltip=null),tooltipLinkedScope&&(tooltipLinkedScope.$destroy(),tooltipLinkedScope=null)}function prepPlacement(){var val=attrs[prefix+"Placement"];ttScope.placement=angular.isDefined(val)?val:options.placement}ttScope.origScope=scope,ttScope.isOpen=!1,ttScope.contentExp=function(){return scope.$eval(attrs[type])},options.useContentExp||attrs.$observe(type,function(val){ttScope.content=val,!val&&ttScope.isOpen?hide():positionTooltip()}),attrs.$observe("disabled",function(val){popupTimeout&&val&&($timeout.cancel(popupTimeout),popupTimeout=null),val&&ttScope.isOpen&&hide()}),attrs.$observe(prefix+"Title",function(val){ttScope.title=val,positionTooltip()}),attrs.$observe(prefix+"Placement",function(){ttScope.isOpen&&(prepPlacement(),positionTooltip())}),isOpenExp&&scope.$watch(isOpenExp,function(val){val!==ttScope.isOpen&&toggleTooltipBind()});var val,unregisterTriggers=function(){triggers.show.forEach(function(trigger){element.unbind(trigger,showTooltipBind)}),triggers.hide.forEach(function(trigger){element.unbind(trigger,hideTooltipBind)})};val=attrs[prefix+"Trigger"],unregisterTriggers(),"none"!==(triggers=getTriggers(val)).show&&triggers.show.forEach(function(trigger,idx){trigger===triggers.hide[idx]?element[0].addEventListener(trigger,toggleTooltipBind):trigger&&(element[0].addEventListener(trigger,showTooltipBind),element[0].addEventListener(triggers.hide[idx],hideTooltipBind))});var animation=scope.$eval(attrs[prefix+"Animation"]);ttScope.animation=angular.isDefined(animation)?!!animation:options.animation;var appendToBodyVal=scope.$eval(attrs[prefix+"AppendToBody"]);(appendToBody=angular.isDefined(appendToBodyVal)?appendToBodyVal:appendToBody)&&scope.$on("$locationChangeSuccess",function(){ttScope.isOpen&&hide()}),scope.$on("$destroy",function(){$timeout.cancel(transitionTimeout),$timeout.cancel(popupTimeout),$timeout.cancel(positionTimeout),unregisterTriggers(),removeTooltip(),ttScope=null})}}}}}]}).directive("tooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function($animate,$sce,$compile,$templateRequest){return{link:function(scope,elem,attrs){var currentScope,previousElement,currentElement,origScope=scope.$eval(attrs.tooltipTemplateTranscludeScope),changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).then(function(){previousElement=null}),previousElement=currentElement,currentElement=null)};scope.$watch($sce.parseAsResourceUrl(attrs.tooltipTemplateTransclude),function(src){var thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(thisChangeId===changeCounter){var newScope=origScope.$new(),clone=$compile(response)(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,elem)});currentElement=clone,(currentScope=newScope).$emit("$includeContentLoaded",src)}},function(){thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):cleanupLastIncludeContent()}),scope.$on("$destroy",cleanupLastIncludeContent)}}}]).directive("tooltipClasses",function(){return{restrict:"A",link:function(scope,element,attrs){scope.placement&&element.addClass(scope.placement),scope.popupClass&&element.addClass(scope.popupClass),scope.animation()&&element.addClass(attrs.tooltipAnimationClass)}}}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function($tooltip){return $tooltip("tooltip","tooltip","mouseenter")}]).directive("tooltipTemplatePopup",function(){return{restrict:"EA",replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/tooltip/tooltip-template-popup.html"}}).directive("tooltipTemplate",["$tooltip",function($tooltip){return $tooltip("tooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("tooltipHtmlPopup",function(){return{restrict:"EA",replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-popup.html"}}).directive("tooltipHtml",["$tooltip",function($tooltip){return $tooltip("tooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).value("tooltipHtmlUnsafeSuppressDeprecated",!1).directive("tooltipHtmlUnsafe",["$tooltip","tooltipHtmlUnsafeSuppressDeprecated","$log",function($tooltip,tooltipHtmlUnsafeSuppressDeprecated,$log){return tooltipHtmlUnsafeSuppressDeprecated||$log.warn("tooltip-html-unsafe is now deprecated. Use tooltip-html or tooltip-template instead."),$tooltip("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverTemplatePopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"template/popover/popover-template.html"}}).directive("popoverTemplate",["$tooltip",function($tooltip){return $tooltip("popoverTemplate","popover","click",{useContentExp:!0})}]).directive("popoverHtmlPopup",function(){return{restrict:"EA",replace:!0,scope:{contentExp:"&",title:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover-html.html"}}).directive("popoverHtml",["$tooltip",function($tooltip){return $tooltip("popoverHtml","popover","click",{useContentExp:!0})}]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function($tooltip){return $tooltip("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).value("$progressSuppressWarning",!1).controller("ProgressController",["$scope","$attrs","progressConfig",function($scope,$attrs,progressConfig){var self=this,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.bars=[],$scope.max=angular.isDefined($scope.max)?$scope.max:progressConfig.max,this.addBar=function(bar,element){animate||element.css({transition:"none"}),this.bars.push(bar),bar.max=$scope.max,bar.$watch("value",function(value){bar.recalculatePercentage()}),bar.recalculatePercentage=function(){bar.percent=+(100*bar.value/bar.max).toFixed(2);var totalPercentage=self.bars.reduce(function(total,bar){return total+bar.percent},0);totalPercentage>100&&(bar.percent-=totalPercentage-100)},bar.$on("$destroy",function(){element=null,self.removeBar(bar)})},this.removeBar=function(bar){this.bars.splice(this.bars.indexOf(bar),1)}
1,$scope.$watch("max",function(max){self.bars.forEach(function(bar){bar.max=$scope.max,bar.recalculatePercentage()})})}]).directive("uibProgress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"uibProgress",scope:{max:"=?"},templateUrl:"template/progressbar/progress.html"}}).directive("progress",["$log","$progressSuppressWarning",function($log,$progressSuppressWarning){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{max:"=?"},templateUrl:"template/progressbar/progress.html",link:function(){$progressSuppressWarning&&$log.warn("progress is now deprecated. Use uib-progress instead")}}}]).directive("uibBar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element)}}}).directive("bar",["$log","$progressSuppressWarning",function($log,$progressSuppressWarning){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){$progressSuppressWarning&&$log.warn("bar is now deprecated. Use uib-bar instead"),progressCtrl.addBar(scope,element)}}}]).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",max:"=?",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null,titles:["one","two","three","four","five"]}).controller("RatingController",["$scope","$attrs","ratingConfig",function($scope,$attrs,ratingConfig){var ngModelCtrl={$setViewValue:angular.noop};this.init=function(ngModelCtrl_){(ngModelCtrl=ngModelCtrl_).$render=this.render,ngModelCtrl.$formatters.push(function(value){return angular.isNumber(value)&&value<<0!==value&&(value=Math.round(value)),value}),this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff;var tmpTitles=angular.isDefined($attrs.titles)?$scope.$parent.$eval($attrs.titles):ratingConfig.titles;this.titles=angular.isArray(tmpTitles)&&tmpTitles.length>0?tmpTitles:ratingConfig.titles;var ratingStates=angular.isDefined($attrs.ratingStates)?$scope.$parent.$eval($attrs.ratingStates):new Array(angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max);$scope.range=this.buildTemplateObjects(ratingStates)},this.buildTemplateObjects=function(states){for(var i=0,n=states.length;i<n;i++)states[i]=angular.extend({index:i},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(i)},states[i]);return states},this.getTitle=function(index){return index>=this.titles.length?index+1:this.titles[index]},$scope.rate=function(value){!$scope.readonly&&value>=0&&value<=$scope.range.length&&(ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue===value?0:value),ngModelCtrl.$render())},$scope.enter=function(value){$scope.readonly||($scope.value=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.value=ngModelCtrl.$viewValue,$scope.onLeave()},$scope.onKeydown=function(evt){/(37|38|39|40)/.test(evt.which)&&(evt.preventDefault(),evt.stopPropagation(),$scope.rate($scope.value+(38===evt.which||39===evt.which?1:-1)))},this.render=function(){$scope.value=ngModelCtrl.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(scope,element,attrs,ctrls){var ratingCtrl=ctrls[0],ngModelCtrl=ctrls[1];ratingCtrl.init(ngModelCtrl)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function($scope){var destroyed,ctrl=this,tabs=ctrl.tabs=$scope.tabs=[];ctrl.select=function(selectedTab){angular.forEach(tabs,function(tab){tab.active&&tab!==selectedTab&&(tab.active=!1,tab.onDeselect(),selectedTab.selectCalled=!1)}),selectedTab.active=!0,selectedTab.selectCalled||(selectedTab.onSelect(),selectedTab.selectCalled=!0)},ctrl.addTab=function(tab){tabs.push(tab),1===tabs.length&&!1!==tab.active?tab.active=!0:tab.active?ctrl.select(tab):tab.active=!1},ctrl.removeTab=function(tab){var index=tabs.indexOf(tab);if(tab.active&&tabs.length>1&&!destroyed){var newActiveIndex=index==tabs.length-1?index-1:index+1;ctrl.select(tabs[newActiveIndex])}tabs.splice(index,1)},$scope.$on("$destroy",function(){destroyed=!0})}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(scope,element,attrs){scope.vertical=!!angular.isDefined(attrs.vertical)&&scope.$parent.$eval(attrs.vertical),scope.justified=!!angular.isDefined(attrs.justified)&&scope.$parent.$eval(attrs.justified)}}}).directive("tab",["$parse","$log",function($parse,$log){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},link:function(scope,elm,attrs,tabsetCtrl,transclude){scope.$watch("active",function(active){active&&tabsetCtrl.select(scope)}),scope.disabled=!1,attrs.disable&&scope.$parent.$watch($parse(attrs.disable),function(value){scope.disabled=!!value}),attrs.disabled&&($log.warn('Use of "disabled" attribute has been deprecated, please use "disable"'),scope.$parent.$watch($parse(attrs.disabled),function(value){scope.disabled=!!value})),scope.select=function(){scope.disabled||(scope.active=!0)},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}]).directive("tabHeadingTransclude",function(){return{restrict:"A",require:"^tab",link:function(scope,elm,attrs,tabCtrl){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.a
1ppend(heading))})}}}).directive("tabContentTransclude",function(){return{restrict:"A",require:"^tabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.tabContentTransclude);tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){!function(node){return node.tagName&&(node.hasAttribute("tab-heading")||node.hasAttribute("data-tab-heading")||node.hasAttribute("x-tab-heading")||"tab-heading"===node.tagName.toLowerCase()||"data-tab-heading"===node.tagName.toLowerCase()||"x-tab-heading"===node.tagName.toLowerCase())}(node)?elm.append(node):tab.headingElement=node})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function($scope,$attrs,$parse,$log,$locale,timepickerConfig){var selected=new Date,ngModelCtrl={$setViewValue:angular.noop},meridians=angular.isDefined($attrs.meridians)?$scope.$parent.$eval($attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS;this.init=function(ngModelCtrl_,inputs){(ngModelCtrl=ngModelCtrl_).$render=this.render,ngModelCtrl.$formatters.unshift(function(modelValue){return modelValue?new Date(modelValue):null});var hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1);(angular.isDefined($attrs.mousewheel)?$scope.$parent.$eval($attrs.mousewheel):timepickerConfig.mousewheel)&&this.setupMousewheelEvents(hoursInputEl,minutesInputEl),(angular.isDefined($attrs.arrowkeys)?$scope.$parent.$eval($attrs.arrowkeys):timepickerConfig.arrowkeys)&&this.setupArrowkeyEvents(hoursInputEl,minutesInputEl),$scope.readonlyInput=angular.isDefined($attrs.readonlyInput)?$scope.$parent.$eval($attrs.readonlyInput):timepickerConfig.readonlyInput,this.setupInputEvents(hoursInputEl,minutesInputEl)};var hourStep=timepickerConfig.hourStep;$attrs.hourStep&&$scope.$parent.$watch($parse($attrs.hourStep),function(value){hourStep=parseInt(value,10)});var min,max,minuteStep=timepickerConfig.minuteStep;function getHoursFromTemplate(){var hours=parseInt($scope.hours,10);if($scope.showMeridian?hours>0&&hours<13:hours>=0&&hours<24)return $scope.showMeridian&&(12===hours&&(hours=0),$scope.meridian===meridians[1]&&(hours+=12)),hours}function getMinutesFromTemplate(){var minutes=parseInt($scope.minutes,10);return minutes>=0&&minutes<60?minutes:void 0}function pad(value){return angular.isDefined(value)&&value.toString().length<2?"0"+value:value.toString()}function refresh(keyboardChange){makeValid(),ngModelCtrl.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){ngModelCtrl.$setValidity("time",!0),$scope.invalidHours=!1,$scope.invalidMinutes=!1}function updateTemplate(keyboardChange){var hours=selected.getHours(),minutes=selected.getMinutes();$scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),$scope.hours="h"===keyboardChange?hours:pad(hours),"m"!==keyboardChange&&($scope.minutes=pad(minutes)),$scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}function addMinutes(date,minutes){var dt=new Date(date.getTime()+6e4*minutes),newDate=new Date(date);return newDate.setHours(dt.getHours(),dt.getMinutes()),newDate}function addMinutesToSelected(minutes){selected=addMinutes(selected,minutes),refresh()}$attrs.minuteStep&&$scope.$parent.$watch($parse($attrs.minuteStep),function(value){minuteStep=parseInt(value,10)}),$scope.$parent.$watch($parse($attrs.min),function(value){var dt=new Date(value);min=isNaN(dt)?void 0:dt}),$scope.$parent.$watch($parse($attrs.max),function(value){var dt=new Date(value);max=isNaN(dt)?void 0:dt}),$scope.noIncrementHours=function(){var incrementedSelected=addMinutes(selected,60*hourStep);return incrementedSelected>max||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementHours=function(){var decrementedSelected=addMinutes(selected,60*-hourStep);return decrementedSelected<min||decrementedSelected>selected&&decrementedSelected>max},$scope.noIncrementMinutes=function(){var incrementedSelected=addMinutes(selected,minuteStep);return incrementedSelected>max||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementMinutes=function(){var decrementedSelected=addMinutes(selected,-minuteStep);return decrementedSelected<min||decrementedSelected>selected&&decrementedSelected>max},$scope.noToggleMeridian=function(){return selected.getHours()<13?addMinutes(selected,720)>max:addMinutes(selected,-720)<min},$scope.showMeridian=timepickerConfig.showMeridian,$attrs.showMeridian&&$scope.$parent.$watch($parse($attrs.showMeridian),function(value){if($scope.showMeridian=!!value,ngModelCtrl.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()}),this.setupMousewheelEvents=function(hoursInputEl,minutesInputEl){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.bind("mousewheel wheel",function(e){$scope.$apply(isScrollingUp(e)?$scope.incrementHours():$scope.decrementHours()),e.preventDefault()}),minutesInputEl.bind("mousewheel wheel",function(e){$scope.$apply(isScrollingUp(e)?$scope.incrementMinutes():$scope.decrementMinutes()),e.preventDefault()})},this.setupArrowkeyEvents=function(hoursInputEl,minutesInputEl){hoursInputEl.bind("keydown",function(e){38===e.which?(e.preventDefault(),$scope.incrementHours(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementHours(),$scope.$apply())}),minutesInputEl.bind("keydown",function(e){38===e.which?(e.preventDefault(),$scope.incrementMinutes(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementMinutes(),$scope.$apply())})},this.setupInputEvents=function(hoursInputEl,minutesInputEl){if($scope.readonlyInput)return $scope.updateHours=angular.noop,void($scope.updateMinutes=angular.noop);var invalidate=function(invalidHours,invalidMinutes){ngModelCtrl.$setViewValue(null),ngModelCtrl.$setValidity("time",!1),angular.isDefined(invalidHours)&&($scope.invalidHours=invalidHours),angular.isDefined(invalidMinutes)&&($scope.invalidMinutes=invalidMinutes)};$scope.updateHours=function(){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)?(selected.setHours(hours),selected<min||selected>max?invalidate(!0):refresh("h")):invalidate(!0)},hoursInputEl.bind("blur",function(e){!$scope.invalidHours&&$scope.hours<10&&$scope.$apply(function(){$scope.hours=pad($scope.hours)})}),$scope.updateMinutes=function(){var minutes=getMinutesFromTemplate(),hours=getHoursFromTemplate();angular.isDefined(minutes)&&angular.isDefined(hours)?(selected.setMinutes(minutes),selected<min||selected>max?invalidate(void 0,!0):refresh("m")):invalidate(void 0,!0)},minutesInputEl.bind("blur",function(e){!$scope.invalidMinutes&&$scope.minutes<10&&$scope.$apply(function(){$scope.minutes=pad($scope.minutes)})})},this.render=function(){var date=ngModelCtrl.$viewValue;isNaN(date)?(ngModelCtrl.$setValidity("time",!1),$log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(date&&(selected=date),selected<min||selected>max?(ngModelCtrl.$setValidity("time",!1),$scope.invalidHours=!0,$scope.invalidMinutes=!0):makeValid(),updateTemplate())}
1,$scope.showSpinners=angular.isDefined($attrs.showSpinners)?$scope.$parent.$eval($attrs.showSpinners):timepickerConfig.showSpinners,$scope.incrementHours=function(){$scope.noIncrementHours()||addMinutesToSelected(60*hourStep)},$scope.decrementHours=function(){$scope.noDecrementHours()||addMinutesToSelected(60*-hourStep)},$scope.incrementMinutes=function(){$scope.noIncrementMinutes()||addMinutesToSelected(minuteStep)},$scope.decrementMinutes=function(){$scope.noDecrementMinutes()||addMinutesToSelected(-minuteStep)},$scope.toggleMeridian=function(){$scope.noToggleMeridian()||addMinutesToSelected(720*(selected.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(element,attrs){return attrs.templateUrl||"template/timepicker/timepicker.html"},link:function(scope,element,attrs,ctrls){var timepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&timepickerCtrl.init(ngModelCtrl,element.find("input"))}}}),angular.module("ui.bootstrap.transition",[]).value("$transitionSuppressDeprecated",!1).factory("$transition",["$q","$timeout","$rootScope","$log","$transitionSuppressDeprecated",function($q,$timeout,$rootScope,$log,$transitionSuppressDeprecated){$transitionSuppressDeprecated||$log.warn("$transition is now deprecated. Use $animate from ngAnimate instead.");var $transition=function(element,trigger,options){options=options||{};var deferred=$q.defer(),endEventName=$transition[options.animation?"animationEndEventName":"transitionEndEventName"],transitionEndHandler=function(event){$rootScope.$apply(function(){element.unbind(endEventName,transitionEndHandler),deferred.resolve(element)})};return endEventName&&element.bind(endEventName,transitionEndHandler),$timeout(function(){angular.isString(trigger)?element.addClass(trigger):angular.isFunction(trigger)?trigger(element):angular.isObject(trigger)&&element.css(trigger),endEventName||deferred.resolve(element)}),deferred.promise.cancel=function(){endEventName&&element.unbind(endEventName,transitionEndHandler),deferred.reject("Transition cancelled")},deferred.promise},transElement=document.createElement("trans");function findEndEventName(endEventNames){for(var name in endEventNames)if(void 0!==transElement.style[name])return endEventNames[name]}return $transition.transitionEndEventName=findEndEventName({WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}),$transition.animationEndEventName=findEndEventName({WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"}),$transition}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position"]).factory("typeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+input+'".');return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$window","$rootScope","$position","typeaheadParser",function($compile,$parse,$q,$timeout,$document,$window,$rootScope,$position,typeaheadParser){var HOT_KEYS=[9,13,27,38,40],eventDebounceTime=200;return{require:["ngModel","^?ngModelOptions"],link:function(originalScope,element,attrs,ctrls){var modelCtrl=ctrls[0],ngModelOptions=ctrls[1],minLength=originalScope.$eval(attrs.typeaheadMinLength);minLength||0===minLength||(minLength=1);var hasFocus,selected,waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=!1!==originalScope.$eval(attrs.typeaheadEditable),isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,onSelectCallback=$parse(attrs.typeaheadOnSelect),isSelectOnBlur=!!angular.isDefined(attrs.typeaheadSelectOnBlur)&&originalScope.$eval(attrs.typeaheadSelectOnBlur),isNoResultsSetter=$parse(attrs.typeaheadNoResults).assign||angular.noop,inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=!!attrs.typeaheadAppendToBody&&originalScope.$eval(attrs.typeaheadAppendToBody),focusFirst=!1!==originalScope.$eval(attrs.typeaheadFocusFirst),selectOnExact=!!attrs.typeaheadSelectOnExact&&originalScope.$eval(attrs.typeaheadSelectOnExact),parsedModel=$parse(attrs.ngModel),invokeModelSetter=$parse(attrs.ngModel+"($$$p)"),parserResult=typeaheadParser.parse(attrs.typeahead),scope=originalScope.$new(),offDestroy=originalScope.$on("$destroy",function(){scope.$destroy()});scope.$on("$destroy",offDestroy);var popupId="typeahead-"+scope.$id+"-"+Math.floor(1e4*Math.random());element.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":popupId});var popUpEl=angular.element("<div typeahead-popup></div>");popUpEl.attr({id:popupId,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl),angular.isDefined(attrs.typeaheadPopupTemplateUrl)&&popUpEl.attr("popup-template-url",attrs.typeaheadPopupTemplateUrl);var resetMatches=function(){scope.matches=[],scope.activeIdx=-1,element.attr("aria-expanded",!1)},getMatchId=function(index){return popupId+"-option-"+index};
1scope.$watch("activeIdx",function(index){index<0?element.removeAttr("aria-activedescendant"):element.attr("aria-activedescendant",getMatchId(index))});var timeoutEventPromise,timeoutPromise,getMatchesAsync=function(inputValue){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),isNoResultsSetter(originalScope,!1),$q.when(parserResult.source(originalScope,locals)).then(function(matches){var onCurrentRequest=inputValue===modelCtrl.$viewValue;if(onCurrentRequest&&hasFocus)if(matches&&matches.length>0){scope.activeIdx=focusFirst?0:-1,isNoResultsSetter(originalScope,!1),scope.matches.length=0;for(var i=0;i<matches.length;i++)locals[parserResult.itemName]=matches[i],scope.matches.push({id:getMatchId(i),label:parserResult.viewMapper(scope,locals),model:matches[i]});scope.query=inputValue,recalculatePosition(),element.attr("aria-expanded",!0),selectOnExact&&1===scope.matches.length&&function(inputValue,index){return!!(scope.matches.length>index&&inputValue)&&inputValue.toUpperCase()===scope.matches[index].label.toUpperCase()}(inputValue,0)&&scope.select(0)}else resetMatches(),isNoResultsSetter(originalScope,!0);onCurrentRequest&&isLoadingSetter(originalScope,!1)},function(){resetMatches(),isLoadingSetter(originalScope,!1),isNoResultsSetter(originalScope,!0)})};function fireRecalculating(){scope.moveInProgress||(scope.moveInProgress=!0,scope.$digest()),timeoutEventPromise&&$timeout.cancel(timeoutEventPromise),timeoutEventPromise=$timeout(function(){scope.matches.length&&recalculatePosition(),scope.moveInProgress=!1,scope.$digest()},eventDebounceTime)}function recalculatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top+=element.prop("offsetHeight")}appendToBody&&(angular.element($window).bind("resize",fireRecalculating),$document.find("body").bind("scroll",fireRecalculating)),scope.moveInProgress=!1,resetMatches(),scope.query=void 0;var cancelPreviousTimeout=function(){timeoutPromise&&$timeout.cancel(timeoutPromise)};modelCtrl.$parsers.unshift(function(inputValue){return hasFocus=!0,0===minLength||inputValue&&inputValue.length>=minLength?waitTime>0?(cancelPreviousTimeout(),function(inputValue){timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)}(inputValue)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),cancelPreviousTimeout(),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),null)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,locals={};return isEditable||modelCtrl.$setValidity("editable",!0),inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,candidateViewValue!==parserResult.viewMapper(originalScope,locals)?candidateViewValue:modelValue)}),scope.select=function(activeIdx){var model,item,locals={};selected=!0,locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),function(scope,newValue){angular.isFunction(parsedModel(originalScope))&&ngModelOptions&&ngModelOptions.$options&&ngModelOptions.$options.getterSetter?invokeModelSetter(scope,{$$$p:newValue}):parsedModel.assign(scope,newValue)}(originalScope,model),modelCtrl.$setValidity("editable",!0),modelCtrl.$setValidity("parse",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals)}),resetMatches(),!1!==scope.$eval(attrs.typeaheadFocusOnSelect)&&$timeout(function(){element[0].focus()},0,!1)},element.bind("keydown",function(evt){if(0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)){if(-1===scope.activeIdx&&(9===evt.which||13===evt.which))return resetMatches(),void scope.$digest();evt.preventDefault(),40===evt.which?(scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest()):38===evt.which?(scope.activeIdx=(scope.activeIdx>0?scope.activeIdx:scope.matches.length)-1,scope.$digest()):13===evt.which||9===evt.which?scope.$apply(function(){scope.select(scope.activeIdx)}):27===evt.which&&(evt.stopPropagation(),resetMatches(),scope.$digest())}}),element.bind("blur",function(){isSelectOnBlur&&scope.matches.length&&-1!==scope.activeIdx&&!selected&&(selected=!0,scope.$apply(function(){scope.select(scope.activeIdx)}
1)),hasFocus=!1,selected=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&3!==evt.which&&0!==scope.matches.length&&(resetMatches(),$rootScope.$$phase||scope.$digest())};$document.bind("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.unbind("click",dismissClickHandler),appendToBody&&$popup.remove(),popUpEl.remove()});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&"},replace:!0,templateUrl:function(element,attrs){return attrs.popupTemplateUrl||"template/typeahead/typeahead-popup.html"},link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){return scope.matches.length>0},scope.isActive=function(matchIdx){return scope.active==matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx){scope.select({activeIdx:activeIdx})}}}}).directive("typeaheadMatch",["$templateRequest","$compile","$parse",function($templateRequest,$compile,$parse){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"template/typeahead/typeahead-match.html";$templateRequest(tplUrl).then(function(tplContent){$compile(tplContent.trim())(scope,function(clonedElement){element.replaceWith(clonedElement)})})}}}]).filter("typeaheadHighlight",["$sce","$injector","$log",function($sce,$injector,$log){var isSanitizePresent;return isSanitizePresent=$injector.has("$sanitize"),function(matchItem,query){return!isSanitizePresent&&function(matchItem){return/<.*>/g.test(matchItem)}(matchItem)&&$log.warn("Unsafe use of typeahead please use ngSanitize"),matchItem=query?(""+matchItem).replace(new RegExp(query.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"gi"),"<strong>$&</strong>"):matchItem,isSanitizePresent||(matchItem=$sce.trustAsHtml(matchItem)),matchItem}}]),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion-group.html",'<div class="panel {{panelClass || \'panel-default\'}}">\n  <div class="panel-heading" ng-keypress="toggleOpen($event)">\n    <h4 class="panel-title">\n      <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n    </h4>\n  </div>\n  <div class="panel-collapse collapse" collapse="!isOpen">\n\t  <div class="panel-body" ng-transclude></div>\n  </div>\n</div>\n')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude></div>')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close($event)">\n        <span aria-hidden="true">&times;</span>\n        <span class="sr-only">Close</span>\n    </button>\n    <div ng-transclude></div>\n</div>\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n    <ol class="carousel-indicators" ng-show="slides.length > 1">\n        <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"></li>\n    </ol>\n    <div class="carousel-inner" ng-transclude></div>\n    <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-left"></span></a>\n    <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-right"></span></a>\n</div>\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/carousel/slide.html",'<div ng-class="{\n    \'active\': active\n  }" class="item text-center" ng-transclude></div>\n')}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/datepicker.html",'<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <daypicker ng-switch-when="day" tabindex="0"></daypicker>\n  <monthpicker ng-switch-when="month" tabindex="0"></monthpicker>\n  <yearpicker ng-switch-when="year" tabindex="0"></yearpicker>\n</div>')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/day.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === max
1Mode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"></th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/month.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n        <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/popup.html",'<ul class="dropdown-menu" ng-if="isOpen" style="display: block" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n\t<li ng-transclude></li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group pull-left">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}</button>\n\t\t</span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}</button>\n\t</li>\n</ul>\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/year.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="3"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === max
1Mode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}">\n        <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/backdrop.html",'<div class="modal-backdrop"\n     modal-animation-class="fade"\n     modal-in-class="in"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n    modal-animation-class="fade"\n    modal-in-class="in"\n\tng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n    <div class="modal-dialog" ng-class="size ? \'modal-\' + size : \'\'"><div class="modal-content" modal-transclude></div></div>\n</div>\n')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n</ul>\n')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}</a></li>\n</ul>\n')}]),angular.module("template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-html-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  tooltip-classe
1s\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tooltip/tooltip-template-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner"\n    tooltip-template-transclude="contentExp()"\n    tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("template/popover/popover-html.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/popover/popover-html.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind-html="contentExp()"></div>\n  </div>\n</div>\n')}]),angular.module("template/popover/popover-template.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/popover/popover-template.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content"\n        tooltip-template-transclude="contentExp()"\n        tooltip-template-transclude-scope="originScope()"></div>\n  </div>\n</div>\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/popover/popover.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n      <div class="popover-content" ng-bind="content"></div>\n  </div>\n</div>\n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" style="min-width: 0;" ng-transclude></div>\n')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progress.html",'<div class="progress" ng-transclude></div>')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" style="min-width: 0;" ng-transclude></div>\n</div>\n')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}" ></i>\n</span>\n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n  <a href ng-click="select()" tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         tab-content-transclude="tab">\n    </div>\n  </div>\n</div>\n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/timepicker/timepicker.html",'<table>\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td>&nbsp;</td>\n      <td><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n    <tr>\n      <td class="form-group" ng-class="{\'has-error\': invalidHours}">\n        <input style="width:50px;" type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2">\n      </td>\n      <td>:</td>\n      <td class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n        <input style="width:50px;" type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2">\n      </td>\n      <td ng-show="showMeridian"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()">{{meridian}}</button></td>\n    </tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td>&nbsp;</td>\n      <td><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/typeahead/typeahead-match.html",'<a href tabindex="-1" ng-bind-html="match.label | typeaheadHighlight:query"></a>\n')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{::match.id}}">\n        <div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n    </li>\n</ul>\n')}]),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">
1.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'),function(ng){"use strict";ng.module("vcRecaptcha",[])}(angular),function(ng){"use strict";ng.module("vcRecaptcha").provider("vcRecaptchaService",function(){var provider=this,config={};provider.onLoadFunctionName="vcRecaptchaApiLoaded",provider.setDefaults=function(defaults){ng.copy(defaults,config)},provider.setSiteKey=function(siteKey){config.key=siteKey},provider.setTheme=function(theme){config.theme=theme},provider.setStoken=function(stoken){config.stoken=stoken},provider.setSize=function(size){config.size=size},provider.setType=function(type){config.type=type},provider.setLang=function(lang){config.lang=lang},provider.setBadge=function(badge){config.badge=badge},provider.setOnLoadFunctionName=function(onLoadFunctionName){provider.onLoadFunctionName=onLoadFunctionName},provider.$get=["$rootScope","$window","$q","$document","$interval",function($rootScope,$window,$q,$document,$interval){var recaptcha,deferred=$q.defer(),promise=deferred.promise,instances={};$window.vcRecaptchaApiLoadedCallback=$window.vcRecaptchaApiLoadedCallback||[];var callback=function(){recaptcha=$window.grecaptcha,deferred.resolve(recaptcha)};function validateRecaptchaInstance(){if(!recaptcha)throw new Error("reCaptcha has not been loaded yet.")}function isRenderFunctionAvailable(){return ng.isFunction(($window.grecaptcha||{}).render)}if($window.vcRecaptchaApiLoadedCallback.push(callback),$window[provider.onLoadFunctionName]=function(){$window.vcRecaptchaApiLoadedCallback.forEach(function(callback){callback()})},isRenderFunctionAvailable())callback();else if($window.document.querySelector('script[src^="https://www.google.com/recaptcha/api.js"]'))var intervalWait=$interval(function(){isRenderFunctionAvailable()&&($interval.cancel(intervalWait),callback())},25);else{var script=$window.document.createElement("script");script.async=!0,script.defer=!0,script.src="https://www.google.com/recaptcha/api.js?onload="+provider.onLoadFunctionName+"&render=explicit",$document.find("body")[0].appendChild(script)}return{create:function(elm,conf){return conf.sitekey=conf.key||config.key,conf.theme=conf.theme||config.theme,conf.stoken=conf.stoken||config.stoken,conf.size=conf.size||config.size,conf.type=conf.type||config.type,conf.hl=conf.lang||config.lang,conf.badge=conf.badge||config.badge,conf.sitekey||function(){throw new Error('You need to set the "key" attribute to your public reCaptcha key. If you don\'t have a key, please get one from https://www.google.com/recaptcha/admin/create')}(),(recaptcha?$q.when(recaptcha):promise).then(function(recaptcha){var widgetId=recaptcha.render(elm,conf);return instances[widgetId]=elm,widgetId})},reload:function(widgetId){validateRecaptchaInstance(),recaptcha.reset(widgetId),$rootScope.$broadcast("reCaptchaReset",widgetId)},execute:function(widgetId){validateRecaptchaInstance(),recaptcha.execute(widgetId)},useLang:function(widgetId,lang){var instance=instances[widgetId];if(!instance)throw new Error("reCaptcha Widget ID not exists",widgetId);var iframe=instance.querySelector("iframe");if(!lang)return iframe&&iframe.src&&/[?&]hl=\w+/.test(iframe.src)?iframe.src.replace(/.+[?&]hl=(\w+)([^\w].+)?/,"$1"):null;if(iframe&&iframe.src){var s=iframe.src;/[?&]hl=/.test(s)?s=s.replace(/([?&]hl=)\w+/,"$1"+lang):s+=(-1===s.indexOf("?")?"?":"&")+"hl="+lang,iframe.src=s}},getResponse:function(widgetId){return validateRecaptchaInstance(),recaptcha.getResponse(widgetId)},getInstance:function(widgetId){return instances[widgetId]},destroy:function(widgetId){delete instances[widgetId]}}}]})}(angular),function(ng){"use strict";ng.module("vcRecaptcha").directive("vcRecaptcha",["$document","$timeout","vcRecaptchaService",function($document,$timeout,vcRecaptcha){return{restrict:"A",require:"?^^form",scope:{response:"=?ngModel",key:"=?",stoken:"=?",theme:"=?",size:"=?",type:"=?",lang:"=?",badge:"=?",tabindex:"=?",required:"=?",onCreate:"&",onSuccess:"&",onExpire:"&",onError:"&"},link:function(scope,elm,attrs,ctrl){scope.widgetId=null,ctrl&&ng.isDefined(attrs.required)&&scope.$watch("required",validate);var removeCreationListener=scope.$watch("key",function(key){vcRecaptcha.create(elm[0],{callback:function(gRecaptchaResponse){$timeout(function(){scope.response=gRecaptchaResponse,validate(),scope.onSuccess({response:gRecaptchaResponse,widgetId:scope.widgetId})})},key:key,stoken:scope.stoken||attrs.stoken||null,theme:scope.theme||attrs.theme||null,type:scope.type||attrs.type||null,lang:scope.lang||attrs.lang||null,tabindex:scope.tabindex||attrs.tabindex||null,size:scope.size||attrs.size||null,badge:scope.badge||attrs.badge||null,"expired-callback":ex
1pired,"error-callback":attrs.onError?error:void 0}).then(function(widgetId){validate(),scope.widgetId=widgetId,scope.onCreate({widgetId:widgetId}),scope.$on("$destroy",destroy),scope.$on("reCaptchaReset",function(event,resetWidgetId){(ng.isUndefined(resetWidgetId)||widgetId===resetWidgetId)&&(scope.response="",validate())})}),removeCreationListener()});function destroy(){ctrl&&ctrl.$setValidity("recaptcha",null),vcRecaptcha.destroy(scope.widgetId),ng.element($document[0].querySelectorAll(".pls-container")).parent().remove()}function expired(){$timeout(function(){scope.response="",validate(),scope.onExpire({widgetId:scope.widgetId})})}function error(){var args=arguments;$timeout(function(){scope.response="",validate(),scope.onError({widgetId:scope.widgetId,arguments:args})})}function validate(){ctrl&&ctrl.$setValidity("recaptcha",!1===scope.required?null:Boolean(scope.response))}}}}])}(angular),function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):"undefined"!=typeof module&&module.exports?module.exports=factory(require("jquery")):factory(jQuery)}(function($){"use strict";var $scrollTo=$.scrollTo=function(target,duration,settings){return $(window).scrollTo(target,duration,settings)};function isWin(elem){return!elem.nodeName||-1!==$.inArray(elem.nodeName.toLowerCase(),["iframe","#document","html","body"])}function isFunction(obj){return"function"==typeof obj}function both(val){return isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val}}return $scrollTo.defaults={axis:"xy",duration:0,limit:!0},$.fn.scrollTo=function(target,duration,settings){"object"==typeof duration&&(settings=duration,duration=0),"function"==typeof settings&&(settings={onAfter:settings}),"max"===target&&(target=9e9),settings=$.extend({},$scrollTo.defaults,settings),duration=duration||settings.duration;var queue=settings.queue&&settings.axis.length>1;return queue&&(duration/=2),settings.offset=both(settings.offset),settings.over=both(settings.over),this.each(function(){if(null!==target){var toff,win=isWin(this),elem=win?this.contentWindow||window:this,$elem=$(elem),targ=target,attr={};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(0===targ.length)return;(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="x"===axis?"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]),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,settings.over[pos]&&(attr[key]+=targ["x"===axis?"width":"height"]()*settings.over[pos]);else{var val=targ[pos];attr[key]=val.slice&&"%"===val.slice(-1)?parseFloat(val)/100*max:val}settings.limit&&/^\d+$/.test(attr[key])&&(attr[key]=attr[key]<=0?0:Math.min(attr[key],max)),!i&&settings.axis.length>1&&(prev===attr[key]?attr={}:queue&&(animate(settings.onAfterFirst),attr={}))}),animate(settings.onAfter)}function animate(callback){var opts=$.extend({},settings,{queue:!0,duration:duration,complete:callback&&function(){callback.call(elem,targ,settings)}});$elem.animate(attr,opts)}})},$scrollTo.max=function(elem,axis){var Dim="x"===axis?"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])},$.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);curr!==next&&($(t.elem)[t.prop](next),t._last=this.get(t))}},$scrollTo}),angular.module("com.2fdevs.videogular",["ngSanitize"]).run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-media-video","<video></video>"),$templateCache.put("vg-templates/vg-media-audio","<audio></audio>"),Function.prototype.bind||(Function.prototype.bind=function(oThis){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
1var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)))};return fNOP.prototype=this.prototype,fBound.prototype=new fNOP,fBound})}]),angular.module("com.2fdevs.videogular").constant("VG_STATES",{PLAY:"play",PAUSE:"pause",STOP:"stop"}).constant("VG_VOLUME_KEY","videogularVolume"),angular.module("com.2fdevs.videogular").controller("vgController",["$scope","$window","vgConfigLoader","vgFullscreen","VG_UTILS","VG_STATES","VG_VOLUME_KEY",function($scope,$window,vgConfigLoader,vgFullscreen,VG_UTILS,VG_STATES,VG_VOLUME_KEY){var currentTheme=null,isMetaDataLoaded=!1,hasStartTimePlayed=!1,isVirtualClip=!1;this.videogularElement=null,this.clearMedia=function(){this.mediaElement[0].src="",this.mediaElement[0].removeEventListener("canplay",this.onCanPlay.bind(this),!1),this.mediaElement[0].removeEventListener("loadedmetadata",this.onLoadMetaData.bind(this),!1),this.mediaElement[0].removeEventListener("waiting",this.onStartBuffering.bind(this),!1),this.mediaElement[0].removeEventListener("ended",this.onComplete.bind(this),!1),this.mediaElement[0].removeEventListener("playing",this.onStartPlaying.bind(this),!1),this.mediaElement[0].removeEventListener("play",this.onPlay.bind(this),!1),this.mediaElement[0].removeEventListener("pause",this.onPause.bind(this),!1),this.mediaElement[0].removeEventListener("volumechange",this.onVolumeChange.bind(this),!1),this.mediaElement[0].removeEventListener("playbackchange",this.onPlaybackChange.bind(this),!1),this.mediaElement[0].removeEventListener("timeupdate",this.onUpdateTime.bind(this),!1),this.mediaElement[0].removeEventListener("progress",this.onProgress.bind(this),!1),this.mediaElement[0].removeEventListener("seeking",this.onSeeking.bind(this),!1),this.mediaElement[0].removeEventListener("seeked",this.onSeeked.bind(this),!1),this.mediaElement[0].removeEventListener("error",this.onVideoError.bind(this),!1)},this.onRouteChange=function(){void 0!==this.clearMediaOnNavigate&&!0!==this.clearMediaOnNavigate||this.clearMedia()},this.onCanPlay=function(evt){this.isBuffering=!1,$scope.$parent.$digest($scope.vgCanPlay({$event:evt})),!hasStartTimePlayed&&(this.startTime>0||0===this.startTime)&&(this.seekTime(this.startTime),hasStartTimePlayed=!0)},this.onVideoReady=function(){this.isReady=!0,this.autoPlay=$scope.vgAutoPlay,this.playsInline=$scope.vgPlaysInline,this.nativeFullscreen=$scope.vgNativeFullscreen||!0,this.cuePoints=$scope.vgCuePoints,this.startTime=$scope.vgStartTime,this.virtualClipDuration=$scope.vgVirtualClipDuration,this.clearMediaOnNavigate=$scope.vgClearMediaOnNavigate||!0,this.currentState=VG_STATES.STOP,isMetaDataLoaded=!0,isVirtualClip=this.startTime>=0&&this.virtualClipDuration>0,VG_UTILS.supportsLocalStorage()&&this.setVolume(parseFloat($window.localStorage.getItem(VG_VOLUME_KEY)||"1")),$scope.vgConfig?vgConfigLoader.loadConfig($scope.vgConfig).then(this.onLoadConfig.bind(this)):$scope.vgPlayerReady({$API:this})},this.onLoadConfig=function(config){this.config=config,$scope.vgTheme=this.config.theme,$scope.vgAutoPlay=this.config.autoPlay,$scope.vgPlaysInline=this.config.playsInline,$scope.vgNativeFullscreen=this.config.nativeFullscreen,$scope.vgCuePoints=this.config.cuePoints,$scope.vgClearMediaOnNavigate=this.config.clearMediaOnNavigate,$scope.vgStartTime=this.config.startTime,$scope.vgVirtualClipDuration=this.config.virtualClipDuration,isVirtualClip=$scope.vgStartTime>=0&&$scope.vgVirtualClipDuration>0,$scope.vgPlayerReady({$API:this})},this.onLoadMetaData=function(evt){this.isBuffering=!1,this.onUpdateTime(evt)},this.onProgress=function(event){this.updateBuffer(event),$scope.$parent.$digest()},this.updateBuffer=function(event){event.target.buffered.length&&(this.buffered=event.target.buffered,this.bufferEnd=1e3*event.target.buffered.end(event.target.buffered.length-1),this.bufferEnd>this.totalTime&&(this.bufferEnd=this.totalTime))},this.onUpdateTime=function(event){var targetTime=1e3*event.target.currentTime;this.updateBuffer(event),event.target.duration!=1/0&&null!=event.target.duration&&void 0!=event.target.duration&&1.7976931348623157e308!=event.target.duration?(isVirtualClip?hasStartTimePlayed&&(event.target.currentTime<this.startTime||event.target.currentTime-this.startTime>this.virtualClipDuration)?this.onComplete():(this.currentTime=Math.max(0,targetTime-1e3*this.startTime),this.totalTime=1e3*this.virtualClipDuration,this.timeLeft=1e3*this.virtualClipDuration-this.currentTime):(this.currentTime=targetTime,this.totalTime=1e3*event.target.duration,this.timeLeft=1e3*(event.target.duration-event.target.currentTime)),this.isLive=!1):(this.currentTime=targetTime,this.isLive=!0);var targetSeconds=isVirtualClip?this.currentTime/1e3:event.target.currentTime,targetDuration=isVirtualClip?this.totalTime/1e3:event.target.duration;this.cuePoints&&this.checkCuePoints(targetSeconds),$scope.vgUpdateTime({$currentTime:targetSeconds,$duration:targetDuration}),"$apply"!=$scope.$$phase&&"$digest"!=$scope.$$phase&&$scope.$parent.$digest()},this.checkCuePoints=function(currentTime){for(var tl in this.cuePoints)for(var i=0,l=this.cuePoints[tl].length;i<l;i++){var cp=this.cuePoints[tl][i],currentSecond=parseInt(currentTime,10),start=parseInt(cp.timeLapse.start,10);cp.timeLapse.end||(cp.timeLapse.end=cp.timeLapse.start+1),currentTime<cp.timeLapse.end&&(cp.$$isCompleted=!1),cp.$$isDirty||currentSecond!==start||"function"!=typeof cp.onEnter||(cp.onEnter(currentTime,cp.timeLapse,cp.params),cp.$$isDirty=!0),currentTime>cp.timeLapse.start?(currentTime<cp.timeLapse.end&&(cp.onUpdate&&cp.onUp
1date(currentTime,cp.timeLapse,cp.params),cp.$$isDirty||"function"!=typeof cp.onEnter||cp.onEnter(currentTime,cp.timeLapse,cp.params)),currentTime>=cp.timeLapse.end&&cp.onComplete&&!cp.$$isCompleted&&(cp.$$isCompleted=!0,cp.onComplete(currentTime,cp.timeLapse,cp.params)),cp.$$isDirty=!0):(cp.onLeave&&cp.$$isDirty&&cp.onLeave(currentTime,cp.timeLapse,cp.params),cp.$$isDirty=!1)}},this.onPlay=function(){this.setState(VG_STATES.PLAY),$scope.$parent.$digest()},this.onPause=function(){0==(isVirtualClip?this.currentTime:this.mediaElement[0].currentTime)?this.setState(VG_STATES.STOP):this.setState(VG_STATES.PAUSE),$scope.$parent.$digest()},this.onVolumeChange=function(){this.volume=this.mediaElement[0].volume,$scope.$parent.$digest()},this.onPlaybackChange=function(){this.playback=this.mediaElement[0].playbackRate,$scope.$parent.$digest()},this.onSeeking=function(event){$scope.vgSeeking({$currentTime:event.target.currentTime,$duration:event.target.duration})},this.onSeeked=function(event){$scope.vgSeeked({$currentTime:event.target.currentTime,$duration:event.target.duration})},this.seekTime=function(value,byPercent){var second;if(byPercent)isVirtualClip?(second=(value=Math.max(0,Math.min(value,100)))*this.virtualClipDuration/100,this.mediaElement[0].currentTime=this.startTime+second):(second=value*this.mediaElement[0].duration/100,this.mediaElement[0].currentTime=second);else if(isVirtualClip){var durationPercent=value/this.mediaElement[0].duration;second=hasStartTimePlayed?this.virtualClipDuration*durationPercent:0,this.mediaElement[0].currentTime=hasStartTimePlayed?this.startTime+second:this.startTime}else second=value,this.mediaElement[0].currentTime=second;this.currentTime=1e3*second},this.playPause=function(){this.mediaElement[0].paused?this.play():this.pause()},this.setState=function(newState){return newState&&newState!=this.currentState&&($scope.vgUpdateState({$state:newState}),this.currentState=newState),this.currentState},this.play=function(){this.mediaElement[0].play(),this.setState(VG_STATES.PLAY)},this.pause=function(){this.mediaElement[0].pause(),this.setState(VG_STATES.PAUSE)},this.stop=function(){try{this.mediaElement[0].pause();var targetTime=isVirtualClip?this.startTime:0;this.mediaElement[0].currentTime=targetTime,this.currentTime=targetTime,this.buffered=[],this.bufferEnd=0,this.setState(VG_STATES.STOP)}catch(e){return e}},this.toggleFullScreen=function(){vgFullscreen.isAvailable&&this.nativeFullscreen?this.isFullScreen?VG_UTILS.isMobileDevice()||vgFullscreen.exit():VG_UTILS.isMobileDevice()?VG_UTILS.isiOSDevice()?isMetaDataLoaded?this.enterElementInFullScreen(this.mediaElement[0]):(!0,this.play()):this.enterElementInFullScreen(this.mediaElement[0]):this.enterElementInFullScreen(this.videogularElement[0]):(this.isFullScreen?(this.videogularElement.removeClass("fullscreen"),this.videogularElement.css("z-index","auto")):(this.videogularElement.addClass("fullscreen"),this.videogularElement.css("z-index",VG_UTILS.getZIndex())),this.isFullScreen=!this.isFullScreen)},this.enterElementInFullScreen=function(element){vgFullscreen.request(element)},this.changeSource=function(newValue){$scope.vgChangeSource({$source:newValue})},this.setVolume=function(newVolume){newVolume=Math.max(Math.min(newVolume,1),0),$scope.vgUpdateVolume({$volume:newVolume}),this.mediaElement[0].volume=newVolume,this.volume=newVolume,VG_UTILS.supportsLocalStorage()&&$window.localStorage.setItem(VG_VOLUME_KEY,newVolume.toString())},this.setPlayback=function(newPlayback){$scope.vgUpdatePlayback({$playBack:newPlayback}),this.mediaElement[0].playbackRate=newPlayback,this.playback=newPlayback},this.updateTheme=function(value){var i,l,links=document.getElementsByTagName("link");if(currentTheme)for(i=0,l=links.length;i<l;i++)if(links[i].outerHTML.indexOf(currentTheme)>=0){links[i].parentNode.removeChild(links[i]);break}if(value){var headElem=angular.element(document).find("head"),exists=!1;for(i=0,l=links.length;i<l&&!(exists=links[i].outerHTML.indexOf(value)>=0);i++);exists||headElem.append("<link rel='stylesheet' href='"+value+"'>"),currentTheme=value}}
1,this.onStartBuffering=function(event){this.isBuffering=!0,$scope.$parent.$digest()},this.onStartPlaying=function(event){this.isBuffering=!1,$scope.$parent.$digest()},this.onComplete=function(event){$scope.vgComplete(),this.setState(VG_STATES.STOP),this.isCompleted=!0,isVirtualClip&&this.stop(),$scope.$parent.$digest()},this.onVideoError=function(event){$scope.vgError({$event:event})},this.addListeners=function(){this.mediaElement[0].addEventListener("canplay",this.onCanPlay.bind(this),!1),this.mediaElement[0].addEventListener("loadedmetadata",this.onLoadMetaData.bind(this),!1),this.mediaElement[0].addEventListener("waiting",this.onStartBuffering.bind(this),!1),this.mediaElement[0].addEventListener("ended",this.onComplete.bind(this),!1),this.mediaElement[0].addEventListener("playing",this.onStartPlaying.bind(this),!1),this.mediaElement[0].addEventListener("play",this.onPlay.bind(this),!1),this.mediaElement[0].addEventListener("pause",this.onPause.bind(this),!1),this.mediaElement[0].addEventListener("volumechange",this.onVolumeChange.bind(this),!1),this.mediaElement[0].addEventListener("playbackchange",this.onPlaybackChange.bind(this),!1),this.mediaElement[0].addEventListener("timeupdate",this.onUpdateTime.bind(this),!1),this.mediaElement[0].addEventListener("progress",this.onProgress.bind(this),!1),this.mediaElement[0].addEventListener("seeking",this.onSeeking.bind(this),!1),this.mediaElement[0].addEventListener("seeked",this.onSeeked.bind(this),!1),this.mediaElement[0].addEventListener("error",this.onVideoError.bind(this),!1)},this.init=function(){this.isReady=!1,this.isCompleted=!1,this.buffered=[],this.bufferEnd=0,this.currentTime=0,this.totalTime=0,this.timeLeft=0,this.isLive=!1,this.isFullScreen=!1,this.playback=1,this.isConfig=void 0!=$scope.vgConfig,this.mediaElement=[{play:function(){},pause:function(){},stop:function(){},addEventListener:function(){},removeEventListener:function(){}}],vgFullscreen.isAvailable&&(this.isFullScreen=vgFullscreen.isFullScreen()),this.updateTheme($scope.vgTheme),this.addBindings(),vgFullscreen.isAvailable&&document.addEventListener(vgFullscreen.onchange,this.onFullScreenChange.bind(this))},this.onUpdateTheme=function(newValue){this.updateTheme(newValue)},this.onUpdateAutoPlay=function(newValue){newValue&&!this.autoPlay&&(this.autoPlay=newValue,this.play(this))},this.onUpdateStartTime=function(newValue){if(newValue&&newValue!=this.startTime){this.mediaElement[0].currentTime=newValue,this.startTime=newValue,isVirtualClip=this.startTime>=0&&this.virtualClipDuration>0;var fakeEvent={target:this.mediaElement[0]};this.onUpdateTime(fakeEvent,!0)}},this.onUpdateVirtualClipDuration=function(newValue){if(newValue&&newValue!=this.virtualClipDuration){this.virtualClipDuration=newValue,isVirtualClip=this.startTime>=0&&this.virtualClipDuration>0;var fakeEvent={target:this.mediaElement[0]};this.onUpdateTime(fakeEvent,!0)}},this.onUpdatePlaysInline=function(newValue){this.playsInline=newValue},this.onUpdateNativeFullscreen=function(newValue){void 0==newValue&&(newValue=!0),this.nativeFullscreen=newValue},this.onUpdateCuePoints=function(newValue){this.cuePoints=newValue,this.checkCuePoints(this.currentTime)},this.onUpdateClearMediaOnNavigate=function(newValue){this.clearMediaOnNavigate=newValue},this.addBindings=function(){$scope.$watch("vgTheme",this.onUpdateTheme.bind(this)),$scope.$watch("vgAutoPlay",this.onUpdateAutoPlay.bind(this)),$scope.$watch("vgStartTime",this.onUpdateStartTime.bind(this)),$scope.$watch("vgVirtualClipDuration",this.onUpdateVirtualClipDuration.bind(this)),$scope.$watch("vgPlaysInline",this.onUpdatePlaysInline.bind(this)),$scope.$watch("vgNativeFullscreen",this.onUpdateNativeFullscreen.bind(this)),$scope.$watch("vgCuePoints",this.onUpdateCuePoints.bind(this)),$scope.$watch("vgClearMediaOnNavigate",this.onUpdateClearMediaOnNavigate.bind(this))},this.onFullScreenChange=function(event){this.isFullScreen=vgFullscreen.isFullScreen(),$scope.$parent.$digest()},$scope.$on("$destroy",this.clearMedia.bind(this)),$scope.$on("$routeChangeStart",this.onRouteChange.bind(this)),this.init()}]),angular.module("com.2fdevs.videogular").directive("vgCrossorigin",[function(){return{restrict:"A",require:"^videogular",link:{pre:function(scope,elem,attr,API){var crossorigin;scope.setCrossorigin=function(value){value?API.mediaElement.attr("crossorigin",value):API.mediaElement.removeAttr("crossorigin")},API.isConfig?scope.$watch(function(){return API.config},function(){API.config&&scope.setCrossorigin(API.config.crossorigin)}):scope.$watch(attr.vgCrossorigin,function(newValue,oldValue){crossorigin&&newValue==oldValue||!newValue?scope.setCrossorigin():(crossorigin=newValue,
1scope.setCrossorigin(crossorigin))})}}}}]),angular.module("com.2fdevs.videogular").directive("vgLoop",[function(){return{restrict:"A",require:"^videogular",link:{pre:function(scope,elem,attr,API){var loop;scope.setLoop=function(value){value?API.mediaElement.attr("loop",value):API.mediaElement.removeAttr("loop")},API.isConfig?scope.$watch(function(){return API.config},function(){API.config&&scope.setLoop(API.config.loop)}):scope.$watch(attr.vgLoop,function(newValue,oldValue){loop&&newValue==oldValue||!newValue?scope.setLoop():(loop=newValue,scope.setLoop(loop))})}}}}]),angular.module("com.2fdevs.videogular").directive("vgMedia",["$timeout","VG_UTILS","VG_STATES",function($timeout,VG_UTILS,VG_STATES){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){var vgType=attrs.vgType||"video";return attrs.vgTemplate||"vg-templates/vg-media-"+vgType},scope:{vgSrc:"=?",vgType:"=?"},link:function(scope,elem,attrs,API){var sources;attrs.vgType&&"video"!==attrs.vgType?attrs.vgType="audio":attrs.vgType="video",scope.onChangeSource=function(newValue,oldValue){sources&&newValue==oldValue||!newValue||(sources=newValue,API.currentState!==VG_STATES.PLAY&&(API.currentState=VG_STATES.STOP),API.sources=sources,scope.changeSource())},scope.changeSource=function(){if(angular.isArray(sources)){var canPlay="";if(API.mediaElement[0].canPlayType){for(var i=0,l=sources.length;i<l;i++)if("maybe"==(canPlay=API.mediaElement[0].canPlayType(sources[i].type))||"probably"==canPlay){API.mediaElement.attr("src",sources[i].src),API.mediaElement.attr("type",sources[i].type),API.changeSource(sources[i]);break}}else API.mediaElement.attr("src",sources[0].src),API.mediaElement.attr("type",sources[0].type),API.changeSource(sources[0])}else API.mediaElement.attr("src",sources),API.changeSource(sources);VG_UTILS.isMobileDevice()&&API.mediaElement[0].load(),$timeout(function(){!API.autoPlay||!VG_UTILS.isCordova()&&VG_UTILS.isMobileDevice()||API.play()}),""==canPlay&&API.onVideoError()},API.mediaElement=elem.find(attrs.vgType),API.sources=scope.vgSrc,API.addListeners(),API.onVideoReady(),scope.$watch("vgSrc",scope.onChangeSource),scope.$watch(function(){return API.sources},scope.onChangeSource),scope.$watch(function(){return API.playsInline},function(newValue,oldValue){newValue?API.mediaElement.attr("webkit-playsinline",""):API.mediaElement.removeAttr("webkit-playsinline")}),API.isConfig&&scope.$watch(function(){return API.config},function(){API.config&&(scope.vgSrc=API.config.sources)})}}}]),angular.module("com.2fdevs.videogular").directive("vgNativeControls",[function(){return{restrict:"A",require:"^videogular",link:{pre:function(scope,elem,attr,API){var controls;scope.setControls=function(value){value?API.mediaElement.attr("controls",value):API.mediaElement.removeAttr("controls")},API.isConfig?scope.$watch(function(){return API.config},function(){API.config&&scope.setControls(API.config.controls)}):scope.$watch(attr.vgNativeControls,function(newValue,oldValue){controls&&newValue==oldValue||!newValue?scope.setControls():(controls=newValue,scope.setControls(controls))})}}}}]),angular.module("com.2fdevs.videogular").directive("vgPreload",[function(){return{restrict:"A",require:"^videogular",link:{pre:function(scope,elem,attr,API){var preload;scope.setPreload=function(value){value?API.mediaElement.attr("preload",value):API.mediaElement.removeAttr("preload")},API.isConfig?scope.$watch(function(){return API.config},function(){API.config&&scope.setPreload(API.config.preload)}):scope.$watch(attr.vgPreload,function(newValue,oldValue){preload&&newValue==oldValue||!newValue?scope.setPreload():(preload=newValue,scope.setPreload(preload))})}}}}]),angular.module("com.2fdevs.videogular").directive("vgTracks",[function(){return{restrict:"A",require:"^videogular",link:{pre:function(scope,elem,attr,API){var tracks,i,l,isMetaDataLoaded=!1;scope.onLoadMetaData=function(){isMetaDataLoaded=!0,scope.updateTracks()},scope.updateTracks=function(){var oldTracks=API.mediaElement.children();for(i=0,l=oldTracks.length;i<l;i++)oldTracks[i].remove&&oldTracks[i].remove();if(tracks)for(i=0,l=tracks.length;i<l;i++){var track=document.createElement("track");for(var prop in tracks[i])track[prop]=tracks[i][prop];track.addEventListener("load",scope.onLoadTrack.bind(scope,track)),API.mediaElement[0].appendChild(track)}},scope.onLoadTrack=function(track){track.default?track.mode="showing":track.mode="hidden";for(var i=0,l=API.mediaElement[0].textTracks.length;i<l;i++)track.label==API.mediaElement[0].textTracks[i].label&&(track.default?API.mediaElement[0].textTracks[i].mode="showing":API.mediaElement[0].textTracks[i].mode="disabled");track.removeEventListener("load",scope.onLoadTrack.bind(scope,track))},scope.setTracks=function(value){tracks=value,API.tracks=value,isMetaDataLoaded?scope.updateTracks():API.mediaElement[0].addEventListener("loadedmetadata",scope.onLoadMetaData.bind(scope),!1)},API.isConfig?scope.$watch(function(){return API.config},function(){API.config&&scope.setTracks(API.config.tracks)}):scope.$watch(attr.vgTracks,function(newValue,oldValue){tracks&&newValue==oldValue||scope.setTracks(newValue)},!0)}}}}]),angular.module("com.2fdevs.videogular").directive("videogular",[function(){return{restrict:"EA",scope:{vgTheme:"=?",vgAutoPlay:"=?",vgStartTime:"=?",vgVirtualClipDuration:"=?",vgPlaysInline:"=?",vgNativeFullscreen:"=?",vgClearMediaOnNavigate:"=?",vgCuePoints:"=?",vgConfig:"@",vgCanPlay:"&",vgComplete:"&",vgUpdateVolume:"&",vgUpdatePlayback:"&",vgUpdateTime:"&",vgUpdateState:"&",vgPlayerReady:"&",vgChangeSource:"&",vgSeeking:"&",vgSeeked:"&",vgError:"&"},controller:"vgController",controllerAs:"API",link:{pre:function(scope,elem,attr,controller){controller.videogularElement=angular.element(elem)}}}}]),angular.module("com.2fdevs.videogular").service("vgConfigLoader",["$http","$q","$sce",function($http,$q,$sce){this.loadConfig=function(url){var deferred=$q.defer();return $http({method:"GET",url:url}).then(function(response){for(var result=response.data,i=0,l=result.sources.length;i<l;i++)result.sources[i].src=$sce.trustAsResourceUrl(result.sources[i].src);deferred.resolve(result)},function(){deferred.reject()}),deferred.promise}}]),angular.module("com.2fdevs.videogular").service("vgFullscreen",["VG_UTILS",function(VG_UTILS){var element,polyfill=null,APIs={w3:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",onchange:"fullscreenchange",onerror:"fullscreenerror"},newWebkit:{enabled:"webkitFullscreenEnabled",element:"webkitFullscreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",onchange:"webkitfullscreenchange",onerror:"webkitfullscreenerror"},oldWebkit:{enabled:"webkitIsFullScreen",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullScreen",exit:"webkitCancelFullScreen",onchange:"webkitfullscreenchange",onerror:"webkitfullscreenerror"},moz:{enabled:"mozFullScreen",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",onchange:"mozfullscreenchange",onerror:"mozfullscreenerror"},ios:{enabled:"webkitFullscreenEnabled",element:"webkitFullscreenElement",request:"webkitEnterFullscreen",exit:"webkitExitFullscreen",onchange:"webkitfullscreenchange",onerror:"webkitfullscreenerror"},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",onchange:"MSFullscreenChange",onerror:"MSFullscreenError"}};for(var browser in APIs)if(APIs[browser].enabled in document){polyfill=APIs[browser];break}VG_UTILS.isiOSDevice()&&(polyfill=APIs.ios),this.isAvailable=null!=polyfill,polyfill&&(this.onchange=polyfill.onchange,this.onerror=polyfill.onerror,this.isFullScreen=function(){return element?null!=document[polyfill.element]||element.webkitDisplayingFullscreen:null!=document[polyfill.element]},this.exit=function(){document[polyfill.exit]()},this.request=function(elem){(element=elem)[polyfill.request]()})}]),angular.module("com.2fdevs.videogular").service("VG_UTILS",["$window",function($window){this.fixEventOffset=function($event){var matchedFF=navigator.userAgent.match(/Firefox\/(\d+)/i);if(matchedFF&&Number.parseInt(matchedFF.pop())<39){var style=$event.currentTarget.currentStyle||window.getComputedStyle($event.target,null),borderLeftWidth=parseInt(style.borderLeftWidth,10),borderTopWidth=parseInt(style.borderTopWidth,10),rect=$event.currentTarget.getBoundingClientRect(),offsetX=$event.clientX-borderLeftWidth-rect.left,offsetY=$event.clientY-borderTopWidth-rect.top;$event.offsetX=offsetX,$event.offsetY=offsetY}return $event},this.getZIndex=function(){for(var elementZIndex,zIndex=1,tags=document.getElementsByTagName("*"),i=0,l=tags.length;i<l;i++)(elementZIndex=parseInt(window.getComputedStyle(tags[i])["z-index"]))>zIndex&&(zIndex=elementZIndex+1);return zIndex},this.isMobileDevice=function(){return void 0!==window.orientation||-1!==navigator.userAgent.indexOf("IEMobile")},this.isiOSDevice=function(){return navigator.userAgent.match(/ip(hone|ad|od)/i)&&!navigator.userAgent.match(/(iemobile)[\/\s]?([\w\.]*)/i)},this.isCordova=function(){return-1===document.URL.indexOf("http://")&&-1===document.URL.indexOf("https://")},this.supportsLocalStorage=function(){try{var storage=$window.sessionStorage;return storage.setItem("videogular-test-key","1"),storage.removeItem("videogular-test-key"),"localStorage"in $window&&null!==$window.localStorage}catch(e){return!1}}}]),angular.module("com.2fdevs.videogular.plugins.buffering",[]).run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-buffering",'<div class="bufferingContainer">              <div ng-class="spinnerClass" class="loadingSpinner"></div>            </div>')}
1]).directive("vgBuffering",["VG_STATES","VG_UTILS",function(VG_STATES,VG_UTILS){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-buffering"},link:function(scope,elem,attr,API){scope.showSpinner=function(){scope.spinnerClass={stop:API.isBuffering},elem.css("display","block")},scope.hideSpinner=function(){scope.spinnerClass={stop:API.isBuffering},elem.css("display","none")},scope.setState=function(isBuffering){isBuffering?scope.showSpinner():scope.hideSpinner()},scope.onStateChange=function(state){state==VG_STATES.STOP&&scope.hideSpinner()},scope.onPlayerReady=function(isReady){isReady&&scope.hideSpinner()},scope.showSpinner(),VG_UTILS.isMobileDevice()?scope.hideSpinner():scope.$watch(function(){return API.isReady},function(newVal,oldVal){1!=API.isReady&&newVal==oldVal||scope.onPlayerReady(newVal)}),scope.$watch(function(){return API.currentState},function(newVal,oldVal){newVal!=oldVal&&scope.onStateChange(newVal)}),scope.$watch(function(){return API.isBuffering},function(newVal,oldVal){newVal!=oldVal&&scope.setState(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls",[]).run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-controls",'<div class="controls-container" ng-mousemove="onMouseMove()" ng-class="animationClass" ng-transclude></div>')}]).directive("vgControls",["$timeout","VG_STATES",function($timeout,VG_STATES){return{restrict:"E",require:"^videogular",transclude:!0,templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-controls"},scope:{vgAutohide:"=?",vgAutohideTime:"=?"},link:function(scope,elem,attr,API){var hideInterval,autoHideTime=2e3;scope.API=API,scope.onMouseMove=function(){scope.vgAutohide&&scope.showControls()},scope.setAutohide=function(value){value&&API.currentState==VG_STATES.PLAY?hideInterval=$timeout(scope.hideControls,autoHideTime):(scope.animationClass="",$timeout.cancel(hideInterval),scope.showControls())},scope.setAutohideTime=function(value){autoHideTime=value},scope.hideControls=function(){scope.animationClass="hide-animation"},scope.showControls=function(){scope.animationClass="show-animation",$timeout.cancel(hideInterval),scope.vgAutohide&&API.currentState==VG_STATES.PLAY&&(hideInterval=$timeout(scope.hideControls,autoHideTime))},API.isConfig?scope.$watch("API.config",function(){if(scope.API.config){var ahValue=scope.API.config.plugins.controls.autohide||!1,ahtValue=scope.API.config.plugins.controls.autohideTime||2e3;scope.vgAutohide=ahValue,scope.vgAutohideTime=ahtValue,scope.setAutohideTime(ahtValue),scope.setAutohide(ahValue)}}):(void 0!=scope.vgAutohide&&scope.$watch("vgAutohide",scope.setAutohide),void 0!=scope.vgAutohideTime&&scope.$watch("vgAutohideTime",scope.setAutohideTime)),scope.$watch(function(){return API.currentState},function(newVal,oldVal){scope.vgAutohide&&scope.showControls()})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-fullscreen-button",'<button class="iconButton" ng-click="onClickFullScreen()" ng-class="fullscreenIcon" aria-label="Toggle full screen" type="button"> </button>')}]).directive("vgFullscreenButton",[function(){return{restrict:"E",require:"^videogular",scope:{},templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-fullscreen-button"},link:function(scope,elem,attr,API){scope.onChangeFullScreen=function(isFullScreen){scope.fullscreenIcon={enter:!isFullScreen,exit:isFullScreen}},scope.onClickFullScreen=function(){API.toggleFullScreen()},scope.fullscreenIcon={enter:!0},scope.$watch(function(){return API.isFullScreen},function(newVal,oldVal){newVal!=oldVal&&scope.onChangeFullScreen(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-play-pause-button",'<button class="iconButton" ng-click="onClickPlayPause()" ng-class="playPauseIcon" aria-label="Play/Pause" type="button"></button>')}]).directive("vgPlayPauseButton",["VG_STATES",function(VG_STATES){return{restrict:"E",require:"^videogular",scope:{},templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-play-pause-button"},link:function(scope,elem,attr,API){scope.setState=function(newState){switch(newState){case VG_STATES.PLAY:scope.playPauseIcon={pause:!0};break;case VG_STATES.PAUSE:case VG_STATES.STOP:scope.playPauseIcon={play:!0}}},scope.onClickPlayPause=function(){API.playPause()},scope.playPauseIcon={play:!0},scope.$watch(function(){return API.currentState},function(newVal,oldVal){scope.setState(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-playback-button",'<button class="playbackValue iconButton" ng-click="onClickPlayback()">{{playback}}x</button>')}]).directive("vgPlaybackButton",[function(){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-playback-button"},scope:{vgSpeeds:"=?"},link:function(scope,elem,attr,API){scope.playback="1",scope.setPlayback=function(playback){scope.playback=playback,API.setPlayback(parseFloat(playback))},scope.onClickPlayback=function(){var playbackOptions=scope.vgSpeeds||["0.5","1","1.5","2"],nextPlaybackRate=playbackOptions.indexOf(scope.playback.toString())+1;nextPlaybackRate>=playbackOptions.length?scope.playback=playbackOptions[0]:scope.playback=playbackOptions[nextPlaybackRate],scope.setPlayback(scope.playback)},scope.$watch(function(){return API.playback},function(newVal,oldVal){newVal!=oldVal&&scope.setPlayback(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").directive("vgScrubBarBuffer",[function(){return{restrict:"E",require:"^videogular",link:function(scope,elem,attr,API){var percentTime=0;scope.onUpdateBuffer=function(newBuffer){"number"==typeof newBuffer&&API.totalTime?(percentTime=newBuffer/API.totalTime*100,elem.css("width",percentTime+"%")):elem.css("width",0)},scope.$watch(function(){return API.bufferEnd},function(newVal,oldVal){scope.onUpdateBuffer(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-scrub-bar-cue-points",'<div class="cue-point-timeline"><div ng-repeat="cuePoint in vgCuePoints" class="cue-point" ng-style="cuePoint.$$style"></div></div>')}]).directive("vgScrubBarCuePoints",[function(){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-scrub-bar-cue-points"},scope:{vgCuePoints:"="},link:function(scope,elem,attr,API){scope.onPlayerReady=function(){scope.updateCuePoints(scope.vgCuePoints)},scope.updateCuePoints=function(cuePoints){if(cuePoints){parseInt(elem[0].clientWidth);for(var i=0,l=cuePoints.length;i<l;i++){var cuePointDuration=1e3*((cuePoints[i].timeLapse.end>=0?cuePoints[i].timeLapse.end:cuePoints[i].timeLapse.start+1)-cuePoints[i].timeLapse.start),position=100*cuePoints[i].timeLapse.start/Math.round(API.totalTime/1e3)+"%",percentWidth=0;"number"==typeof cuePointDuration&&API.totalTime&&(percentWidth=100*cuePointDuration/API.totalTime+"%"),cuePoints[i].$$style={width:percentWidth,left:position}}}},scope.$watch("vgCuePoints",scope.updateCuePoints),scope.$watch(function(){return API.totalTime},function(newVal,oldVal){newVal>0&&scope.onPlayerReady()})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").directive("vgScrubBarCurrentTime",[function(){return{restrict:"E",require:"^videogular",link:function(scope,elem,attr,API){var percentTime=0;scope.onUpdateTime=function(newCurrentTime){"number"==typeof newCurrentTime&&API.totalTime?(percentTime=newCurrentTime/API.totalTime*100,elem.css("width",percentTime+"%")):elem.css("width",0)},scope.$watch(function(){return API.currentTime},function(newVal,oldVal){scope.onUpdateTime(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-scrub-bar-thumbnails",'<div class="vg-thumbnails" ng-show="thumbnails" ng-style="thumbnailContainer"><div class="image-thumbnail" ng-style="thumbnails"></div></div><div class="background"></div>')}]).directive("vgScrubBarThumbnails",["VG_UTILS",function(VG_UTILS){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-scrub-bar-thumbnails"},scope:{vgThumbnails:"="},link:function(scope,elem,attr,API){var thLoader,thumbnailsWidth=0,thumbWidth=0,slider=elem[0].querySelector(".background"),isStrip="string"==typeof scope.vgThumbnails;scope.thumbnails=!1,scope.thumbnailContainer={},scope.getOffset=function(event){for(var el=event.target,x=0;el&&!isNaN(el.offsetLeft);)x+=el.offsetLeft-el.scrollLeft,el=el.offsetParent;return event.clientX-x},scope.onLoadThumbnails=function(event){thumbnailsWidth=event.currentTarget.naturalWi
1dth,thumbWidth=thumbnailsWidth/100},scope.onLoadThumbnail=function(event){thumbWidth=event.currentTarget.naturalWidth},scope.updateThumbnails=function(second){var percentage=Math.round(100*second/(API.totalTime/1e3)),thPos=slider.scrollWidth*percentage/100-thumbWidth/2;if(isStrip){var bgPos=Math.round(thumbnailsWidth*percentage/100);scope.thumbnailContainer={width:thumbWidth+"px",left:thPos+"px"},scope.thumbnails={"background-image":'url("'+scope.vgThumbnails+'")',"background-position":-bgPos+"px 0px"}}else{var secondsByPixel=API.totalTime/slider.scrollWidth/1e3,lapse={start:Math.floor(second-secondsByPixel/2),end:Math.ceil(second)};if(lapse.start<0&&(lapse.start=0),lapse.end>API.totalTime&&(lapse.end=API.totalTime),scope.thumbnailContainer={left:thPos+"px"},scope.thumbnails={"background-image":"none"},scope.vgThumbnails)for(var i=0,l=scope.vgThumbnails.length;i<l;i++){var th=scope.vgThumbnails[i];if(th.timeLapse.end>=0){if(lapse.start>=th.timeLapse.start&&(lapse.end<=th.timeLapse.end||lapse.end<=th.timeLapse.start)){scope.thumbnails={"background-image":'url("'+th.params.thumbnail+'")'};break}}else if(th.timeLapse.start>=lapse.start&&th.timeLapse.start<=lapse.end){scope.thumbnails={"background-image":'url("'+th.params.thumbnail+'")'};break}}}},scope.onMouseMove=function($event){var second=Math.round($event.offsetX*API.mediaElement[0].duration/slider.scrollWidth);scope.updateThumbnails(second),scope.$digest()},scope.onTouchMove=function($event){var touches=$event.touches,touchX=scope.getOffset(touches[0]),second=Math.round(touchX*API.mediaElement[0].duration/slider.scrollWidth);scope.updateThumbnails(second),scope.$digest()},scope.onMouseLeave=function(event){scope.thumbnails=!1,scope.$digest()},scope.onTouchLeave=function(event){scope.thumbnails=!1,scope.$digest()},scope.onDestroy=function(){elem.unbind("touchmove",scope.onTouchMove),elem.unbind("touchleave",scope.onTouchLeave),elem.unbind("touchend",scope.onTouchLeave),elem.unbind("mousemove",scope.onMouseMove),elem.unbind("mouseleave",scope.onMouseLeave)},isStrip?((thLoader=new Image).onload=scope.onLoadThumbnails.bind(scope),thLoader.src=scope.vgThumbnails):((thLoader=new Image).onload=scope.onLoadThumbnail.bind(scope),thLoader.src=scope.vgThumbnails[0].params.thumbnail),VG_UTILS.isMobileDevice()?(elem.bind("touchmove",scope.onTouchMove),elem.bind("touchleave",scope.onTouchLeave),elem.bind("touchend",scope.onTouchLeave)):(elem.bind("mousemove",scope.onMouseMove),elem.bind("mouseleave",scope.onMouseLeave)),scope.$on("destroy",scope.onDestroy.bind(scope))}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-scrub-bar",'<div role="slider" aria-valuemax="{{ariaTime(API.totalTime)}}" aria-valuenow="{{ariaTime(API.currentTime)}}" aria-valuemin="0" aria-label="Time scrub bar" tabindex="0" ng-keydown="onScrubBarKeyDown($event)"></div><div class="container" ng-transclude></div>')}]).directive("vgScrubBar",["VG_STATES","VG_UTILS",function(VG_STATES,VG_UTILS){return{restrict:"E",require:"^videogular",transclude:!0,templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-scrub-bar"},scope:{vgThumbnails:"="},link:function(scope,elem,attr,API){var isSeeking=!1,isPlaying=!1,isPlayingWhenSeeking=!1,thumbnailsWidth=0,thumbWidth=0,slider=elem[0].querySelector("div[role=slider]");if(scope.thumbnails=!1,scope.thumbnailContainer={},scope.API=API,scope.onLoadThumbnails=function(event){thumbnailsWidth=event.path[0].naturalWidth,thumbWidth=thumbnailsWidth/100},scope.ariaTime=function(time){return Math.round(time/1e3)},scope.getOffset=function(event){for(var el=event.target,x=0;el&&!isNaN(el.offsetLeft);)x+=el.offsetLeft-el.scrollLeft,el=el.offsetParent;return event.clientX-x},scope.onScrubBarTouchStart=function($event){var touches=($event.originalEvent||$event).touches,touchX=scope.getOffset(touches[0]);isSeeking=!0,isPlaying&&(isPlayingWhenSeeking=!0),API.pause(),API.seekTime(touchX*API.mediaElement[0].duration/slider.scrollWidth),scope.$digest()},scope.onScrubBarTouchEnd=function($event){$event.originalEvent;isPlayingWhenSeeking&&(isPlayingWhenSeeking=!1,API.play()),isSeeking=!1,scope.$digest()},scope.onScrubBarTouchMove=function($event){var touches=($event.originalEvent||$event).touches,touchX=scope.getOffset(touches[0]);if(scope.vgThumbnails&&scope.vgThumbnails.length){var second=Math.round(touchX*API.mediaElement[0].duration/slider.scrollWidth),percentage=Math.round(100*second/(API.totalTime/1e3));scope.updateThumbnails(percentage)}isSeeking&&API.seekTime(touchX*API.mediaElement[0].duration/slider.scrollWidth),scope.$digest()},scope.onScrubBarTouchLeave=function(event){isSeeking=!1,scope.thumbnails=!1,scope.$digest()},scope.onScrubBarMouseDown=function(event){event=VG_UTILS.fixEventOffset(event),isSeeking=!0,isPlaying&&(isPlayingWhenSeeking=!0),API.pause(),API.seekTime(event.offsetX*API.mediaElement[0].duration/slider.scrollWidth),scope.$digest()},scope.onScrubBarMouseUp=function(event){isPlayingWhenSeeking&&(isPlayingWhenSeeking=!1,API.play()),isSeeking=!1,scope.$digest()},scope.onScrubBarMouseMove=function(event){if(scope.vgThumbnails&&scope.vgThumbnails.length){var second=Math.round(event.offsetX*API.mediaElement[0].duration/slider.scrollWidth),percentage=Math.round(100*second/(API.totalTime/1e3));scope.updateThumbnails(percentage)}isSeeking&&(event=VG_UTILS.fixEventOffset(event),API.seekTime(event.offsetX*API.mediaElement[0].duration/slider.scrollWidth)),scope.$digest()},scope.onScrubBarMouseLeave=function(event){isSeeking=!1,scope.thumbnails=!1,scope.$digest()},scope.onScrubBarKeyDown=function(event){var currentPercent=API.currentTime/API.totalTime*100;37===event.which||37===event.keyCode?(API.seekTime(currentPercent-5,!0),event.preventDefault()):39!==event.which&&39!==event.keyCode||(API.seekTime(currentPercent+5,!0),event.preventDefault())},scope.updateThumbnails=function(percentage){var bgPos=Math.round(thumbnailsWidth*percentage/100),thPos=slider.scrollWidth*percentage/100-thumbWidth/2;scope.thumbnailContainer={width:thumbWidth+"px",left:thPos+"px"},scope.thumbnails={"background-image":'url("'+scope.vgThumbnails+'")',"background-position":-bgPos+"px 0px"}},scope.setState=function(newState){if(!isSeeking)switch(newState){case VG_STATES.PLAY:isPlaying=!0;break;case VG_STATES.PAUSE:case VG_STATES.STOP:isPlaying=!1}},scope.onDestroy=function(){elem.unbind("touchstart",scope.onScrubBarTouchStart),elem.unbind("touchend",scope.onScrubBarTouchEnd),elem.unbind("touchmove",scope.onScrubBarTouchMove),elem.unbind("touchleave",scope.onScrubBarTouchLeave),elem.unbind("mousedown",scope.onScrubBarMouseDown),elem.unbind("mouseup",scope.onScrubBarMouseUp),elem.unbind("mousemove",scope.onScrubBarMouseMove),elem.unbind("mouseleave",scope.onScrubBarMouseLeave)},scope.$watch(function(){return API.currentState},function(newVal,oldVal){newVal!=oldVal&&scope.setState(newVal)}),scope.vgThumbnails){var thLoader=new Image;thLoader.onload=scope.onLoadThumbnails.bind(scope),thLoader.src=scope.vgThumbnails}VG_UTILS.isMobileDevice()?(elem.bind("touchstart",scope.onScrubBarTouchStart),elem.bind("touchend",scope.onScrubBarTouchEnd),elem.bind("touchmove",scope.onScrubBarTouchMove),elem.bind("touchleave",scope.onScrubBarTouchLeave)):(elem.bind("mousedown",scope.onScrubBarMouseDown),elem.bind("mouseup",scope.onScrubBarMouseUp),elem.bind("mousemove",scope.onScrubBarMouseMove),elem.bind("mouseleave",scope.onScrubBarMouseLeave)),scope.$on("destroy",scope.onDestroy.bind(scope))}}}]),angular.module("com.2fdevs.videogular.plugins.controls").directive("vgTimeDisplay",[function(){return{require:"^videogular",restrict:"E",link:function(scope,elem,attr,API){scope.currentTime=API.currentTime,scope.timeLeft=API.timeLeft,scope.totalTime=API.totalTime,scope.isLive=API.isLive,scope.$watch(function(){return API.currentTime},function(newVal,oldVal){scope.currentTime=newVal}),scope.$watch(function(){return API.timeLeft},function(newVal,oldVal){scope.timeLeft=newVal}),scope.$watch(function(){return API.totalTime},function(newVal,oldVal){scope.totalTime=newVal}),scope.$watch(function(){return API.isLive},function(newVal,oldVal){scope.isLive=newVal})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-mute-button",'<button type="button" class="iconButton" ng-class="muteIcon" ng-click="onClickMute()" ng-focus="onMuteButtonFocus()" ng-blur="onMuteButtonLoseFocus()" ng-mouseleave="onMuteButtonLeave()" ng-keydown="onMuteButtonKeyDown($event)" aria-label="Mute"></button>')}]).directive("vgMuteButton",[function(){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-mute-button"},link:function(scope,elem,attr,API){var isMuted=!1;scope.onClickMute=function(){isMuted?scope.currentVolume=scope.defaultVolume:(scope.currentVolume=0,scope.muteIcon={mute:!0}),isMuted=!isMuted,API.setVolume(scope.currentVolume)},scope.onMuteButtonFocus=function(){scope.volumeVisibility="visible"},scope.onMuteButtonLoseFocus=function(){scope.volumeVisibility="hidden"},scope.onMuteButtonLeave=function(){document.activeElement.blur()},scope.onMuteButtonKeyDown=function(event){var newVolume,currentVolume=null!=API.volume?API.volume:1;38===event.which||38===event.keyCode?((newVolume=currentVolume+.05)>1&&(newVolume=1),API.setVolume(newVolume),event.preventDefault()):40!==event.which&&40!==event.keyCode||((newVolume=currentVolume-.05)<0&&(newVolume=0),API.setVolume(newVolume),event.preventDefault())},scope.onSetVolume=function(newVolume){scope.currentVolume=newVolume,(isMuted=0===scope.currentVolume)?newVolume>0&&(scope.defaultVolume=newVolume):scope.defaultVolume=newVolume;var percentValue=Math.round(100*newVolume);0==percentValue?scope.muteIcon={mute:!0}:percentValue>0&&percentValue<25?scope.muteIcon={level0:!0}:percentValue>=25&&percentValue<50?scope.muteIcon={level1:!0}:percentValue>=50&&percentValue<75?scope.muteIcon={level2:!0}:percentValue>=75&&(scope.muteIcon={level3:!0})},scope.defaultVolume=1,scope.currentVolume=scope.defaultVolume,scope.muteIcon={level3:!0},scope.onSetVolume(API.volume),scope.$watch(function(){return API.volume},function(newVal,oldVal){newVal!=oldVal&&scope.onSetVolume(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-volume-bar",'<div class="verticalVolumeBar">
1              <div class="volumeBackground" ng-click="onClickVolume($event)" ng-mousedown="onMouseDownVolume()" ng-mouseup="onMouseUpVolume()" ng-mousemove="onMouseMoveVolume($event)" ng-mouseleave="onMouseLeaveVolume()">                <div class="volumeValue"></div>                <div class="volumeClickArea"></div>              </div>            </div>')}]).directive("vgVolumeBar",["VG_UTILS",function(VG_UTILS){return{restrict:"E",require:"^videogular",templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-volume-bar"},link:function(scope,elem,attr,API){var isChangingVolume=!1,volumeBackElem=angular.element(elem[0].getElementsByClassName("volumeBackground")),volumeValueElem=angular.element(elem[0].getElementsByClassName("volumeValue"));scope.onClickVolume=function(event){event=VG_UTILS.fixEventOffset(event);var volumeHeight=parseInt(volumeBackElem.prop("offsetHeight")),volValue=1-100*event.offsetY/volumeHeight/100;API.setVolume(volValue)},scope.onMouseDownVolume=function(){isChangingVolume=!0},scope.onMouseUpVolume=function(){isChangingVolume=!1},scope.onMouseLeaveVolume=function(){isChangingVolume=!1},scope.onMouseMoveVolume=function(event){if(isChangingVolume){event=VG_UTILS.fixEventOffset(event);var volumeHeight=parseInt(volumeBackElem.prop("offsetHeight")),volValue=1-100*event.offsetY/volumeHeight/100;API.setVolume(volValue)}},scope.updateVolumeView=function(value){value*=100,volumeValueElem.css("height",value+"%"),volumeValueElem.css("top",100-value+"%")},scope.onChangeVisibility=function(value){elem.css("visibility",value)},elem.css("visibility",scope.volumeVisibility),scope.$watch("volumeVisibility",scope.onChangeVisibility),scope.updateVolumeView(API.volume),scope.$watch(function(){return API.volume},function(newVal,oldVal){newVal!=oldVal&&scope.updateVolumeView(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.controls").directive("vgVolume",["VG_UTILS",function(VG_UTILS){return{restrict:"E",link:function(scope,elem,attr){scope.onMouseOverVolume=function(){scope.$evalAsync(function(){scope.volumeVisibility="visible"})},scope.onMouseLeaveVolume=function(){scope.$evalAsync(function(){scope.volumeVisibility="hidden"})},scope.onDestroy=function(){elem.unbind("mouseover",scope.onScrubBarTouchStart),elem.unbind("mouseleave",scope.onScrubBarTouchEnd)},VG_UTILS.isMobileDevice()?elem.css("display","none"):(scope.volumeVisibility="hidden",elem.bind("mouseover",scope.onMouseOverVolume),elem.bind("mouseleave",scope.onMouseLeaveVolume)),scope.$on("destroy",scope.onDestroy.bind(scope))}}}]),angular.module("com.2fdevs.videogular.plugins.overlayplay",[]).run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-overlay-play",'<div class="overlayPlayContainer" ng-click="onClickOverlayPlay()">                  <div class="iconButton" ng-class="overlayPlayIcon"></div>                </div>')}]).directive("vgOverlayPlay",["VG_STATES",function(VG_STATES){return{restrict:"E",require:"^videogular",scope:{},templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-overlay-play"},link:function(scope,elem,attr,API){scope.onChangeState=function(newState){switch(newState){case VG_STATES.PLAY:scope.overlayPlayIcon={};break;case VG_STATES.PAUSE:case VG_STATES.STOP:scope.overlayPlayIcon={play:!0}}},scope.onClickOverlayPlay=function(event){API.playPause()},scope.overlayPlayIcon={play:!0},scope.$watch(function(){return API.currentState},function(newVal,oldVal){scope.onChangeState(newVal)})}}}]),angular.module("com.2fdevs.videogular.plugins.poster",[]).run(["$templateCache",function($templateCache){$templateCache.put("vg-templates/vg-poster",'<img ng-src="{{vgUrl}}" ng-class="API.currentState" role="presentation" alt="">')}]).directive("vgPoster",[function(){return{restrict:"E",require:"^videogular",scope:{vgUrl:"=?"},templateUrl:function(elem,attrs){return attrs.vgTemplate||"vg-templates/vg-poster"},link:function(scope,elem,attr,API){scope.API=API,API.isConfig&&scope.$watch("API.config",function(){scope.API.config&&(scope.vgUrl=scope.API.config.plugins.poster.url)})}}}]),angular.module("info.vietnamcode.nampnq.videogular.plugins.youtube",[]).run(["$rootScope","$
1window",function($rootScope,$window){$rootScope.youtubeApiReady=!1,$window.onYouTubeIframeAPIReady=function(){$rootScope.$apply(function(){$rootScope.youtubeApiReady=!0})};var tag=document.createElement("script");tag.src="https://www.youtube.com/iframe_api";var firstScriptTag=document.getElementsByTagName("script")[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag)}]).directive("vgYoutube",["$rootScope","$window","$timeout","$interval","VG_STATES",function($rootScope,$window,$timeout,$interval,VG_STATES){return{restrict:"A",require:"^videogular",link:function(scope,elem,attr,API){var ytplayer,updateTimer,optionsArr,playerVars,youtubeReg=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;function getYoutubeId(url){return url.match(youtubeReg)[2]}function onVideoReady(){API.mediaElement[0].__defineGetter__("currentTime",function(){return ytplayer.getCurrentTime()}),API.mediaElement[0].__defineSetter__("currentTime",function(seconds){return ytplayer.seekTo(seconds,!0)}),API.mediaElement[0].__defineGetter__("duration",function(){return ytplayer.getDuration()}),API.mediaElement[0].__defineGetter__("paused",function(){return ytplayer.getPlayerState()!=YT.PlayerState.PLAYING}),API.mediaElement[0].__defineGetter__("videoWidth",function(){return ytplayer.a.width}),API.mediaElement[0].__defineGetter__("videoHeight",function(){return ytplayer.a.height}),API.mediaElement[0].__defineGetter__("volume",function(){return ytplayer.getVolume()/100}),API.mediaElement[0].__defineSetter__("volume",function(volume){return ytplayer.setVolume(100*volume)}),API.mediaElement[0].play=function(){ytplayer.playVideo()},API.mediaElement[0].pause=function(){ytplayer.pauseVideo()},updateTime(),angular.element(ytplayer.getIframe()).css({width:"100%",height:"100%"});var event=new CustomEvent("canplay");API.mediaElement[0].dispatchEvent(event)}function updateTime(){API.onUpdateTime({target:API.mediaElement[0]})}function stopUpdateTimer(){updateTimer&&clearInterval(updateTimer)}function onVideoStateChange(event){var interval;event.target;switch(event.data){case YT.PlayerState.ENDED:stopUpdateTimer(),API.onComplete();break;case YT.PlayerState.PLAYING:event=new CustomEvent("playing");API.mediaElement[0].dispatchEvent(event),API.setState(VG_STATES.PLAY),interval=600,updateTimer&&stopUpdateTimer(),updateTimer=setInterval(updateTime,interval);break;case YT.PlayerState.PAUSED:API.currentState==VG_STATES.PLAY&&API.setState(VG_STATES.PAUSE),stopUpdateTimer();break;case YT.PlayerState.BUFFERING:event=new CustomEvent("waiting");API.mediaElement[0].dispatchEvent(event);break;case YT.PlayerState.CUED:}}function onSourceChange(url){!function(url){return!!url&&url.match(youtubeReg)}(url)?ytplayer&&ytplayer.destroy():function(url){ytplayer?ytplayer.cueVideoById({videoId:getYoutubeId(url)}):$rootScope.$watch("youtubeApiReady",function(value){value&&(ytplayer=new YT.Player(API.mediaElement[0],{videoId:getYoutubeId(url),playerVars:playerVars,events:{onReady:onVideoReady,onStateChange:onVideoStateChange}}))})}(url)}optionsArr=null!==attr.vgYoutube?attr.vgYoutube.split(";"):null,playerVars={controls:0,showinfo:0,rel:0,autoplay:0,start:0},null!==optionsArr&&optionsArr.forEach(function(item){var keyValuePair=item.split("=");playerVars.hasOwnProperty(keyValuePair[0])&&(playerVars[keyValuePair[0]]=keyValuePair[1]||0)}),scope.$watch(function(){return API.sources},function(newVal,oldVal){newVal&&newVal.length>0&&newVal[0].src?onSourceChange(newVal[0].src.toString()):onSourceChange(null)}),scope.$on("$destroy",function(){stopUpdateTimer()})}}}]),angular.module("com.2fdevs.videogular.plugins.dash",[]).directive("vgDash",["$window",function($window){return{restrict:"A",require:"^videogular",link:function(scope,elem,attr,API){var player,dashTypeRegEx=/^application\/dash\+xml/i;"MediaSource"in $window&&(scope.isDASH=function(source){var hasDashType=dashTypeRegEx.test(source.type),hasDashExtension=source.src.indexOf&&source.src.indexOf(".mpd")>0;return hasDashType||hasDashExtension},scope.onSourceChange=function(source){var url=source.src;scope.isDASH(source)?angular.isFunction(dashjs&&dashjs.MediaPlayer)?(player=dashjs.MediaPlayer().create()).initialize(API.mediaElement[0],url,API.autoPlay):((player=new MediaPlayer(ne
1w Dash.di.DashContext)).setAutoPlay(API.autoPlay),player.startup(),player.attachView(API.mediaElement[0]),player.attachSource(url)):player&&(player.reset(),player=null,API.mediaElement.attr("src",url),API.stop())},scope.$watch(function(){return API.sources},function(newVal,oldVal){scope.onSourceChange(newVal[0])}))}}}]),function(root,factory){"object"==typeof exports?module.exports=factory(require("angular")):"function"==typeof define&&define.amd?define(["angular"],factory):factory(root.angular)}(this,function(angular){return angular.module("ngMap",[]),function(){"use strict";var Attr2MapOptions,__MapController=function($scope,$element,$attrs,$parse,_Attr2MapOptions_,NgMap,NgMapPool){Attr2MapOptions=_Attr2MapOptions_;var vm=this;vm.mapOptions,vm.mapEvents,vm.eventListeners,vm.addObject=function(groupName,obj){if(vm.map){vm.map[groupName]=vm.map[groupName]||{};var len=Object.keys(vm.map[groupName]).length;vm.map[groupName][obj.id||len]=obj,vm.map instanceof google.maps.Map&&("infoWindows"!=groupName&&obj.setMap&&obj.setMap&&obj.setMap(vm.map),obj.centered&&obj.position&&vm.map.setCenter(obj.position),"markers"==groupName&&vm.objectChanged("markers"),"customMarkers"==groupName&&vm.objectChanged("customMarkers"))}},vm.deleteObject=function(groupName,obj){if(obj.map){var objs=obj.map[groupName];for(var name in objs)objs[name]===obj&&(google.maps.event.clearInstanceListeners(obj),delete objs[name]);obj.map&&obj.setMap&&obj.setMap(null),"markers"==groupName&&vm.objectChanged("markers"),"customMarkers"==groupName&&vm.objectChanged("customMarkers")}},vm.observeAttrSetObj=function(orgAttrs,attrs,obj){if(attrs.noWatcher)return!1;for(var attrsToObserve=Attr2MapOptions.getAttrsToObserve(orgAttrs),i=0;i<attrsToObserve.length;i++){var attrName=attrsToObserve[i];attrs.$observe(attrName,NgMap.observeAndSet(attrName,obj))}},vm.zoomToIncludeMarkers=function(){if(null!=vm.map.markers&&Object.keys(vm.map.markers).length>0||null!=vm.map.customMarkers&&Object.keys(vm.map.customMarkers).length>0){var bounds=new google.maps.LatLngBounds;for(var k1 in vm.map.markers)bounds.extend(vm.map.markers[k1].getPosition());for(var k2 in vm.map.customMarkers)bounds.extend(vm.map.customMarkers[k2].getPosition());vm.mapOptions.maximumZoom&&(vm.enableMaximumZoomCheck=!0),vm.map.fitBounds(bounds)}},vm.objectChanged=function(group){!vm.map||"markers"!=group&&"customMarkers"!=group||"auto"!=vm.map.zoomToIncludeMarkers||vm.zoomToIncludeMarkers()},vm.initializeMap=function(){var mapOptions=vm.mapOptions,mapEvents=vm.mapEvents,lazyInitMap=vm.map;if(vm.map=NgMapPool.getMapInstance($element[0]),NgMap.setStyle($element[0]),lazyInitMap){var filtered=Attr2MapOptions.filter($attrs),options=Attr2MapOptions.getOptions(filtered),controlOptions=Attr2MapOptions.getControlOptions(filtered);for(var group in mapOptions=angular.extend(options,controlOptions),lazyInitMap){var groupMembers=lazyInitMap[group];if("object"==typeof groupMembers)for(var id in groupMembers)vm.addObject(group,groupMembers[id])}vm.map.showInfoWindow=vm.showInfoWindow,vm.map.hideInfoWindow=vm.hideInfoWindow}mapOptions.zoom=mapOptions.zoom||15;var center=mapOptions.center;if(!mapOptions.center||"string"==typeof center&&center.match(/\{\{.*\}\}/))mapOptions.center=new google.maps.LatLng(0,0);else if("string"==typeof center&&center.match(/[0-9.-]*,[0-9.-]*/))mapOptions.center=new google.maps.LatLng(center);else if(!(center instanceof google.maps.LatLng)){var geoCenter=mapOptions.center;delete mapOptions.center,NgMap.getGeoLocation(geoCenter,mapOptions.geoLocationOptions).then(function(latlng){vm.map.setCenter(latlng);var geoCallback=mapOptions.geoCallback;geoCallback&&$parse(geoCallback)($scope)},function(){mapOptions.geoFallbackCenter&&vm.map.setCenter(mapOptions.geoFallbackCenter)})}for(var eventName in vm.map.setOptions(mapOptions),mapEvents){var event=mapEvents[eventName],listener=google.maps.event.addListener(vm.map,eventName,event);vm.eventListeners[eventName]=listener}vm.observeAttrSetObj(orgAttrs,$attrs,vm.map),vm.singleInfoWindow=mapOptions.singleInfoWindow,google.maps.event.trigger(vm.map,"resize"),google.maps.event.addListenerOnce(vm.map,"idle",function(){NgMap.addMap(vm),mapOptions.zoomToIncludeMarkers&&vm.zoomToIncludeMarkers(),$scope.map=vm.map,$scope.$emit("mapInitialized",vm.map),$attrs.mapInitialized&&$parse($attrs.mapInitialized)($scope,{map:vm.map})}),mapOptions.zoomToIncludeMarkers&&mapOptions.maximumZoom&&google.maps.event.addListener(vm.map,"zoom_changed",function(){1==vm.enableMaximumZoomCheck&&(vm.enableMaximumZoomCheck=!1,google.maps.event.addListenerOnce(vm.map,"bounds_changed",function(){vm.map.setZoom(Math.min(mapOptions.maximumZoom,vm.map.getZoom()))}))})},$scope.google=google;var orgAttrs=Attr2MapOptions.orgAttributes($element),filtered=Attr2MapOptions.filter($attrs),options=Attr2MapOptions.getOptions(filtered,{scope:$scope}),controlOptions=Attr2MapOptions.getControlOptions(filtered),mapOptions=angular.extend(options,controlOptions),mapEvents=Attr2MapOptions.getEvents($scope,filtered);if(Object.keys(mapEvents).length,vm.mapOptions=mapOptions,vm.mapEvents=mapEvents,vm.eventListeners={},options.lazyInit){if($attrs.id&&0===$attrs.id.indexOf("{{",0)&&-1!==$attrs.id.indexOf("}}",$attrs.id.length-"}}".length))var idExpression=$attrs.id.slice(2,-2),mapId=$parse(idExpression)($scope);else mapId=$attrs.id;vm.map={id:mapId},NgMap.addMap(vm)}else vm.initializeMap();options.triggerResize&&google.maps.event.trigger(vm.map,"resize"),$element.bind("$destroy",function(){NgMapPool.returnMapInstance(vm.map),NgMap.deleteMap(vm)}
1)};__MapController.$inject=["$scope","$element","$attrs","$parse","Attr2MapOptions","NgMap","NgMapPool"],angular.module("ngMap").controller("__MapController",__MapController)}(),function(){"use strict";var parser,linkFunc=function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered),layer=getLayer(options,events);mapController.addObject("bicyclingLayers",layer),mapController.observeAttrSetObj(orgAttrs,attrs,layer),element.bind("$destroy",function(){mapController.deleteObject("bicyclingLayers",layer)})},getLayer=function(options,events){var layer=new google.maps.BicyclingLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer},bicyclingLayer=function(Attr2MapOptions){return parser=Attr2MapOptions,{restrict:"E",require:["?^map","?^ngMap"],link:linkFunc}};bicyclingLayer.$inject=["Attr2MapOptions"],angular.module("ngMap").directive("bicyclingLayer",bicyclingLayer)}(),function(){"use strict";var parser,$compile,linkFunc=function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered),customControlEl=element[0].parentElement.removeChild(element[0]);for(var eventName in $compile(customControlEl.innerHTML.trim())(scope),events)google.maps.event.addDomListener(customControlEl,eventName,events[eventName]);mapController.addObject("customControls",customControlEl);var position=options.position;mapController.map.controls[google.maps.ControlPosition[position]].push(customControlEl),element.bind("$destroy",function(){mapController.deleteObject("customControls",customControlEl)})},customControl=function(Attr2MapOptions,_$compile_,_NgMap_){return parser=Attr2MapOptions,$compile=_$compile_,_NgMap_,{restrict:"E",require:["?^map","?^ngMap"],link:linkFunc}};customControl.$inject=["Attr2MapOptions","$compile","NgMap"],angular.module("ngMap").directive("customControl",customControl)}(),function(){"use strict";var parser,$timeout,$compile,NgMap,CustomMarker=function(options){for(var key in options=options||{},this.el=document.createElement("div"),this.el.style.display="inline-block",this.el.style.visibility="hidden",this.visible=!0,options)this[key]=options[key]},customMarkerDirective=function(_$timeout_,_$compile_,Attr2MapOptions,_NgMap_){return parser=Attr2MapOptions,$timeout=_$timeout_,$compile=_$compile_,NgMap=_NgMap_,{restrict:"E",require:["?^map","?^ngMap"],compile:function(element){(CustomMarker.prototype=new google.maps.OverlayView).setContent=function(html,scope){this.el.innerHTML=html,this.el.style.position="absolute",scope&&$compile(angular.element(this.el).contents())(scope)},CustomMarker.prototype.getDraggable=function(){return this.draggable},CustomMarker.prototype.setDraggable=function(draggable){this.draggable=draggable},CustomMarker.prototype.getPosition=function(){return this.position},CustomMarker.prototype.setPosition=function(position){if(position&&(this.position=position),this.getProjection()&&"function"==typeof this.position.lng){var _this=this,setPosition=function(){var posPixel=_this.getProjection().fromLatLngToDivPixel(_this.position),x=Math.round(posPixel.x-_this.el.offsetWidth/2),y=Math.round(posPixel.y-_this.el.offsetHeight-10);_this.el.style.left=x+"px",_this.el.style.top=y+"px",_this.el.style.visibility="visible"};_this.el.offsetWidth&&_this.el.offsetHeight?setPosition():$timeout(setPosition,300)}},CustomMarker.prototype.setZIndex=function(zIndex){zIndex&&(this.zIndex=zIndex),this.el.style.zIndex=this.zIndex},CustomMarker.prototype.getVisible=function(){return this.visible},CustomMarker.prototype.setVisible=function(visible){this.el.style.display=visible?"inline-block":"none",this.visible=visible},CustomMarker.prototype.addClass=function(className){var classNames=this.el.className.trim().split(" ");-1==classNames.indexOf(className)&&classNames.push(className),this.el.className=classNames.join(" ")},CustomMarker.prototype.removeClass=function(className){var classNames=this.el.className.split(" "),index=classNames.indexOf(className);index>-1&&classNames.splice(index,1),this.el.className=classNames.join(" ")},CustomMarker.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.el)},CustomMarker.prototype.draw=function(){this.setPosition(),this.setZIndex(this.zIndex),this.setVisible(this.visible)}
1,CustomMarker.prototype.onRemove=function(){this.el.parentNode.removeChild(this.el)},element[0].style.display="none";var orgHtml=element.html(),varsToWatch=[];return(orgHtml.match(/{{([^}]+)}}/g)||[]).forEach(function(match){var toWatch=match.replace("{{","").replace("}}","");-1==match.indexOf("::")&&-1==match.indexOf("this.")&&-1==varsToWatch.indexOf(toWatch)&&varsToWatch.push(match.replace("{{","").replace("}}",""))}),function(orgHtml,varsToWatch){return function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered);element[0].style.display="none";var customMarker=new CustomMarker(options);for(var eventName in $timeout(function(){scope.$watch("["+varsToWatch.join(",")+"]",function(){customMarker.setContent(orgHtml,scope)},!0),customMarker.setContent(element[0].innerHTML,scope);var classNames=element[0].firstElementChild.className;customMarker.addClass("custom-marker"),customMarker.addClass(classNames),options.position instanceof google.maps.LatLng||NgMap.getGeoLocation(options.position).then(function(latlng){customMarker.setPosition(latlng)})}),events)google.maps.event.addDomListener(customMarker.el,eventName,events[eventName]);mapController.addObject("customMarkers",customMarker),mapController.observeAttrSetObj(orgAttrs,attrs,customMarker),element.bind("$destroy",function(){mapController.deleteObject("customMarkers",customMarker)})}}(orgHtml,varsToWatch)}}};customMarkerDirective.$inject=["$timeout","$compile","Attr2MapOptions","NgMap"],angular.module("ngMap").directive("customMarker",customMarkerDirective)}(),function(){"use strict";var NgMap,$timeout,NavigatorGeolocation,updateRoute=function(renderer,options){var directionsService=new google.maps.DirectionsService,request=options;request.travelMode=request.travelMode||"DRIVING";var validKeys=["origin","destination","travelMode","transitOptions","unitSystem","durationInTraffic","waypoints","optimizeWaypoints","provideRouteAlternatives","avoidHighways","avoidTolls","region"];for(var key in request)-1===validKeys.indexOf(key)&&delete request[key];request.waypoints&&("[]"!=request.waypoints&&""!==request.waypoints||delete request.waypoints);var showDirections=function(request){directionsService.route(request,function(response,status){status==google.maps.DirectionsStatus.OK&&$timeout(function(){renderer.setDirections(response)})})};request.origin&&request.destination&&("current-location"==request.origin?NavigatorGeolocation.getCurrentPosition().then(function(ll){request.origin=new google.maps.LatLng(ll.coords.latitude,ll.coords.longitude),showDirections(request)}):"current-location"==request.destination?NavigatorGeolocation.getCurrentPosition().then(function(ll){request.destination=new google.maps.LatLng(ll.coords.latitude,ll.coords.longitude),showDirections(request)}):showDirections(request))},directions=function(Attr2MapOptions,_$timeout_,_NavigatorGeolocation_,_NgMap_){var parser=Attr2MapOptions;NgMap=_NgMap_,$timeout=_$timeout_,NavigatorGeolocation=_NavigatorGeolocation_;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered),attrsToObserve=parser.getAttrsToObserve(orgAttrs),renderer=function(options,events){options.panel&&(options.panel=document.getElementById(options.panel)||document.querySelector(options.panel));var renderer=new google.maps.DirectionsRenderer(options);for(var eventName in events)google.maps.event.addListener(renderer,eventName,events[eventName]);return renderer}(options,events);mapController.addObject("directionsRenderers",renderer),attrsToObserve.forEach(function(attrName){!function(attrName){attrs.$observe(attrName,function(val){if("panel"==attrName)$timeout(function(){var panel=document.getElementById(val)||document.querySelector(val);panel&&renderer.setPanel(panel)});else if(options[attrName]!==val){var optionValue=parser.toOptionValue(val,{key:attrName});options[attrName]=optionValue,updateRoute(renderer,options)}})}(attrName)}),NgMap.getMap().then(function(){updateRoute(renderer,options)}),element.bind("$destroy",function(){mapController.deleteObject("directionsRenderers",renderer)})}}};
1directions.$inject=["Attr2MapOptions","$timeout","NavigatorGeolocation","NgMap"],angular.module("ngMap").directive("directions",directions)}(),function(){"use strict";angular.module("ngMap").directive("drawingManager",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),controlOptions=parser.getControlOptions(filtered),events=parser.getEvents(scope,filtered),drawingManager=new google.maps.drawing.DrawingManager({drawingMode:options.drawingmode,drawingControl:options.drawingcontrol,drawingControlOptions:controlOptions.drawingControlOptions,circleOptions:options.circleoptions,markerOptions:options.markeroptions,polygonOptions:options.polygonoptions,polylineOptions:options.polylineoptions,rectangleOptions:options.rectangleoptions});for(var eventName in attrs.$observe("drawingControlOptions",function(newValue){drawingManager.drawingControlOptions=parser.getControlOptions({drawingControlOptions:newValue}).drawingControlOptions,drawingManager.setDrawingMode(null),drawingManager.setMap(mapController.map)}),events)google.maps.event.addListener(drawingManager,eventName,events[eventName]);mapController.addObject("mapDrawingManager",drawingManager),element.bind("$destroy",function(){mapController.deleteObject("mapDrawingManager",drawingManager)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("dynamicMapsEngineLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered,events),layer=function(options,events){var layer=new google.maps.visualization.DynamicMapsEngineLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer}(options,events);mapController.addObject("mapsEngineLayers",layer)}}}])}(),function(){"use strict";angular.module("ngMap").directive("fusionTablesLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered,events),layer=function(options,events){var layer=new google.maps.FusionTablesLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer}(options,events);mapController.addObject("fusionTablesLayers",layer)}}}])}(),function(){"use strict";angular.module("ngMap").directive("heatmapLayer",["Attr2MapOptions","$window",function(Attr2MapOptions,$window){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope});if(options.data=$window[attrs.data]||scope[attrs.data],!(options.data instanceof Array))throw"invalid heatmap data";options.data=new google.maps.MVCArray(options.data);var layer=new google.maps.visualization.HeatmapLayer(options);parser.getEvents(scope,filtered);mapController.addObject("heatmapLayers",layer)}}}])}(),function(){"use strict";var infoWindow=function(Attr2MapOptions,$compile,$q,$templateRequest,$timeout,$parse,NgMap){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1],element.css("display","none");var address,orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),infoWindow=function(options,events,element){var infoWindow;for(var eventName in!options.position||options.position instanceof google.maps.LatLng||delete options.position,infoWindow=new google.maps.InfoWindow(options),events)eventName&&google.maps.event.addListener(infoWindow,eventName,events[eventName]);var templatePromise=$q(function(resolve){angular.isString(element)?$templateRequest(element).then(function(requestedTemplate){resolve(angular.element(requestedTemplate).wrap("<div>").parent())},function(message){throw"info-window template request failed: "+message}):resolve(element)}).then(function(resolvedTemplate){var template=resolvedTemplate.html().trim();if(1!=angular.element(template).length)throw"info-window working as a template must have a container";infoWindow.__template=template.replace(/\s?ng-non-bindable[='"]+/,"")});return infoWindow.__open=function(map,scope,anchor){templatePromise.then(function(){$timeout(function(){anchor&&(scope.anchor=anchor);var el=$compile(infoWindow.__template)(scope);infoWindow.setContent(el[0]),scope.$apply(),anchor&&anchor.getPosition?infoWindow.open(map,anchor):anchor&&anchor instanceof google.maps.LatLng?(infoWindow.open(map),infoWindow.setPosition(anchor)):infoWindow.open(map),infoWindow.content.parentElement.parentElement.parentElement.className="ng-map-info-window"})})},infoWindow}(options,parser.getEvents(scope,filtered),options.template||element);!options.position||options.position instanceof google.maps.LatLng||(address=options.position),address&&NgMap.getGeoLocation(address).then(function(latlng){infoWindow.setPosition(latlng),infoWindow.__open(mapController.map,scope,latlng);var geoCallback=attrs.geoCallback;geoCallback&&$parse(geoCallback)(scope)}),mapController.addObject("infoWindows",infoWindow),mapController.observeAttrSetObj(orgAttrs,attrs,infoWindow),mapController.showInfoWindow=mapController.map.showInfoWindow=mapController.showInfoWindow||function(p1,p2,p3){var id="string"==typeof p1?p1:p2,marker="string"==typeof p1?p2:p3;if("string"==typeof marker)if(void 0!==mapController.map.markers&&void 0!==mapController.map.markers[marker])marker=mapController.map.markers[marker];else{if(mapController.map.customMarkers,void 0===mapController.map.customMarkers[marker])throw new Error("Cant open info window for id "+marker+". Marker or CustomMarker is not defined");marker=mapController.map.customMarkers[marker]}var infoWindow=mapController.map.infoWindows[id],anchor=marker||(this.getPosition?this:null);infoWindow.__open(mapController.map,scope,anchor),mapController.singleInfoWindow&&(mapController.lastInfoWindow&&scope.hideInfoWindow(mapController.lastInfoWindow),mapController.lastInfoWindow=id)},mapController.hideInfoWindow=mapController.map.hideInfoWindow=mapController.hideInfoWindow||function(p1,p2){var id="string"==typeof p1?p1:p2;mapController.map.infoWindows[id].close()},scope.showInfoWindow=mapController.map.showInfoWindow,scope.hideInfoWindow=mapController.map.hideInfoWindow;var map=infoWindow.mapId?{id:infoWindow.mapId}:0;NgMap.getMap(map).then(function(map){if(infoWindow.visible&&infoWindow.__open(map,scope),infoWindow.visibleOnMarker){var markerId=infoWindow.visibleOnMarker;infoWindow.__open(map,scope,map.markers[markerId])}})}}};infoWindow.$inject=["Attr2MapOptions","$compile","$q","$templateRequest","$timeout","$parse","NgMap"],angular.module("ngMap").directive("infoWindow",infoWindow)}(),function(){"use strict";angular.module("ngMap").directive("kmlLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];
vendor: 10,744 bytes, line 1
1var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),kmlLayer=function(options,events){var kmlLayer=new google.maps.KmlLayer(options);for(var eventName in events)google.maps.event.addListener(kmlLayer,eventName,events[eventName]);return kmlLayer}(parser.getOptions(filtered,{scope:scope}),parser.getEvents(scope,filtered));mapController.addObject("kmlLayers",kmlLayer),mapController.observeAttrSetObj(orgAttrs,attrs,kmlLayer),element.bind("$destroy",function(){mapController.deleteObject("kmlLayers",kmlLayer)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("mapData",["Attr2MapOptions","NgMap",function(Attr2MapOptions,NgMap){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs){var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered,events);NgMap.getMap().then(function(map){for(var key in options){var val=options[key];"function"==typeof scope[val]?map.data[key](scope[val]):map.data[key](val)}for(var eventName in events)map.data.addListener(eventName,events[eventName])})}}}])}(),function(){"use strict";var $timeout,$compile,savedHtml=[],elements=[],preLinkFunc=function(scope,element,attrs){var mapsUrl=attrs.mapLazyLoadParams||attrs.mapLazyLoad;if(void 0===window.google||void 0===window.google.maps){elements.push({scope:scope,element:element,savedHtml:savedHtml[elements.length]}),window.lazyLoadCallback=function(){$timeout(function(){elements.forEach(function(elm){elm.element.html(elm.savedHtml),$compile(elm.element.contents())(elm.scope)})},100)};var scriptEl=document.createElement("script");scriptEl.src=mapsUrl+(mapsUrl.indexOf("?")>-1?"&":"?")+"callback=lazyLoadCallback",document.querySelector('script[src="'+scriptEl.src+'"]')||document.body.appendChild(scriptEl)}else element.html(savedHtml),$compile(element.contents())(scope)},compileFunc=function(tElement,tAttrs){return tAttrs.mapLazyLoad,savedHtml.push(tElement.html()),tAttrs.mapLazyLoad,(void 0===window.google||void 0===window.google.maps)&&(tElement.html(""),{pre:preLinkFunc})},mapLazyLoad=function(_$compile_,_$timeout_){return $compile=_$compile_,$timeout=_$timeout_,{compile:compileFunc}};mapLazyLoad.$inject=["$compile","$timeout"],angular.module("ngMap").directive("mapLazyLoad",mapLazyLoad)}(),function(){"use strict";angular.module("ngMap").directive("mapType",["$parse","NgMap",function($parse,NgMap){return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var mapTypeObject,mapTypeName=attrs.name;if(!mapTypeName)throw"invalid map-type name";if(!(mapTypeObject=$parse(attrs.object)(scope)))throw"invalid map-type object";NgMap.getMap().then(function(map){map.mapTypes.set(mapTypeName,mapTypeObject)}),mapController.addObject("mapTypes",mapTypeObject)}}}])}(),function(){"use strict";var mapDirective=function(){return{restrict:"AE",controller:"__MapController",controllerAs:"ngmap"}};angular.module("ngMap").directive("map",[mapDirective]),angular.module("ngMap").directive("ngMap",[mapDirective])}(),function(){"use strict";angular.module("ngMap").directive("mapsEngineLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered,events),layer=function(options,events){var layer=new google.maps.visualization.MapsEngineLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer}(options,events);mapController.addObject("mapsEngineLayers",layer)}}}])}(),function(){"use strict";var parser,$parse,NgMap,linkFunc=function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var address,orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),markerOptions=parser.getOptions(filtered,scope,{scope:scope}),markerEvents=parser.getEvents(scope,filtered);markerOptions.position instanceof google.maps.LatLng||(address=markerOptions.position);var marker=function(options,events){var marker;if(NgMap.defaultOptions.marker)for(var key in NgMap.defaultOptions.marker)void 0===options[key]&&(options[key]=NgMap.defaultOptions.marker[key]);for(var eventName in options.position instanceof google.maps.LatLng||(options.position=new google.maps.LatLng(0,0)),marker=new google.maps.Marker(options),Object.keys(events).length,events)eventName&&google.maps.event.addListener(marker,eventName,events[eventName]);return marker}(markerOptions,markerEvents);mapController.addObject("markers",marker),address&&NgMap.getGeoLocation(address).then(function(latlng){marker.setPosition(latlng),markerOptions.centered&&marker.map.setCenter(latlng);var geoCallback=attrs.geoCallback;geoCallback&&$parse(geoCallback)(scope)}),mapController.observeAttrSetObj(orgAttrs,attrs,marker),element.bind("$destroy",function(){mapController.deleteObject("markers",marker)})},marker=function(Attr2MapOptions,_$parse_,_NgMap_){return parser=Attr2MapOptions,$parse=_$parse_,NgMap=_NgMap_,{restrict:"E",require:["^?map","?^ngMap"],link:linkFunc}};marker.$inject=["Attr2MapOptions","$parse","NgMap"],angular.module("ngMap").directive("marker",marker)}(),function(){"use strict";angular.module("ngMap").directive("overlayMapType",["NgMap",function(NgMap){return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var initMethod=attrs.initMethod||"insertAt",overlayMapTypeObject=scope[attrs.object];NgMap.getMap().then(function(map){if("insertAt"==initMethod){var index=parseInt(attrs.index,10);map.overlayMapTypes.insertAt(index,overlayMapTypeObject)}else"push"==initMethod&&map.overlayMapTypes.push(overlayMapTypeObject)}),mapController.addObject("overlayMapTypes",overlayMapTypeObject)}}}])}(),function(){"use strict";var placesAutoComplete=function(Attr2MapOptions,$timeout){var parser=Attr2MapOptions;return{restrict:"A",require:"?ngModel",link:function(scope,element,attrs,ngModelCtrl){if("false"===attrs.placesAutoComplete)return!1;var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),events=parser.getEvents(scope,filtered),autocomplete=new google.maps.places.Autocomplete(element[0],options);for(var eventName in events)google.maps.event.addListener(autocomplete,eventName,events[eventName]);var updateModel=function(){$timeout(function(){ngModelCtrl&&ngModelCtrl.$setViewValue(element.val())},100)};google.maps.event.addListener(autocomplete,"place_changed",updateModel),element[0].addEventListener("change",updateModel),attrs.$observe("types",function(val){if(val){var optionValue=parser.toOptionValue(val,{key:"types"});autocomplete.setTypes(optionValue)}}),attrs.$observe("componentRestrictions",function(val){val&&autocomplete.setComponentRestrictions(scope.$eval(val))})}}};placesAutoComplete.$inject=["Attr2MapOptions","$timeout"],angular.module("ngMap").directive("placesAutoComplete",placesAutoComplete)}(),function(){"use strict";var shape=function(Attr2MapOptions,$parse,NgMap){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var address,shapeType,orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),shapeOptions=parser.getOptions(filtered,{scope:scope}),shapeEvents=parser.getEvents(scope,filtered);shapeType=shapeOptions.name,shapeOptions.center instanceof google.maps.LatLng||(address=shapeOptions.center);var shape=function(options,events){var shape,shapeName=options.name;switch(delete options.name,shapeName){case"circle":options.center instanceof google.maps.LatLng||(options.center=new google.maps.LatLng(0,0)),shape=new google.maps.Circle(options);break;case"polygon":shape=new google.maps.Polygon(options);break;case"polyline":shape=new google.maps.Polyline(options);break;case"rectangle":shape=new google.maps.Rectangle(options);break;case"groundOverlay":case"image":var url=options.url,opts={opacity:options.opacity,clickable:options.clickable,id:options.id};shape=new google.maps.GroundOverlay(url,options.bounds,opts)}for(var eventName in events)events[eventName]&&google.maps.event.addListener(shape,eventName,events[eventName]);return shape}(shapeOptions,shapeEvents);mapController.addObject("shapes",shape),address&&"circle"==shapeType&&NgMap.getGeoLocation(address).then(function(latlng){shape.setCenter(latlng),shape.centered&&shape.map.setCenter(latlng);var geoCallback=attrs.geoCallback;geoCallback&&$parse(geoCallback)(scope)}),mapController.observeAttrSetObj(orgAttrs,attrs,shape),element.bind("$destroy",function(){mapController.deleteObject("shapes",shape)})}}};shape.$inject=["Attr2MapOptions","$parse","NgMap"],angular.module("ngMap").directive("shape",shape)}(),function(){"use strict";var streetViewPanorama=function(Attr2MapOptions,NgMap){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs){var filtered=parser.filter(attrs),options=parser.getOptions(filtered,{scope:scope}),controlOptions=parser.getControlOptions(filtered),svpOptions=angular.extend(options,controlOptions),svpEvents=parser.getEvents(scope,filtered);NgMap.getMap().then(function(map){var svp=function(map,options,events){var svp,container;for(var eventName in options.container&&(container=(container=document.getElementById(options.container))||document.querySelector(options.container)),container?svp=new google.maps.StreetViewPanorama(container,options):(svp=map.getStreetView()).setOptions(options),events)eventName&&google.maps.event.addListener(svp,eventName,events[eventName]);return svp}(map,svpOptions,svpEvents);map.setStreetView(svp),!svp.getPosition()&&svp.setPosition(map.getCenter()),google.maps.event.addListener(svp,"position_changed",function(){svp.getPosition()!==map.getCenter()&&map.setCenter(svp.getPosition())});var listener=google.maps.event.addListener(map,"center_changed",function(){svp.setPosition(map.getCenter()),google.maps.event.removeListener(listener)})})}}};streetViewPanorama.$inject=["Attr2MapOptions","NgMap"],angular.module("ngMap").directive("streetViewPanorama",streetViewPanorama)}(),function(){"use strict";angular.module("ngMap").directive("trafficLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];
1var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),layer=function(options,events){var layer=new google.maps.TrafficLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer}(parser.getOptions(filtered,{scope:scope}),parser.getEvents(scope,filtered));mapController.addObject("trafficLayers",layer),mapController.observeAttrSetObj(orgAttrs,attrs,layer),element.bind("$destroy",function(){mapController.deleteObject("trafficLayers",layer)})}}}])}(),function(){"use strict";angular.module("ngMap").directive("transitLayer",["Attr2MapOptions",function(Attr2MapOptions){var parser=Attr2MapOptions;return{restrict:"E",require:["?^map","?^ngMap"],link:function(scope,element,attrs,mapController){mapController=mapController[0]||mapController[1];var orgAttrs=parser.orgAttributes(element),filtered=parser.filter(attrs),layer=function(options,events){var layer=new google.maps.TransitLayer(options);for(var eventName in events)google.maps.event.addListener(layer,eventName,events[eventName]);return layer}(parser.getOptions(filtered,{scope:scope}),parser.getEvents(scope,filtered));mapController.addObject("transitLayers",layer),mapController.observeAttrSetObj(orgAttrs,attrs,layer),element.bind("$destroy",function(){mapController.deleteObject("transitLayers",layer)})}}}])}(),function(){"use strict";var SPECIAL_CHARS_REGEXP=/([\:\-\_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/;angular.module("ngMap").filter("camelCase",function(){return function(name){return name.replace(SPECIAL_CHARS_REGEXP,function(_,separator,letter,offset){return offset?letter.toUpperCase():letter}).replace(MOZ_HACK_REGEXP,"Moz$1")}})}(),function(){"use strict";angular.module("ngMap").filter("jsonize",function(){return function(str){try{return JSON.parse(str),str}catch(e){return str.replace(/([\$\w]+)\s*:/g,function(_,$1){return'"'+$1+'":'}).replace(/'([^']+)'/g,function(_,$1){return'"'+$1+'"'})}}})}(),function(){"use strict";var isoDateRE=/^(\d{4}\-\d\d\-\d\d([tT][\d:\.]*)?)([zZ]|([+\-])(\d\d):?(\d\d))?$/,Attr2MapOptions=function($parse,$timeout,$log,NavigatorGeolocation,GeoCoder,camelCaseFilter,jsonizeFilter){var orgAttributes=function(el){el.length>0&&(el=el[0]);for(var orgAttributes={},i=0;i<el.attributes.length;i++){var attr=el.attributes[i];orgAttributes[attr.name]=attr.value}return orgAttributes},getJSON=function(input){return input.match(/^[\+\-]?[0-9\.]+,[ ]*\ ?[\+\-]?[0-9\.]+$/)&&(input="["+input+"]"),JSON.parse(jsonizeFilter(input))},getLatLng=function(input){var output=input;return input[0].constructor==Array?output=input.map(function(el){return new google.maps.LatLng(el[0],el[1])}):!isNaN(parseFloat(input[0]))&&isFinite(input[0])&&(output=new google.maps.LatLng(output[0],output[1])),output},toOptionValue=function(input,options){var output;try{output=getNumber(input)}catch(err){try{var output=getJSON(input);if(output instanceof Array)output=output[0].constructor==Object?output:getLatLng(output);else if(output===Object(output)){var newOptions=options;newOptions.doNotConverStringToNumber=!0,output=getOptions(output,newOptions)}}catch(err2){if(input.match(/^[A-Z][a-zA-Z0-9]+\(.*\)$/))try{var exp="new google.maps."+input;output=eval(exp)}catch(e){output=input}else if(input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/))try{var matches=input.match(/^([A-Z][a-zA-Z0-9]+)\.([A-Z]+)$/);output=google.maps[matches[1]][matches[2]]}catch(e){output=input}else if(input.match(/^[A-Z]+$/))try{var capitalizedKey=options.key.charAt(0).toUpperCase()+options.key.slice(1);options.key.match(/temperatureUnit|windSpeedUnit|labelColor/)?(capitalizedKey=capitalizedKey.replace(/s$/,""),output=google.maps.weather[capitalizedKey][input]):output=google.maps[capitalizedKey][input]}catch(e){output=input}else if(input.match(isoDateRE))try{output=new Date(input)}catch(e){output=input}else if(input.match(/^{/)&&options.scope)try{var expr=input.replace(/{{/,"").replace(/}}/g,"");output=options.scope.$eval(expr)}catch(err){output=input}else output=input}}if(("center"==options.key||"position"==options.key)&&output instanceof Array&&(output=new google.maps.LatLng(output[0],output[1])),"bounds"==options.key&&output instanceof Array&&(output=new google.maps.LatLngBounds(output[0],output[1])),"icons"==options.key&&output instanceof Array)for(var i=0;i<output.length;i++){var el=output[i];el.icon.path.match(/^[A-Z_]+$/)&&(el.icon.path=google.maps.SymbolPath[el.icon.path])}if("icon"==options.key&&output instanceof Object)for(var key in(""+output.path).match(/^[A-Z_]+$/)&&(output.path=google.maps.SymbolPath[output.path]),output){var arr=output[key];"anchor"==key||"origin"==key||"labelOrigin"==key?output[key]=new google.maps.Point(arr[0],arr[1]):"size"!=key&&"scaledSize"!=key||(output[key]=new google.maps.Size(arr[0],arr[1]))}return output},getAttrsToObserve=function(attrs){var attrsToObserve=[];
1if(!attrs.noWatcher)for(var attrName in attrs){var attrValue=attrs[attrName];attrValue&&attrValue.match(/\{\{.*\}\}/)&&attrsToObserve.push(camelCaseFilter(attrName))}return attrsToObserve},filter=function(attrs){var options={};for(var key in attrs)key.match(/^\$/)||key.match(/^ng[A-Z]/)||(options[key]=attrs[key]);return options},getOptions=function(attrs,params){params=params||{};var options={};for(var key in attrs)if(attrs[key]||0===attrs[key]){if(key.match(/^on[A-Z]/))continue;if(key.match(/ControlOptions$/))continue;"string"!=typeof attrs[key]?options[key]=attrs[key]:params.doNotConverStringToNumber&&attrs[key].match(/^[0-9]+$/)?options[key]=attrs[key]:options[key]=toOptionValue(attrs[key],{key:key,scope:params.scope})}return options},getEvents=function(scope,attrs){var events={},toLowercaseFunc=function($1){return"_"+$1.toLowerCase()},EventFunc=function(attrValue){var matches=attrValue.match(/([^\(]+)\(([^\)]*)\)/),funcName=matches[1],argsStr=matches[2].replace(/event[ ,]*/,""),argsExpr=$parse("["+argsStr+"]");return function(event){var args=argsExpr(scope);var f=funcName.split(".").reduce(function(obj,i){return obj[i]},scope);f&&f.apply(this,[event].concat(args)),$timeout(function(){scope.$apply()})}};for(var key in attrs)if(attrs[key]){if(!key.match(/^on[A-Z]/))continue;var eventName=key.replace(/^on/,"");eventName=(eventName=eventName.charAt(0).toLowerCase()+eventName.slice(1)).replace(/([A-Z])/g,toLowercaseFunc);var attrValue=attrs[key];events[eventName]=new EventFunc(attrValue)}return events},getControlOptions=function(filtered){var controlOptions={};if("object"!=typeof filtered)return!1;for(var attr in filtered)if(filtered[attr]){if(!attr.match(/(.*)ControlOptions$/))continue;var newValue=filtered[attr].replace(/'/g,'"');newValue=newValue.replace(/([^"]+)|("[^"]+")/g,function($0,$1,$2){return $1?$1.replace(/([a-zA-Z0-9]+?):/g,'"$1":'):$2});try{var options=JSON.parse(newValue);for(var key in options)if(options[key]){var value=options[key];if("string"==typeof value?value=value.toUpperCase():"mapTypeIds"===key&&(value=value.map(function(str){return str.match(/^[A-Z]+$/)?google.maps.MapTypeId[str.toUpperCase()]:str})),"style"===key){var objName=(attr.charAt(0).toUpperCase()+attr.slice(1)).replace(/Options$/,"")+"Style";options[key]=google.maps[objName][value]}else options[key]="position"===key?google.maps.ControlPosition[value]:value}controlOptions[attr]=options}catch(e){}}return controlOptions};return{filter:filter,getOptions:getOptions,getEvents:getEvents,getControlOptions:getControlOptions,toOptionValue:toOptionValue,getAttrsToObserve:getAttrsToObserve,orgAttributes:orgAttributes}};Attr2MapOptions.$inject=["$parse","$timeout","$log","NavigatorGeolocation","GeoCoder","camelCaseFilter","jsonizeFilter"],angular.module("ngMap").service("Attr2MapOptions",Attr2MapOptions)}(),function(){"use strict";var $q,geocodeFunc=function(options){var deferred=$q.defer();return(new google.maps.Geocoder).geocode(options,function(results,status){status==google.maps.GeocoderStatus.OK?deferred.resolve(results):deferred.reject(status)}),deferred.promise},GeoCoder=function(_$q_){return $q=_$q_,{geocode:geocodeFunc}};GeoCoder.$inject=["$q"],angular.module("ngMap").service("GeoCoder",GeoCoder)}(),function(){"use strict";var $q,getCurrentPosition=function(geoLocationOptions){var deferred=$q.defer();return navigator.geolocation?(void 0===geoLocationOptions?geoLocationOptions={timeout:5e3}:void 0===geoLocationOptions.timeout&&(geoLocationOptions.timeout=5e3),navigator.geolocation.getCurrentPosition(function(position){deferred.resolve(position)},function(evt){deferred.reject(evt)},geoLocationOptions)):deferred.reject("Browser Geolocation service failed."),deferred.promise},NavigatorGeolocation=function(_$q_){return $q=_$q_,{getCurrentPosition:getCurrentPosition}};NavigatorGeolocation.$inject=["$q"],angular.module("ngMap").service("NavigatorGeolocation",NavigatorGeolocation)}(),function(){"use strict";var $window,$document,$timeout,mapInstances=[],getMapInstance=function(el){var map=function(el,id){for(var notInUseMap,i=0;i<mapInstances.length;i++){var map=mapInstances[i];if(map.id==id&&!map.inUse){var mapDiv=map.getDiv();
1el.appendChild(mapDiv),notInUseMap=map;break}}return notInUseMap}(el,el.id)||function(el){for(var notInUseMap,i=0;i<mapInstances.length;i++){var map=mapInstances[i];if(!map.id&&!map.inUse){var mapDiv=map.getDiv();el.appendChild(mapDiv),notInUseMap=map;break}}return notInUseMap}(el);return map?$timeout(function(){google.maps.event.trigger(map,"idle")},100):map=function(el){var mapDiv=$document.createElement("div");mapDiv.style.width="100%",mapDiv.style.height="100%",el.appendChild(mapDiv);var map=new $window.google.maps.Map(mapDiv,{});return mapInstances.push(map),map}(el),map.inUse=!0,map},returnMapInstance=function(map){map.inUse=!1},resetMapInstances=function(){for(var i=0;i<mapInstances.length;i++)mapInstances[i]=null;mapInstances=[]},NgMapPool=function(_$document_,_$window_,_$timeout_){return $document=_$document_[0],$window=_$window_,$timeout=_$timeout_,{mapInstances:mapInstances,resetMapInstances:resetMapInstances,getMapInstance:getMapInstance,returnMapInstance:returnMapInstance}};NgMapPool.$inject=["$document","$window","$timeout"],angular.module("ngMap").factory("NgMapPool",NgMapPool)}(),function(){"use strict";var $window,$document,$q,NavigatorGeolocation,Attr2MapOptions,GeoCoder,camelCaseFilter,mapControllers={},getStyle=function(el,styleProp){var y;return el.currentStyle?y=el.currentStyle[styleProp]:$window.getComputedStyle&&(y=$document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp)),y},initMap=function(id){var ctrl=mapControllers[id||0];if(!(ctrl.map instanceof google.maps.Map))return ctrl.initializeMap(),ctrl.map},getMap=function(id){id=(id="object"==typeof id?id.id:id)||0;var deferred=$q.defer(),timeout=2e3;return function waitForMap(timeElapsed){mapControllers[id]?deferred.resolve(mapControllers[id].map):timeElapsed>timeout?deferred.reject("could not find map"):$window.setTimeout(function(){waitForMap(timeElapsed+100)},100)}(0),deferred.promise},addMap=function(mapCtrl){if(mapCtrl.map){var len=Object.keys(mapControllers).length;mapControllers[mapCtrl.map.id||len]=mapCtrl}},deleteMap=function(mapCtrl){var len=Object.keys(mapControllers).length-1,mapId=mapCtrl.map.id||len;if(mapCtrl.map){for(var eventName in mapCtrl.eventListeners){var listener=mapCtrl.eventListeners[eventName];google.maps.event.removeListener(listener)}mapCtrl.map.controls&&mapCtrl.map.controls.forEach(function(ctrl){ctrl.clear()})}mapCtrl.map.heatmapLayers&&Object.keys(mapCtrl.map.heatmapLayers).forEach(function(layer){mapCtrl.deleteObject("heatmapLayers",mapCtrl.map.heatmapLayers[layer])}),delete mapControllers[mapId]},getGeoLocation=function(string,options){var deferred=$q.defer();return!string||string.match(/^current/i)?NavigatorGeolocation.getCurrentPosition(options).then(function(position){var lat=position.coords.latitude,lng=position.coords.longitude,latLng=new google.maps.LatLng(lat,lng);deferred.resolve(latLng)},function(error){deferred.reject(error)}):GeoCoder.geocode({address:string}).then(function(results){deferred.resolve(results[0].geometry.location)},function(error){deferred.reject(error)}),deferred.promise},observeAndSet=function(attrName,object){return function(val){if(val){var setMethod=camelCaseFilter("set-"+attrName),optionValue=Attr2MapOptions.toOptionValue(val,{key:attrName});object[setMethod]&&(attrName.match(/center|position/)&&"string"==typeof optionValue?getGeoLocation(optionValue).then(function(latlng){object[setMethod](latlng)}):object[setMethod](optionValue))}}},setStyle=function(el){"true"==el.getAttribute("default-style")?(el.style.display="block",el.style.height="300px"):("block"!=getStyle(el,"display")&&(el.style.display="block"),getStyle(el,"height").match(/^(0|auto)/)&&(el.style.height="300px"))};angular.module("ngMap").provider("NgMap",function(){var defaultOptions={};this.setDefaultOptions=function(options){defaultOptions=options};var NgMap=function(_$window_,_$document_,_$q_,_NavigatorGeolocation_,_Attr2MapOptions_,_GeoCoder_,_camelCaseFilter_){return $window=_$window_,$document=_$document_[0],$q=_$q_,NavigatorGeolocation=_NavigatorGeolocation_,Attr2MapOptions=_Attr2MapOptions_,GeoCoder=_GeoCoder_,camelCaseFilter=_camelCaseFilter_,{defaultOptions:defaultOptions,addMap:addMap,deleteMap:deleteMap,getMap:getMap,initMap:initMap,setStyle:setStyle,getGeoLocation:getGeoLocation,observeAndSet:observeAndSet}};NgMap.$inject=["$window","$document","$q","NavigatorGeolocation","Attr2MapOptions","GeoCoder","camelCaseFilter"],this.$get=NgMap})}(),function(){"use strict";var $q,getPanorama=function(map,latlng){latlng=latlng||map.getCenter();var deferred=$q.defer();return(new google.maps.StreetViewService).getPanoramaByLocation(latlng||map.getCenter,100,function(data,status){status===google.maps.StreetViewStatus.OK?deferred.resolve(data.location.pano):deferred.resolve(!1)}),deferred.promise},setPanorama=function(map,panoId){new google.maps.StreetViewPanorama(map.getDiv(),{enableCloseButton:!0}
1).setPano(panoId)},StreetView=function(_$q_){return $q=_$q_,{getPanorama:getPanorama,setPanorama:setPanorama}};StreetView.$inject=["$q"],angular.module("ngMap").service("StreetView",StreetView)}(),"ngMap"}),function(window,angular,undefined){"use strict";angular.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.animate","material.core.gestures","material.core.interaction","material.core.layout","material.core.meta","material.core.theming.palette","material.core.theming","material.components.autocomplete","material.components.backdrop","material.components.bottomSheet","material.components.button","material.components.card","material.components.checkbox","material.components.chips","material.components.colors","material.components.content","material.components.datepicker","material.components.dialog","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.gridList","material.components.icon","material.components.input","material.components.list","material.components.menu","material.components.menuBar","material.components.navBar","material.components.panel","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.truncate","material.components.virtualRepeat","material.components.whiteframe"]),function(){function DetectNgTouch($log,$injector){if($injector.has("$swipe")){$log.warn("You are using the ngTouch module. \nAngularJS Material already has mobile click, tap, and swipe support... \nngTouch is not supported with AngularJS Material!")}}function MdCoreConfigure($provide,$mdThemingProvider){$provide.decorator("$$rAF",["$delegate",rAFDecorator]),$provide.decorator("$q",["$delegate",qDecorator]),$mdThemingProvider.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function rAFDecorator($delegate){return $delegate.throttle=function(cb){var queuedArgs,alreadyQueued,queueCb,context;return function(){queuedArgs=arguments,context=this,queueCb=cb,alreadyQueued||(alreadyQueued=!0,$delegate(function(){queueCb.apply(context,Array.prototype.slice.call(queuedArgs)),alreadyQueued=!1}))}},$delegate}function qDecorator($delegate){return $delegate.resolve||($delegate.resolve=$delegate.when),$delegate}DetectNgTouch.$inject=["$log","$injector"],MdCoreConfigure.$inject=["$provide","$mdThemingProvider"],rAFDecorator.$inject=["$delegate"],qDecorator.$inject=["$delegate"],angular.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.interaction","material.core.gestures","material.core.theming"]).config(MdCoreConfigure).run(DetectNgTouch)}(),function(){function MdAutofocusDirective($parse){return{restrict:"A",link:{pre:function(scope,element,attr){var attrExp=attr.mdAutoFocus||attr.mdAutofocus||attr.mdSidenavFocus;updateExpression($parse(attrExp)(scope)),attrExp&&scope.$watch(attrExp,updateExpression);function updateExpression(value){angular.isUndefined(value)&&(value=!0),element.toggleClass("md-autofocus",!!value)}}}}}MdAutofocusDirective.$inject=["$parse"],angular.module("material.core").directive("mdAutofocus",MdAutofocusDirective)}(),function(){angular.module("material.core").factory("$mdColorUtil",function(){return{rgbaToHex:function(color){return((color=color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===color.length?"#"+("0"+parseInt(color[1],10).toString(16)).slice(-2)+("0"+parseInt(color[2],10).toString(16)).slice(-2)+("0"+parseInt(color[3],10).toString(16)).slice(-2):"").toUpperCase()},hexToRgba:function(color){var hex="#"===color[0]?color.substr(1):color,dig=hex.length/3,red=hex.substr(0,dig),green=hex.substr(dig,dig),blue=hex.substr(2*dig);1===dig&&(red+=red,green+=green,blue+=blue);return"rgba("+parseInt(red,16)+","+parseInt(green,16)+","+parseInt(blue,16)+",0.1)"},rgbToRgba:function(color){return color.replace(")",", 0.1)").replace("(","a(")},rgbaToRgb:function(color){return color?color.replace("rgba","rgb").replace(/,[^),]+\)/,")"):"rgb(0,0,0)"}}})}(),function(){angular.module("material.core").factory("$mdConstant",function(){var prefixTestEl=document.createElement("div"),vendorPrefix=function(testElement){var prop,match,vendorRegex=/^(Moz|webkit|ms)(?=[A-Z])/;for(prop in testElement.style)if(match=vendorRegex.exec(prop))return match[0]}(prefixTestEl),isWebkit=/webkit/i.test(vendorPrefix),SPECIAL_CHARS_REGEXP=/([:\-_]+(.))/g;function vendorProperty(name){var prefixedName=vendorPrefix+"-"+name,ucPrefix=prefixedName.replace(SPECIAL_CHARS_REGEXP,function(matches,separator,letter,offset){return offset?letter.toUpperCase():letter}),lcPrefix=ucPrefix.charAt(0).toLowerCase()+ucPrefix.substring(1);return hasStyleProperty(prefixTestEl,name)?name:hasStyleProperty(prefixTestEl,ucPrefix)?ucPrefix:h
1asStyleProperty(prefixTestEl,lcPrefix)?lcPrefix:name}function hasStyleProperty(testElement,property){return angular.isDefined(testElement.style[property])}var self={isInputKey:function(e){return e.keyCode>=31&&e.keyCode<=90},isNumPadKey:function(e){return 3===e.location&&e.keyCode>=97&&e.keyCode<=105},isMetaKey:function(e){return e.keyCode>=91&&e.keyCode<=93},isFnLockKey:function(e){return e.keyCode>=112&&e.keyCode<=145},isNavigationKey:function(e){var kc=self.KEY_CODE,NAVIGATION_KEYS=[kc.SPACE,kc.ENTER,kc.UP_ARROW,kc.DOWN_ARROW];return-1!=NAVIGATION_KEYS.indexOf(e.keyCode)},hasModifierKey:function(e){return e.ctrlKey||e.metaKey||e.altKey},ELEMENT_MAX_PIXELS:1533917,BEFORE_NG_ARIA:210,KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(isWebkit?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(isWebkit?" webkitAnimationEnd":""),TRANSFORM:vendorProperty("transform"),TRANSFORM_ORIGIN:vendorProperty("transformOrigin"),TRANSITION:vendorProperty("transition"),TRANSITION_DURATION:vendorProperty("transitionDuration"),ANIMATION_PLAY_STATE:vendorProperty("animationPlayState"),ANIMATION_DURATION:vendorProperty("animationDuration"),ANIMATION_NAME:vendorProperty("animationName"),ANIMATION_TIMING:vendorProperty("animationTimingFunction"),ANIMATION_DIRECTION:vendorProperty("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)",landscape:"(orientation: landscape)",portrait:"(orientation: portrait)",print:"print"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs","landscape","portrait","print"]};return self})}(),function(){function MdIterator(items,reloop){var trueFn=function(){return!0};items&&!angular.isArray(items)&&(items=Array.prototype.slice.call(items)),reloop=!!reloop;var _items=items||[];return{items:function(){return[].concat(_items)},count:function(){return _items.length},inRange:inRange,contains:contains,indexOf:indexOf,itemAt:function(index){return inRange(index)?_items[index]:null},findBy:function(key,val){return _items.filter(function(item){return item[key]===val})},add:function(item,index){if(!item)return-1;angular.isNumber(index)||(index=_items.length);return _items.splice(index,0,item),indexOf(item)},remove:function(item){contains(item)&&_items.splice(indexOf(item),1)},first:first,last:last,next:angular.bind(null,findSubsequentItem,!1),previous:angular.bind(null,findSubsequentItem,!0),hasPrevious:function(item){return!!item&&inRange(indexOf(item)-1)},hasNext:function(item){return!!item&&inRange(indexOf(item)+1)}};function inRange(index){return _items.length&&index>-1&&index<_items.length}function indexOf(item){return _items.indexOf(item)}function contains(item){return item&&indexOf(item)>-1}function first(){return _items.length?_items[0]:null}function last(){return _items.length?_items[_items.length-1]:null}function findSubsequentItem(backwards,item,validate,limit){validate=validate||trueFn;for(var curIndex=indexOf(item);;){if(!inRange(curIndex))return null;var nextIndex=curIndex+(backwards?-1:1),foundItem=null;if(inRange(nextIndex)?foundItem=_items[nextIndex]:reloop&&(nextIndex=indexOf(foundItem=backwards?last():first())),null===foundItem||nextIndex===limit)return null;if(validate(foundItem))return foundItem;angular.isUndefined(limit)&&(limit=nextIndex),curIndex=nextIndex}}}angular.module("material.core").config(["$provide",function($provide){$provide.decorator("$mdUtil",["$delegate",function($delegate){return $delegate.iterator=MdIterator,$delegate}])}])}(),function(){function mdMediaFactory($mdConstant,$rootScope,$window){var queries={},mqls={},results={},normalizeCache={};return $mdMedia.getResponsiveAttribute=function(attrs,attrName){for(var i=0;i<$mdConstant.MEDIA_PRIORITY.length;i++){var mediaName=$mdConstant.MEDIA_PRIORITY[i];if(mqls[queries[mediaName]].matches){var normalizedName=getNormalizedName(attrs,attrName+"-"+mediaName);if(attrs[normalizedName])return attrs[normalizedName]}}return attrs[getNormalizedName(attrs,attrName)]},$mdMedia.getQuery=function(name){return mqls[name]},$mdMedia.watchResponsiveAttributes=function(attrNames,attrs,watchFn){var unwatchFns=[];
vendor: 5,120 bytes, line 1
1return attrNames.forEach(function(attrName){var normalizedName=getNormalizedName(attrs,attrName);for(var mediaName in angular.isDefined(attrs[normalizedName])&&unwatchFns.push(attrs.$observe(normalizedName,angular.bind(void 0,watchFn,null))),$mdConstant.MEDIA)normalizedName=getNormalizedName(attrs,attrName+"-"+mediaName),angular.isDefined(attrs[normalizedName])&&unwatchFns.push(attrs.$observe(normalizedName,angular.bind(void 0,watchFn,mediaName)))}),function(){unwatchFns.forEach(function(fn){fn()})}},$mdMedia;function $mdMedia(query){var validated=queries[query];angular.isUndefined(validated)&&(validated=queries[query]=function(query){return $mdConstant.MEDIA[query]||("("!==query.charAt(0)?"("+query+")":query)}(query));var result=results[validated];return angular.isUndefined(result)&&(result=function(query){var result=mqls[query];result||(result=mqls[query]=$window.matchMedia(query));return result.addListener(onQueryChange),results[result.media]=!!result.matches}(validated)),result}function onQueryChange(query){$rootScope.$evalAsync(function(){results[query.media]=!!query.matches})}function getNormalizedName(attrs,attrName){return normalizeCache[attrName]||(normalizeCache[attrName]=attrs.$normalize(attrName))}}mdMediaFactory.$inject=["$mdConstant","$rootScope","$window"],angular.module("material.core").factory("$mdMedia",mdMediaFactory)}(),function(){function MdPrefixer(initialAttributes,buildSelector){var PREFIXES=["data","x"];return initialAttributes?buildSelector?_buildSelector(initialAttributes):_buildList(initialAttributes):{buildList:_buildList,buildSelector:_buildSelector,hasAttribute:function(element,attribute){if(!(element=_getNativeElement(element)))return!1;for(var prefixedAttrs=_buildList(attribute),i=0;i<prefixedAttrs.length;i++)if(element.hasAttribute(prefixedAttrs[i]))return!0;return!1},removeAttribute:function(element,attribute){if(!(element=_getNativeElement(element)))return;_buildList(attribute).forEach(function(prefixedAttribute){element.removeAttribute(prefixedAttribute)})}};function _buildList(attributes){return(attributes=angular.isArray(attributes)?attributes:[attributes]).forEach(function(item){PREFIXES.forEach(function(prefix){attributes.push(prefix+"-"+item)})}),attributes}function _buildSelector(attributes){return _buildList(attributes=angular.isArray(attributes)?attributes:[attributes]).map(function(item){return"["+item+"]"}).join(",")}function _getNativeElement(element){if((element=element[0]||element).nodeType)return element}}angular.module("material.core").config(["$provide",function($provide){$provide.decorator("$mdUtil",["$delegate",function($delegate){return $delegate.prefixer=MdPrefixer,$delegate}])}])}(),function(){UtilFactory.$inject=["$document","$timeout","$compile","$rootScope","$$mdAnimate","$interpolate","$log","$rootElement","$window","$$rAF"];var isIos,isAndroid,isFirefox,nextUniqueId=0;if(window.navigator){var userAgent=window.navigator.userAgent||window.navigator.vendor||window.opera;isIos=userAgent.match(/ipad|iphone|ipod/i),isAndroid=userAgent.match(/android/i),isFirefox=userAgent.match(/(firefox|minefield)/i)}function UtilFactory($document,$timeout,$compile,$rootScope,$$mdAnimate,$interpolate,$log,$rootElement,$window,$$rAF){var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),usesStandardSymbols="{{"===startSymbol&&"}}"===endSymbol;document.contains||(document.contains=function(node){return document.body.contains(node)});var hasComputedStyle=function(target,key,expectedVal){var hasValue=!1;if(target&&target.length){var computedStyles=$window.getComputedStyle(target[0]);hasValue=angular.isDefined(computedStyles[key])&&(!expectedVal||computedStyles[key]==expectedVal)}return hasValue};function validateCssValue(value){return value?function(value){return String(value).indexOf("px")>-1}(value)||function(value){return String(value).indexOf("%")>-1}(value)?value:value+"px":"0"}var $mdUtil={dom:{},isIos:isIos,isAndroid:isAndroid,now:window.performance&&window.performance.now?angular.bind(window.performance,window.performance.now):Date.now||function(){return(new Date).getTime()},getModelOption:function(ngModelCtrl,optionName){if(ngModelCtrl.$options){var $options=ngModelCtrl.$options;return $options.getOption?$options.getOption(optionName):$options[optionName]}},isRtl:function(attrs){switch(angular.isDefined(attrs)&&attrs.hasOwnProperty("dir")&&attrs.dir){case"ltr":return!1;case"rtl":return!0}return"rtl"===$document[0].dir||"rtl"===$document[0].body.dir},bidi:function(element,property,lValue,rValue){var ltr=!this.isRtl();if(0==arguments.length)return ltr?"ltr":"rtl";var elem=angular.element(element);ltr&&angular.isDefined(lValue)?elem.css(property,validateCssValue(lValue)):!ltr&&angular.isDefined(rValue)&&elem.css(property,validateCssValue(rValue))},bidiProperty:function(element,lProperty,rProperty,value){var ltr=!this.isRtl(),elem=angular.element(element);ltr&&angular.isDefined(lProperty)?(elem.css(lProperty,validateCssValue(value)),elem.css(rProperty,"")):!ltr&&angular.isDefined(rProperty)&&(elem.css(rProperty,validateCssValue(value)),elem.css(lProperty,""))}
vendor: 15,705 bytes, line 1
1,clientRect:function(element,offsetParent,isOffsetRect){var node=getNode(element);offsetParent=getNode(offsetParent||node.offsetParent||document.body);var nodeRect=node.getBoundingClientRect(),offsetRect=isOffsetRect?offsetParent.getBoundingClientRect():{left:0,top:0,width:0,height:0};return{left:nodeRect.left-offsetRect.left,top:nodeRect.top-offsetRect.top,width:nodeRect.width,height:nodeRect.height}},offsetRect:function(element,offsetParent){return $mdUtil.clientRect(element,offsetParent,!0)},nodesToArray:function(nodes){var i,results=[];for(nodes=nodes||[],i=0;i<nodes.length;++i)results.push(nodes.item(i));return results},getViewportTop:function(){return $mdUtil.disableScrollAround._count&&$mdUtil.disableScrollAround._viewPortTop?$mdUtil.disableScrollAround._viewPortTop:$window.scrollY||$window.pageYOffset||0},findFocusTarget:function(containerEl,attributeVal){var elToFocus,AUTO_FOCUS=this.prefixer("md-autofocus",!0);return(elToFocus=scanForFocusable(containerEl,attributeVal||AUTO_FOCUS))||(elToFocus=scanForFocusable(containerEl,AUTO_FOCUS)),elToFocus;function scanForFocusable(target,selector){var elFound,items=target[0].querySelectorAll(selector);return items&&items.length&&items.length&&angular.forEach(items,function(it){(it=angular.element(it)).hasClass("md-autofocus")&&(elFound=it)}),elFound}},disableScrollAround:function(element,parent,options){if(options=options||{},$mdUtil.disableScrollAround._count=Math.max(0,$mdUtil.disableScrollAround._count||0),$mdUtil.disableScrollAround._count++,$mdUtil.disableScrollAround._restoreScroll)return $mdUtil.disableScrollAround._restoreScroll;var body=$document[0].body,restoreBody=function(){var documentElement=$document[0].documentElement,prevDocumentStyle=documentElement.style.cssText||"",prevBodyStyle=body.style.cssText||"",viewportTop=$mdUtil.getViewportTop();$mdUtil.disableScrollAround._viewPortTop=viewportTop;var clientWidth=body.clientWidth,hasVerticalScrollbar=body.scrollHeight>body.clientHeight+1,scrollElement=documentElement.scrollTop>0?documentElement:body;hasVerticalScrollbar&&angular.element(body).css({position:"fixed",width:"100%",top:-viewportTop+"px"});body.clientWidth<clientWidth&&(body.style.overflow="hidden");return function(){body.style.cssText=prevBodyStyle,documentElement.style.cssText=prevDocumentStyle,scrollElement.scrollTop=viewportTop}}(),restoreElement=function(elementToDisable,scrollMaskOptions){var scrollMask,wrappedElementToDisable=angular.element(elementToDisable||body);scrollMaskOptions.disableScrollMask?scrollMask=wrappedElementToDisable:(scrollMask=angular.element('<div class="md-scroll-mask">  <div class="md-scroll-mask-bar"></div></div>'),wrappedElementToDisable.append(scrollMask));function preventDefault($event){$event.preventDefault()}return scrollMask.on("wheel touchmove",preventDefault),function(){scrollMask.off("wheel touchmove",preventDefault),!scrollMaskOptions.disableScrollMask&&scrollMask[0].parentNode&&scrollMask[0].parentNode.removeChild(scrollMask[0])}}(parent,options);return $mdUtil.disableScrollAround._restoreScroll=function(){--$mdUtil.disableScrollAround._count<=0&&(delete $mdUtil.disableScrollAround._viewPortTop,restoreBody(),restoreElement(),delete $mdUtil.disableScrollAround._restoreScroll)}},enableScrolling:function(){var restoreFn=this.disableScrollAround._restoreScroll;restoreFn&&restoreFn()},floatingScrollbars:function(){if(this.floatingScrollbars.cached===undefined){var tempNode=angular.element("<div><div></div></div>").css({width:"100%","z-index":-1,position:"absolute",height:"35px","overflow-y":"scroll"});tempNode.children().css("height","60px"),$document[0].body.appendChild(tempNode[0]),this.floatingScrollbars.cached=tempNode[0].offsetWidth===tempNode[0].childNodes[0].offsetWidth,tempNode.remove()}return this.floatingScrollbars.cached},forceFocus:function(element){var node=element[0]||element;document.addEventListener("click",function focusOnClick(ev){ev.target===node&&ev.$focus&&(node.focus(),ev.stopImmediatePropagation(),ev.preventDefault(),node.removeEventListener("click",focusOnClick))},!0);var newEvent=document.createEvent("MouseEvents");newEvent.initMouseEvent("click",!1,!0,window,{},0,0,0,0,!1,!1,!1,!1,0,null),newEvent.$material=!0,newEvent.$focus=!0,node.dispatchEvent(newEvent)},createBackdrop:function(scope,addClass){return $compile($mdUtil.supplant('<md-backdrop class="{0}">',[addClass]))(scope)},supplant:function(template,values,pattern){return pattern=pattern||/\{([^{}]*)\}/g,template.replace(pattern,function(a,b){var p=b.split("."),r=values;try{for(var s in p)p.hasOwnProperty(s)&&(r=r[p[s]])}catch(e){r=a}return"string"==typeof r||"number"==typeof r?r:a})},fakeNgModel:function(){return{$fake:!0,$setTouched:angular.noop,$setViewValue:function(value){this.$viewValue=value,this.$render(value),this.$viewChangeListeners.forEach(function(cb){cb()})},$isEmpty:function(value){return 0===(""+value).length},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:angular.noop}},debounce:function(func,wait,scope,invokeApply){var timer;return function(){var context=scope,args=Array.prototype.slice.call(arguments);$timeout.cancel(timer),timer=$timeout(function(){timer=undefined,func.apply(context,args)},wait||10,invokeApply)}},throttle:function(func,delay){var recent;return function(){var args=arguments,now=$mdUtil.now();(!recent||now-recent>delay)&&(func.apply(this,args),recent=now)}},time:function(cb){var start=$mdUtil.now();return cb(),$mdUtil.now()-start},valueOnUse:function(scope,key,getter){var value=null,args=Array.prototype.slice.call(arguments),params=args.length>3?args.slice(3):[];Object.defineProperty(scope,key,{get:function(){return null===value&&(value=getter.apply(scope,params)),value}})},nextUid:function(){return""+nextUniqueId++},disconnectScope:function(scope){if(scope&&scope.$root!==scope&&!scope.$$destroyed){var parent=scope.$parent;scope.$$disconnected=!0,parent.$$childHead===scope&&(parent.$$childHead=scope.$$nextSibling),parent.$$childTail===scope&&(parent.$$childTail=scope.$$prevSibling),scope.$$prevSibling&&(scope.$$prevSibling.$$nextSibling=scope.$$nextSibling),scope.$$nextSibling&&(scope.$$nextSibling.$$prevSibling=scope.$$prevSibling),scope.$$nextSibling=scope.$$prevSibling=null}},reconnectScope:function(scope){if(scope&&scope.$root!==scope&&scope.$$disconnected){var child=scope,parent=child.$parent;child.$$disconnected=!1,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child}},getSiblings:function(element,tagName){var upperCasedTagName=tagName.toUpperCase();return element instanceof angular.element&&(element=element[0]),Array.prototype.filter.call(element.parentNode.children,function(node){return element!==node&&node.tagName.toUpperCase()===upperCasedTagName}).map(function(sibling){return angular.element(sibling)})},getClosest:function(el,validateWith,onlyParent){if(angular.isString(validateWith)){var tagName=validateWith.toUpperCase();validateWith=function(el){return el.nodeName.toUpperCase()===tagName}}if(el instanceof angular.element&&(el=el[0]),onlyParent&&(el=el.parentNode),!el)return null;do{if(validateWith(el))return el}while(el=el.parentNode);return null},elementContains:function(node,child){return(window.Node&&window.Node.prototype&&Node.prototype.contains?angular.bind(node,node.contains):angular.bind(node,function(arg){return node===child||!!(16&this.compareDocumentPosition(arg))}))(child)},extractElementByName:function(element,nodeName,scanDeep,warnNotFound){var found=scanTree(element);return!found&&warnNotFound&&$log.warn($mdUtil.supplant("Unable to find node '{0}' in element '{1}'.",[nodeName,element[0].outerHTML])),angular.element(found||element);function scanTree(element){return function(element){if(element)for(var i=0,len=element.length;i<len;i++)if(element[i].nodeName.toLowerCase()===nodeName)return element[i];return null}(element)||(scanDeep?function(element){var found;if(element)for(var i=0,len=element.length;i<len;i++){var target=element[i];if(!found)for(var j=0,numChild=target.childNodes.length;j<numChild;j++)found=found||scanTree([target.childNodes[j]])}return found}(element):null)}},initOptionalProperties:function(scope,attr,defaults){defaults=defaults||{},angular.forEach(scope.$$isolateBindings,function(binding,key){if(binding.optional&&angular.isUndefined(scope[key])){var attrIsDefined=angular.isDefined(attr[binding.attrName]);scope[key]=angular.isDefined(defaults[key])?defaults[key]:attrIsDefined}})},nextTick:function(callback,digest,scope){var nextTick=$mdUtil.nextTick,timeout=nextTick.timeout,queue=nextTick.queue||[];return queue.push({scope:scope,callback:callback}),null==digest&&(digest=!0),nextTick.digest=nextTick.digest||digest,nextTick.queue=queue,timeout||(nextTick.timeout=$timeout(function(){var queue=nextTick.queue,digest=nextTick.digest;nextTick.queue=[],nextTick.timeout=null,nextTick.digest=!1,queue.forEach(function(queueItem){queueItem.scope&&queueItem.scope.$$destroyed||queueItem.callback()}),digest&&$rootScope.$digest()},0,!1))},processTemplate:function(template){return usesStandardSymbols?template:template&&angular.isString(template)?template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol):template},getParentWithPointerEvents:function(element){for(var parent=element.parent();hasComputedStyle(parent,"pointer-events","none");)parent=parent.parent();return parent},getNearestContentElement:function(element){for(var current=element.parent()[0];current&&current!==$rootElement[0]&&current!==document.body&&"MD-CONTENT"!==current.nodeName.toUpperCase();)current=current.parentNode;return current},checkStickySupport:function(){var stickyProp,testEl=angular.element("<div>");$document[0].body.appendChild(testEl[0]);for(var stickyProps=["sticky","-webkit-sticky"],i=0;i<stickyProps.length;++i)if(testEl.css({position:stickyProps[i],top:0,"z-index":2}),testEl.css("position")==stickyProps[i]){stickyProp=stickyProps[i];break}return testEl.remove(),stickyProp},parseAttributeBoolean:function(value,negatedCheck){return""===value||!!value&&(!1===negatedCheck||"false"!==value&&"0"!==value)},hasComputedStyle:hasComputedStyle,isParentFormSubmitted:function(element){var parent=$mdUtil.getClosest(element,"form"),form=parent?angular.element(parent).controller("form"):null;return!!form&&form.$submitted},animateScrollTo:function(element,scrollEnd,duration){var scrollStart=element.scrollTop,scrollChange=scrollEnd-scrollStart,scrollingDown=scrollStart<scrollEnd,startTime=$mdUtil.now();$$rAF(function scrollChunk(){var newPosition=(easeDuration=duration||1e3,function(currentTime,start,change,duration){if(currentTime>duration)return start+change;var ts=(currentTime/=duration)*currentTime;return start+change*(ts*currentTime*-2+3*ts)}($mdUtil.now()-startTime,scrollStart,scrollChange,easeDuration));var easeDuration;element.scrollTop=newPosition;(scrollingDown?newPosition<scrollEnd:newPosition>scrollEnd)&&$$rAF(scrollChunk)})},uniq:function(array){if(array)return array.filter(function(value,index,self){return self.indexOf(value)===index})},getInnerHTML:function(element){var serializer=new XMLSerializer;return Array.prototype.map.call(element.childNodes,function(child){return serializer.serializeToString(child)}).join("")},getOuterHTML:function(element){return(new XMLSerializer).serializeToString(element)},msie:window.document.documentMode,getTouchAction:function(){for(var testEl=document.createElement("div"),vendorPrefixes=["","webkit","Moz","MS","ms","o"],i=0;i<vendorPrefixes.length;i++){var prefix=vendorPrefixes[i],property=prefix?prefix+"TouchAction":"touchAction";if(angular.isDefined(testEl.style[property]))return property}},getEventPath:function(event){for(var path=[],currentTarget=event.target;currentTarget;)path.push(currentTarget),currentTarget=currentTarget.parentElement;return-1===path.indexOf(window)&&-1===path.indexOf(document)&&path.push(document),-1===path.indexOf(window)&&path.push(window),path},sanitize:function(term){return term?term.replace(/[\\^$*+?.()|{}[]/g,"\\$&"):term},isDisabled:function(element){return element.hasAttribute("disabled")},isVisible:function(element){return $mdUtil.hasGeometry(element)&&"visible"===getComputedStyle(element).visibility},isTabbable:function(element){var frameElement=$mdUtil.getFrameElement($mdUtil.getWindow(element));if(frameElement){if(-1===$mdUtil.getTabIndexValue(frameElement))return!1;if(!$mdUtil.isVisible(frameElement))return!1}var nodeName=element.nodeName.toLowerCase(),tabIndexValue=$mdUtil.getTabIndexValue(element);return element.hasAttribute("contenteditable")?-1!==tabIndexValue:"iframe"!==nodeName&&"object"!==nodeName&&(!(isIos&&!$mdUtil.isPotentiallyTabbableIOS(element))&&("audio"===nodeName?!!element.hasAttribute("controls")&&-1!==tabIndexValue:"video"===nodeName?-1!==tabIndexValue&&(null!==tabIndexValue||(isFirefox||element.hasAttribute("controls"))):element.tabIndex>=0))},isFocusable:function(element){return $mdUtil.isPotentiallyFocusable(element)&&!$mdUtil.isDisabled(element)&&$mdUtil.isVisible(element)},isPotentiallyFocusable:function(element){return!$mdUtil.isHiddenInput(element)&&($mdUtil.isNativeFormElement(element)||$mdUtil.isAnchorWithHref(element)||element.hasAttribute("contenteditable")||$mdUtil.hasValidTabIndex(element))},isPotentiallyTabbableIOS:function(element){var nodeName=element.nodeName.toLowerCase(),inputType="input"===nodeName&&element.type;return"text"===inputType||"password"===inputType||"select"===nodeName||"textarea"===nodeName},getTabIndexValue:function(element){if(!$mdUtil.hasValidTabIndex(element))return null;var tabIndex=parseInt(element.getAttribute("tabindex")||"",10);return isNaN(tabIndex)?-1:tabIndex},hasValidTabIndex:function(element){if(!element.hasAttribute("tabindex")||element.tabIndex===undefined)return!1;var tabIndex=element.getAttribute("tabindex");return"-32768"!=tabIndex&&!(!tabIndex||isNaN(parseInt(tabIndex,10)))},hasGeometry:function(element){return!!(element.offsetWidth||element.offsetHeight||"function"==typeof element.getClientRects&&element.getClientRects().length)},getFrameElement:function(window){try{return window.frameElement}catch(error){return null}},getWindow:function(node){return node.ownerDocument&&node.ownerDocument.defaultView||window},isNativeFormElement:function(element){var nodeName=element.nodeName.toLowerCase();return"input"===nodeName||"select"===nodeName||"button"===nodeName||"textarea"===nodeName},isHiddenInput:function(element){return $mdUtil.isInputElement(element)&&"hidden"==element.type},isAnchorWithHref:function(element){return $mdUtil.isAnchorElement(element)&&element.hasAttribute("href")},isInputElement:function(element){return"input"==element.nodeName.toLowerCase()},isAnchorElement:function(element){return"a"==element.nodeName.toLowerCase()},getFirstTabbableElement:function(root){if($mdUtil.isFocusable(root)&&$mdUtil.isTabbable(root))return root;for(var children=root.children||root.childNodes,i=0;i<children.length;i++){var tabbableChild=children[i].nodeType===$document[0].ELEMENT_NODE?$mdUtil.getFirstTabbableElement(children[i]):null;if(tabbableChild)return tabbableChild}return null},getLastTabbableElement:function(root){if($mdUtil.isFocusable(root)&&$mdUtil.isTabbable(root))return root;for(var children=root.children||root.childNodes,i=children.length-1;i>=0;i--){var tabbableChild=children[i].nodeType===$document[0].ELEMENT_NODE?$mdUtil.getLastTabbableElement(children[i]):null;if(tabbableChild)return tabbableChild}return null}};return $mdUtil.dom.animator=$$mdAnimate($mdUtil),$mdUtil;function getNode(el){return el[0]||el}}angular.module("material.core").factory("$mdUtil",UtilFactory),angular.element.prototype.focu
1s=angular.element.prototype.focus||function(){return this.length&&this[0].focus(),this},angular.element.prototype.blur=angular.element.prototype.blur||function(){return this.length&&this[0].blur(),this}}(),function(){angular.module("material.core").factory("$$mdAnimate",["$q","$timeout","$mdConstant","$animateCss",function($q,$timeout,$mdConstant,$animateCss){return function($mdUtil){return function($mdUtil,$q,$timeout,$mdConstant,$animateCss){var self;return self={translate3d:function(target,from,to,options){return $animateCss(target,{from:from,to:to,addClass:options.transitionInClass,removeClass:options.transitionOutClass,duration:options.duration}).start().then(function(){return reverseTranslate});function reverseTranslate(newFrom){return $animateCss(target,{to:newFrom||from,addClass:options.transitionOutClass,removeClass:options.transitionInClass,duration:options.duration}).start()}},waitTransitionEnd:function(element,opts){var TIMEOUT=3e3;return $q(function(resolve,reject){var styles;("0s"===(styles=(styles=(opts=opts||{}).cachedTransitionStyles)||window.getComputedStyle(element[0])).transitionDuration||!styles.transition&&!styles.transitionProperty)&&(TIMEOUT=0);var timer=$timeout(finished,opts.timeout||TIMEOUT);function finished(ev){ev&&ev.target!==element[0]||(ev&&$timeout.cancel(timer),element.off($mdConstant.CSS.TRANSITIONEND,finished),resolve())}element.on($mdConstant.CSS.TRANSITIONEND,finished)})},calculateTransformValues:function(element,originator){var container,parent,origin=originator.element,bounds=originator.bounds;if(origin||bounds){var originBnds=origin?self.clientRect(origin)||(container=element?element.parent():null,(parent=container?container.parent():null)?self.clientRect(parent):null):self.copyRect(bounds),dialogRect=self.copyRect(element[0].getBoundingClientRect()),dialogCenterPt=self.centerPointFor(dialogRect),originCenterPt=self.centerPointFor(originBnds);return{centerX:originCenterPt.x-dialogCenterPt.x,centerY:originCenterPt.y-dialogCenterPt.y,scaleX:Math.round(100*Math.min(.5,originBnds.width/dialogRect.width))/100,scaleY:Math.round(100*Math.min(.5,originBnds.height/dialogRect.height))/100}}return{centerX:0,centerY:0,scaleX:.5,scaleY:.5}},calculateZoomToOrigin:function(element,originator){var buildZoom=angular.bind(null,$mdUtil.supplant,"translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )");return buildZoom(self.calculateTransformValues(element,originator))},calculateSlideToOrigin:function(element,originator){var buildSlide=angular.bind(null,$mdUtil.supplant,"translate3d( {centerX}px, {centerY}px, 0 )");return buildSlide(self.calculateTransformValues(element,originator))},toCss:function(raw){var css={};return angular.forEach(raw,function(value,key){if(!angular.isUndefined(value))if("left top right bottom width height x y min-width min-height max-width max-height".indexOf(key)>=0)css[key]=value+"px";else switch(key){case"transition":convertToVendor(key,$mdConstant.CSS.TRANSITION,value);break;case"transform":convertToVendor(key,$mdConstant.CSS.TRANSFORM,value);break;case"transformOrigin":convertToVendor(key,$mdConstant.CSS.TRANSFORM_ORIGIN,value);break;case"font-size":css["font-size"]=value}}),css;function convertToVendor(key,vendor,value){angular.forEach(vendor.split(" "),function(key){css[key]=value})}},toTransformCss:function(transform,addTransition,transition){var css={};return angular.forEach($mdConstant.CSS.TRANSFORM.split(" "),function(key){css[key]=transform}),addTransition&&(transition=transition||"all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important",css.transition=transition),css},copyRect:function(source,destination){return source?(destination=destination||{},angular.forEach("left top right bottom width height".split(" "),function(key){destination[key]=Math.round(source[key])}),destination.width=destination.width||destination.right-destination.left,destination.height=destination.height||destination.bottom-destination.top,destination):null},clientRect:function(element){var rect,bounds=angular.element(element)[0].getBoundingClientRect();return(rect=bounds)&&rect.width>0&&rect.height>0?self.copyRect(bounds):null},centerPointFor:function(targetRect){return targetRect?{x:Math.round(targetRect.left+targetRect.width/2),y:Math.round(targetRect.top+targetRect.height/2)}:{x:0,y:0}}}}($mdUtil,$q,$timeout,$mdConstant,$animateCss)}}])}(),angular.version.minor>=4?angular.module("material.core.animate",[]):function(){var forEac
vendor: 5,790 bytes, line 1
1h=angular.forEach,WEBKIT=angular.isDefined(document.documentElement.style.WebkitAppearance),PREFIX=WEBKIT?"-webkit-":"",TRANSITION_EVENTS=(WEBKIT?"webkitTransitionEnd ":"")+"transitionend",ANIMATION_EVENTS=(WEBKIT?"webkitAnimationEnd ":"")+"animationend",$$AnimateRunnerFactory=["$q","$$rAFMutex",function($q,$$rAFMutex){function AnimateRunner(host){this.setHost(host),this._doneCallbacks=[],this._runInAnimationFrame=$$rAFMutex(),this._state=0}return AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){2===this._state?fn():this._doneCallbacks.push(fn)},progress:angular.noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){!1===status?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},catch:function(handler){return this.getPromise().catch(handler)},finally:function(handler){return this.getPromise().finally(handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;0===self._state&&(self._state=1,self._runInAnimationFrame(function(){self._resolve(response)}))},_resolve:function(response){2!==this._state&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=2)}},AnimateRunner.all=function(runners,callback){var count=0,status=!0;function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner}];function camelCase(str){return str.replace(/-[a-z]/g,function(str){return str.charAt(1).toUpperCase()})}angular.module("material.core.animate",[]).factory("$$forceReflow",["$document",function($document){return function(){return $document[0].body.clientWidth+1}}]).factory("$$AnimateRunner",$$AnimateRunnerFactory).factory("$$rAFMutex",["$$rAF",function($$rAF){return function(){var passed=!1;return $$rAF(function(){passed=!0}),function(fn){passed?fn():$$rAF(fn)}}}]).factory("$animateCss",["$window","$$rAF","$$AnimateRunner","$$forceReflow","$$jqLite","$timeout","$animate",function($window,$$rAF,$$AnimateRunner,$$forceReflow,$$jqLite,$timeout,$animate){function applyClasses(element,options){options.addClass&&($$jqLite.addClass(element,options.addClass),options.addClass=null),options.removeClass&&($$jqLite.removeClass(element,options.removeClass),options.removeClass=null)}function parseMaxTime(str){var maxValue=0,values=(str||"").split(/\s*,\s*/);return forEach(values,function(value){"s"==value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),maxValue}var cancelLastRAFRequest,rafWaitQueue=[];function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}function getDomNode(element){for(var i=0;i<element.length;i++)if(1===element[i].nodeType)return element[i]}function blockTransition(element,bool){var node=getDomNode(element),key=camelCase(PREFIX+"transition-delay");node.style[key]=bool?"-9999s":""}return function(element,options){var temporaryStyles=[],node=getDomNode(element),areAnimationsAllowed=node&&$animate.enabled(),hasCompleteStyles=!1,hasCompleteClasses=!1;areAnimationsAllowed&&(options.transitionStyle&&temporaryStyles.push([PREFIX+"transition",options.transitionStyle]),options.keyframeStyle&&temporaryStyles.push([PREFIX+"animation",options.keyframeStyle]),options.delay&&temporaryStyles.push([PREFIX+"transition-delay",options.delay+"s"]),options.duration&&temporaryStyles.push([PREFIX+"transition-duration",options.duration+"s"]),hasCompleteStyles=options.keyframeStyle||options.to&&(options.duration>0||options.transitionStyle),hasCompleteClasses=!!options.addClass||!!options.removeClass,blockTransition(element,!0));var hasCompleteAnimation=areAnimationsAllowed&&(hasCompleteStyles||hasCompleteClasses);applyAnimationFromStyles(element,options);var events,eventFn,animationClosed=!1;return{close:$window.close,start:function(){var callback,runner=new $$AnimateRunner;return callback=function(){if(blockTransition(element,!1),!hasCompleteAnimation)return close();forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[camelCase(key)]=value}),applyClasses(element,options);var timings=function(element){var node=getDomNode(element),cs=$window.getComputedStyle(node),tdr=parseMaxTime(cs[prop("transitionDuration")]),adr=parseMaxTime(cs[prop("animationDuration")]),tdy=parseMaxTime(cs[prop("transitionDelay")]),ady=parseMaxTime(cs[prop("animationDelay")]);adr*=parseInt(cs[prop("animationIterationCount")],10)||1;var duration=Math.max(adr,tdr),delay=Math.max(ady,tdy);return{duration:duration,delay:delay,animationDuration:adr,transitionDuration:tdr,animationDelay:ady,transitionDelay:tdy};function prop(key){return WEBKIT?"Webkit"+key.charAt(0).toUpperCase()+key.substr(1):key}}(element);if(0===timings.duration)return close();var moreStyles=[];options.easing&&(timings.transitionDuration&&moreStyles.push([PREFIX+"transition-timing-function",options.easing]),timings.animationDuration&&moreStyles.push([PREFIX+"animation-timing-function",options.easing])),options.delay&&timings.animationDelay&&moreStyles.push([PREFIX+"animation-delay",options.delay+"s"]),options.duration&&timings.animationDuration&&moreStyles.push([PREFIX+"animation-duration",options.duration+"s"]),forEac
vendor: 20,350 bytes, line 1
1h(moreStyles,function(entry){var key=entry[0],value=entry[1];node.style[camelCase(key)]=value,temporaryStyles.push(entry)});var maxDelayTime=1e3*timings.delay,maxDuration=timings.duration,maxDurationTime=1e3*maxDuration,startTime=Date.now();events=[],timings.transitionDuration&&events.push(TRANSITION_EVENTS),timings.animationDuration&&events.push(ANIMATION_EVENTS),events=events.join(" "),eventFn=function(event){event.stopPropagation();var ev=event.originalEvent||event,timeStamp=ev.timeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(3));Math.max(timeStamp-startTime,0)>=maxDelayTime&&elapsedTime>=maxDuration&&close()},element.on(events,eventFn),applyAnimationToStyles(element,options),$timeout(close,maxDelayTime+1.5*maxDurationTime,!1)},cancelLastRAFRequest&&cancelLastRAFRequest(),rafWaitQueue.push(callback),cancelLastRAFRequest=$$rAF(function(){cancelLastRAFRequest=null;for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0}),runner;function close(){if(!animationClosed)return animationClosed=!0,events&&eventFn&&element.off(events,eventFn),applyClasses(element,options),function(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}(element,options),forEach(temporaryStyles,function(entry){node.style[camelCase(entry[0])]=""}),runner.complete(!0),runner}}}}}])}(),function(){function MdAriaService($$rAF,$log,$window,$interpolate){var showWarnings=this.showWarnings;return{expect:expect,expectAsync:expectAsync,expectWithText:function(element,attrName){var content=getText(element)||"";content.indexOf($interpolate.startSymbol())>-1?expectAsync(element,attrName,function(){return getText(element)}):expect(element,attrName,content)},expectWithoutText:function(element,attrName){var content=getText(element);content.indexOf($interpolate.startSymbol())>-1||content||expect(element,attrName,content)},getText:getText,hasAriaLabel:hasAriaLabel,parentHasAriaLabel:function parentHasAriaLabel(element,level){level=level||1;var node=angular.element(element)[0]||element;if(!node.parentNode)return!1;if(function(parentNode){if(!hasAriaLabel(parentNode))return!1;if(parentNode.hasAttribute("role"))switch(parentNode.getAttribute("role").toLowerCase()){case"command":case"definition":case"directory":case"grid":case"list":case"listitem":case"log":case"marquee":case"menu":case"menubar":case"note":case"presentation":case"separator":case"scrollbar":case"status":case"tablist":return!1}switch(parentNode.tagName.toLowerCase()){case"abbr":case"acronym":case"address":case"applet":case"audio":case"b":case"bdi":case"bdo":case"big":case"blockquote":case"br":case"canvas":case"caption":case"center":case"cite":case"code":case"col":case"data":case"dd":case"del":case"dfn":case"dir":case"div":case"dl":case"em":case"embed":case"fieldset":case"figcaption":case"font":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hgroup":case"html":case"i":case"ins":case"isindex":case"kbd":case"keygen":case"label":case"legend":case"li":case"map":case"mark":case"menu":case"object":case"ol":case"output":case"pre":case"presentation":case"q":case"rt":case"ruby":case"samp":case"small":case"source":case"span":case"status":case"strike":case"strong":case"sub":case"sup":case"svg":case"tbody":case"td":case"th":case"thead":case"time":case"tr":case"track":case"tt":case"ul":case"var":return!1}return!0}(node.parentNode))return!0;level--;if(level)return parentHasAriaLabel(node.parentNode,level);return!1}};function expect(element,attrName,defaultValue){var node=angular.element(element)[0]||element;!node||node.hasAttribute(attrName)&&0!==node.getAttribute(attrName).length||function(node,attrName){var hasAttr=!1;if(node.hasChildNodes())for(var children=node.childNodes,i=0;i<children.length;i++){var child=children[i];1===child.nodeType&&child.hasAttribute(attrName)&&(void 0,"none"!==((el=child).currentStyle?el.currentStyle:$window.getComputedStyle(el)).display&&(hasAttr=!0))}var el;return hasAttr}(node,attrName)||((defaultValue=angular.isString(defaultValue)?defaultValue.trim():"").length?element.attr(attrName,defaultValue):showWarnings&&$log.warn('ARIA: Attribute "',attrName,'", required for accessibility, is missing on node:',node))}function expectAsync(element,attrName,defaultValueGetter){$$rAF(function(){expect(element,attrName,defaultValueGetter())})}function getText(element){element=element[0]||element;for(var node,walker=document.createTreeWalker(element,NodeFilter.SHOW_TEXT,null,!1),text="";node=walker.nextNode();)isAriaHiddenNode(node)||(text+=node.textContent);return text.trim()||"";function isAriaHiddenNode(node){for(;node.parentNode&&(node=node.parentNode)!==element;)if(node.getAttribute&&"true"===node.getAttribute("aria-hidden"))return!0}}function hasAriaLabel(element){var node=angular.element(element)[0]||element;return!!node.hasAttribute&&(node.hasAttribute("aria-label")||node.hasAttribute("aria-labelledby")||node.hasAttribute("aria-describedby"))}}MdAriaService.$inject=["$$rAF","$log","$window","$interpolate"],angular.module("material.core").provider("$mdAria",function(){var config={showWarnings:!0};return{disableWarnings:function(){config.showWarnings=!1},$get:["$$rAF","$log","$window","$interpolate",function($$rAF,$log,$window,$interpolate){return MdAriaService.apply(config,arguments)}]}})}(),function(){function MdCompilerProvider(){function MdCompilerService($q,$templateRequest,$injector,$compile,$controller){this.$q=$q,this.$templateRequest=$templateRequest,this.$injector=$injector,this.$compile=$compile,this.$controller=$controller}this.$get=["$q","$templateRequest","$injector","$compile","$controller",function($q,$templateRequest,$injector,$compile,$controller){return new MdCompilerService($q,$templateRequest,$injector,$compile,$controller)}],MdCompilerService.prototype.compile=function(options){return options.contentElement?this._prepareContentElement(options):this._compileTemplate(options)},MdCompilerService.prototype._prepareContentElement=function(options){var contentElement=this._fetchContentElement(options);return this.$q.resolve({element:contentElement.element,cleanup:contentElement.restore,locals:{},link:function(){return contentElement.element}})},MdCompilerService.prototype._compileTemplate=function(options){var self=this,templateUrl=options.templateUrl,template=options.template||"",resolve=angular.extend({},options.resolve),locals=angular.extend({},options.locals),transformTemplate=options.transformTemplate||angular.identity;return angular.forEach(resolve,function(value,key){angular.isString(value)?resolve[key]=self.$injector.get(value):resolve[key]=self.$injector.invoke(value)}),angular.extend(resolve,locals),resolve.$$ngTemplate=templateUrl?this.$templateRequest(templateUrl):this.$q.when(template),this.$q.all(resolve).then(function(locals){var template=transformTemplate(locals.$$ngTemplate,options),element=options.element||angular.element("<div>").html(template.trim()).contents();return self._compileElement(locals,element,options)})},MdCompilerService.prototype._compileElement=function(locals,element,options){var self=this,ngLinkFn=this.$compile(element),compileData={element:element,cleanup:element.remove.bind(element),locals:locals,link:function(scope){if(locals.$scope=scope,options.controller){var injectLocals=angular.extend({},locals,{$element:element}),ctrl=self._createController(options,injectLocals,locals);angular.isFunction(ctrl.$onDestroy)&&scope.$on("$destroy",function(){angular.isFunction(ctrl.$onDestroy)&&ctrl.$onDestroy()}),element.data("$ngControllerController",ctrl),element.children().data("$ngControllerController",ctrl),compileData.controller=ctrl}return ngLinkFn(scope)}};return compileData},MdCompilerService.prototype._createController=function(options,injectLocals,locals){var ctrl=this.$controller(options.controller,injectLocals);return options.bindToController&&angular.extend(ctrl,locals),options.controllerAs&&(injectLocals.$scope[options.controllerAs]=ctrl),angular.isFunction(ctrl.$onInit)&&ctrl.$onInit(),ctrl},MdCompilerService.prototype._fetchContentElement=function(options){var restoreFn,contentEl=options.contentElement;return angular.isString(contentEl)?restoreFn=createRestoreFn(contentEl=document.querySelector(contentEl)):(contentEl=contentEl[0]||contentEl,restoreFn=document.contains(contentEl)?createRestoreFn(contentEl):function(){contentEl.parentNode&&contentEl.parentNode.removeChild(contentEl)}),{element:angular.element(contentEl),restore:restoreFn};function createRestoreFn(element){var parent=element.parentNode,nextSibling=element.nextElementSibling;return function(){nextSibling?parent.insertBefore(element,nextSibling):parent.appendChild(element)}}}}angular.module("material.core").provider("$mdCompiler",MdCompilerProvider),MdCompilerProvider.$inject=["$compileProvider"]}(),function(){MdGesture.$inject=["$$MdGestureHandler","$$rAF","$timeout","$mdUtil"],attachToDocument.$inject=["$mdGesture","$$MdGestureHandler","$mdUtil"];var pointer,lastPointer,HANDLERS={},maxClickDistance=6,forceSkipClickHijack=!1,disableAllGestures=!1,lastLabelClickPos=null,isInitialized=!1;function MdGestureProvider(){}function MdGesture($$MdGestureHandler,$$rAF,$timeout,$mdUtil){var touchActionProperty=$mdUtil.getTouchAction(),hasJQuery=void 0!==window.jQuery&&angular.element===window.jQuery,self={handler:function(name,definition){var handler=new $$MdGestureHandler(name);return angular.extend(handler,definition),HANDLERS[name]=handler,self},register:function(element,handlerName,options){var handler=HANDLERS[handlerName.replace(/^\$md./,"")];if(!handler)throw new Error("Failed to register element with handler "+handlerName+". Available handlers: "+Object.keys(HANDLERS).join(", "));return handler.registerElement(element,options)},isAndroid:$mdUtil.isAndroid,isIos:$mdUtil.isIos,isHijackingClicks:($mdUtil.isIos||$mdUtil.isAndroid)&&!hasJQuery&&!forceSkipClickHijack};function checkDistanceAndEmit(eventName){return function(ev,pointer){pointer.distance<this.state.options.maxDistance&&this.dispatchEvent(ev,eventName,pointer)}}return self.isHijackingClicks&&(self.handler("click",{options:{maxDistance:maxClickDistance},onEnd:checkDistanceAndEmit("click")}),self.handler("focus",{options:{maxDistance:maxClickDistance},onEnd:function(ev,pointer){pointer.distance<this.state.options.maxDistance&&canFocus(ev.target)&&(this.dispatchEvent(ev,"focus",pointer),ev.target.focus())}}),self.handler("mouseup",{options:{maxDistance:maxClickDistance},onEnd:checkDistanceAndEmit("mouseup")}),self.handler("mousedown",{onStart:function(ev){this.dispatchEvent(ev,"mousedown")}})),self.handler("press",{onStart:function(ev,pointer){this.dispatchEvent(ev,"$md.pressdown")},onEnd:function(ev,pointer){this.dispatchEvent(ev,"$md.pressup")}}).handler("hold",{options:{maxDistance:6,delay:500},onCancel:function(){$timeout.cancel(this.state.timeout)},onStart:function(ev,pointer){if(!this.state.registeredParent)return this.cancel();this.state.pos={x:pointer.x,y:pointer.y},this.state.timeout=$timeout(angular.bind(this,function(){this.dispatchEvent(ev,"$md.hold"),this.cancel()}),this.state.options.delay,!1)},onMove:function(ev,pointer){touchActionProperty||"touchmove"!==ev.type||ev.preventDefault();var dx=this.state.pos.x-pointer.x,dy=this.state.pos.y-pointer.y;Math.sqrt(dx*dx+dy*dy)>this.options.maxDistance&&this.cancel()},onEnd:function(){this.onCancel()}}).handler("drag",{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onSetup:function(element,options){touchActionProperty&&(this.oldTouchAction=element[0].style[touchActionProperty],element[0].style[touchActionProperty]=options.horizontal?"pan-y":"pan-x")},onCleanup:function(element){this.oldTouchAction?element[0].style[touchActionProperty]=this.oldTouchAction:element[0].style[touchActionProperty]=null},onStart:function(ev){this.state.registeredParent||this.cancel()},onMove:function(ev,pointer){var shouldStartDrag,shouldCancel;touchActionProperty||"touchmove"!==ev.type||ev.preventDefault(),this.state.dragPointer?this.dispatchDragMove(ev):(this.state.options.horizontal?(shouldStartDrag=Math.abs(pointer.distanceX)>this.state.options.minDistance,shouldCancel=Math.abs(pointer.distanceY)>this.state.options.minDistance*this.state.options.cancelMultiplier):(shouldStartDrag=Math.abs(pointer.distanceY)>this.state.options.minDistance,shouldCancel=Math.abs(pointer.distanceX)>this.state.options.minDistance*this.state.options.cancelMultiplier),shouldStartDrag?(this.state.dragPointer=makeStartPointer(ev),updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.dragstart",this.state.dragPointer)):shouldCancel&&this.cancel())},dispatchDragMove:$$rAF.throttle(function(ev){this.state.isRunning&&(updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.drag",this.state.dragPointer))}),onEnd:function(ev,pointer){this.state.dragPointer&&(updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.dragend",this.state.dragPointer))}}).handler("swipe",{options:{minVelocity:.65,minDistance:10},onEnd:function(ev,pointer){var eventType;Math.abs(pointer.velocityX)>this.state.options.minVelocity&&Math.abs(pointer.distanceX)>this.state.options.minDistance?(eventType="left"==pointer.directionX?"$md.swipeleft":"$md.swiperight",this.dispatchEvent(ev,eventType)):Math.abs(pointer.velocityY)>this.state.options.minVelocity&&Math.abs(pointer.distanceY)>this.state.options.minDistance&&(eventType="up"==pointer.directionY?"$md.swipeup":"$md.swipedown",this.dispatchEvent(ev,eventType))}})}function GestureHandler(name){this.name=name,this.state={}}function attachToDocument($mdGesture,$$MdGestureHandler,$mdUtil){if(!disableAllGestures){!isInitialized&&$mdGesture.isHijackingClicks&&(document.addEventListener("click",function(ev){var isKeyClick;isKeyClick=$mdUtil.isIos?angular.isDefined(ev.webkitForce)&&0===ev.webkitForce:0===ev.clientX&&0===ev.clientY;isKeyClick||ev.$material||ev.isIonicTap||isInputEventFromLabelClick(ev)?(lastLabelClickPos=null,"label"===ev.target.tagName.toLowerCase()&&(lastLabelClickPos={x:ev.x,y:ev.y})):(ev.preventDefault(),ev.stopPropagation(),lastLabelClickPos=null)},!0),document.addEventListener("mouseup",mouseInputHijacker,!0),document.addEventListener("mousedown",mouseInputHijacker,!0),document.addEventListener("focus",mouseInputHijacker,!0),isInitialized=!0);angular.element(document).on("mousedown touchstart pointerdown",function(ev){if(pointer)return;var now=+Date.now();if(lastPointer&&!typesMatch(ev,lastPointer)&&now-lastPointer.endTime<1500)return;pointer=makeStartPointer(ev),runHandlers("start",ev)}).on("mousemove touchmove pointermove",function(ev){if(!pointer||!typesMatch(ev,pointer))return;updatePointerState(ev,pointer),runHandlers("move",ev)}).on("mouseup mouseleave touchend touchcancel pointerup pointercancel",function(ev){if(!pointer||!typesMatch(ev,pointer))return;updatePointerState(ev,pointer),pointer.endTime=+Date.now(),"pointercancel"!==ev.type&&runHandlers("end",ev);lastPointer=pointer,pointer=null}).on("$$mdGestureReset",function(){lastPointer=pointer=null})}function mouseInputHijacker(ev){!ev.clientX&&!ev.clientY||ev.$material||ev.isIonicTap||isInputEventFromLabelClick(ev)||"mousedown"===ev.type&&(canFocus(ev.target)||canFocus(document.activeElement))||(ev.preventDefault(),ev.stopPropagation())}function runHandlers(handlerEvent,event){var handler;for(var name in HANDLERS)(handler=HANDLERS[name])instanceof $$MdGestureHandler&&("start"===handlerEvent&&handler.cancel(),handler[handlerEvent](event,pointer))}}function makeStartPointer(ev){var point=getEventPoint(ev),startPointer={startTime:+Date.now(),target:ev.target,type:ev.type.charAt(0)};return startPointer.startX=startPointer.x=point.pageX,startPointer.startY=startPointer.y=point.pageY,startPointer}function typesMatch(ev,pointer){return ev&&pointer&&ev.type.charAt(0)===pointer.type}function isInputEventFromLabelClick(event){return lastLabelClickPos&&lastLabelClickPos.x===event.x&&lastLabelClickPos.y===event.y}function updatePointerState(ev,pointer){var point=getEventPoint(ev),x=pointer.x=point.pageX,y=pointer.y=point.pageY;pointer.distanceX=x-pointer.startX,pointer.distanceY=y-pointer.startY,pointer.distance=Math.sqrt(pointer.distanceX*pointer.distanceX+pointer.distanceY*pointer.distanceY),pointer.directionX=pointer.distanceX>0?"right":pointer.distanceX<0?"left":"",pointer.directionY=pointer.distanceY>0?"down":pointer.distanceY<0?"up":"",pointer.duration=+Date.now()-pointer.startTime,pointer.velocityX=pointer.distanceX/pointer.duration,pointer.velocityY=pointer.distanceY/pointer.duration}function getEventPoint(ev){return(ev=ev.originalEvent||ev).touches&&ev.touches[0]||ev.changedTouches&&ev.changedTouches[0]||ev}function canFocus(element){return!!element&&"-1"!==element.getAttribute("tabindex")&&!element.hasAttribute("disabled")&&(element.hasAttribute("tabindex")||element.hasAttribute("href")||element.isContentEditable||-1!==["INPUT","SELECT","BUTTON","TEXTAREA","VIDEO","AUDIO"].indexOf(element.nodeName))}angular.module("material.core.gestures",[]).provider("$mdGesture",MdGestureProvider).factory("$$MdGestureHandler",function(){var hasJQuery=void 0!==window.jQuery&&angular.element===window.jQuery;return GestureHandler.prototype={options:{},dispatchEvent:hasJQuery?function(srcEvent,eventType,eventPointer){eventPointer=eventPointer||pointer;var eventObj=new angular.element.Event(eventType);eventObj.$material=!0,eventObj.pointer=eventPointer,eventObj.srcEvent=srcEvent,angular.extend(eventObj,{clientX:eventPointer.x,clientY:eventPointer.y,screenX:eventPointer.x,screenY:eventPointer.y,pageX:eventPointer.x,pageY:eventPointer.y,ctrlKey:srcEvent.ctrlKey,altKey:srcEvent.altKey,shiftKey:srcEvent.shiftKey,metaKey:srcEvent.metaKey}),angular.element(eventPointer.target).trigger(eventObj)}:function(srcEvent,eventType,eventPointer){var eventObj;eventPointer=eventPointer||pointer,"click"===eventType||"mouseup"===eventType||"mousedown"===eventType?"function"==typeof window.MouseEvent?eventObj=new MouseEvent(eventType,{bubbles:!0,cancelable:!0,screenX:Number(srcEvent.screenX),screenY:Number(srcEvent.screenY),clientX:Number(eventPointer.x),clientY:Number(eventPointer.y),ctrlKey:srcEvent.ctrlKey,altKey:srcEvent.altKey,shiftKey:srcEvent.shiftKey,metaKey:srcEvent.metaKey,button:srcEvent.button,buttons:srcEvent.buttons,relatedTarget:srcEvent.relatedTarget||null}):(eventObj=document.createEvent("MouseEvents")).initMouseEvent(eventType,!0,!0,window,srcEvent.detail,eventPointer.x,eventPointer.y,eventPointer.x,eventPointer.y,srcEvent.ctrlKey,srcEvent.altKey,srcEvent.shiftKey,srcEvent.metaKey,srcEvent.button,srcEvent.relatedTarget||null):"function"==typeof window.CustomEvent?eventObj=new CustomEvent(eventType,{bubbles:!0,cancelable:!0,detail:{}}):(eventObj=document.createEvent("CustomEvent")).initCustomEvent(eventType,!0,!0,{}),eventObj.$material=!0,eventObj.pointer=eventPointer,eventObj.srcEvent=srcEvent,eventPointer.target.dispatchEvent(eventObj)},onSetup:angular.noop,onCleanup:angular.noop,onStart:angular.noop,onMove:angular.noop,onEnd:angular.noop,onCancel:angular.noop,start:function(ev,pointer){if(!this.state.isRunning){var parentTarget=this.getNearestParent(ev.target),parentTargetOptions=parentTarget&&parentTarget.$mdGesture[this.name]||{};this.state={isRunning:!0,options:angular.extend({},this.options,parentTargetOptions),registeredParent:parentTarget},this.onStart(ev,pointer)}},move:function(ev,pointer){this.state.isRunning&&this.onMove(ev,pointer)},end:function(ev,pointer){this.state.isRunning&&(this.state.isRunning=!1,this.onEnd(ev,pointer))},cancel:function(ev,pointer){this.onCancel(ev,pointer),this.state={}},getNearestParent:function(node){for(var current=node;current;){if((current.$mdGesture||{})[this.name])return current;current=current.parentNode}return null},registerElement:function(element,options){var self=this;return element[0].$mdGesture=element[0].$mdGesture||{},element[0].$mdGesture[this.name]=options||{},element.on("$destroy",onDestroy),self.onSetup(element,options||{}),onDestroy;function onDestroy(){delete element[0].$mdGesture[self.name],element.off("$destroy",onDestroy),self.onCleanup(element,options||{})}}},GestureHandler}).run(attachToDocument),MdGestureProvider.prototype={disableAll:function(){disableAllGestures=!0},skipClickHijack:function(){return forceSkipClickHijack=!0}
vendor: 4,861 bytes, line 1
1,setMaxClickDistance:function(clickDistance){maxClickDistance=parseInt(clickDistance)},$get:["$$MdGestureHandler","$$rAF","$timeout","$mdUtil",function($$MdGestureHandler,$$rAF,$timeout,$mdUtil){return new MdGesture($$MdGestureHandler,$$rAF,$timeout,$mdUtil)}]}}(),function(){function MdInteractionService($timeout,$mdUtil,$rootScope){this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.$rootScope=$rootScope,this.pointerEvent="MSPointerEvent"in window?"MSPointerDown":"PointerEvent"in window?"pointerdown":null,this.bodyElement=angular.element(document.body),this.isBuffering=!1,this.bufferTimeout=null,this.lastInteractionType=null,this.lastInteractionTime=null,this.inputHandler=this.onInputEvent.bind(this),this.bufferedInputHandler=this.onBufferInputEvent.bind(this),this.inputEventMap={keydown:"keyboard",mousedown:"mouse",mouseenter:"mouse",touchstart:"touch",pointerdown:"pointer",MSPointerDown:"pointer"},this.iePointerMap={2:"touch",3:"touch",4:"mouse"},this.initializeEvents(),this.$rootScope.$on("$destroy",this.deregister.bind(this))}MdInteractionService.$inject=["$timeout","$mdUtil","$rootScope"],angular.module("material.core.interaction",[]).service("$mdInteraction",MdInteractionService),MdInteractionService.prototype.deregister=function(){this.bodyElement.off("keydown mousedown",this.inputHandler),"ontouchstart"in document.documentElement&&this.bodyElement.off("touchstart",this.bufferedInputHandler),this.pointerEvent&&this.bodyElement.off(this.pointerEvent,this.inputHandler)},MdInteractionService.prototype.initializeEvents=function(){this.bodyElement.on("keydown mousedown",this.inputHandler),"ontouchstart"in document.documentElement&&this.bodyElement.on("touchstart",this.bufferedInputHandler),this.pointerEvent&&this.bodyElement.on(this.pointerEvent,this.inputHandler)},MdInteractionService.prototype.onInputEvent=function(event){if(!this.isBuffering){var type=this.inputEventMap[event.type];"pointer"===type&&(type=this.iePointerMap[event.pointerType]||event.pointerType),this.lastInteractionType=type,this.lastInteractionTime=this.$mdUtil.now()}},MdInteractionService.prototype.onBufferInputEvent=function(event){this.$timeout.cancel(this.bufferTimeout),this.onInputEvent(event),this.isBuffering=!0,this.bufferTimeout=this.$timeout(function(){this.isBuffering=!1}.bind(this),650,!1)},MdInteractionService.prototype.getLastInteractionType=function(){return this.lastInteractionType},MdInteractionService.prototype.isUserInvoked=function(checkDelay){var delay=angular.isNumber(checkDelay)?checkDelay:15;return this.lastInteractionTime>=this.$mdUtil.now()-delay}}(),function(){angular.module("material.core").provider("$$interimElement",function(){return InterimElementFactory.$inject=["$document","$q","$rootScope","$timeout","$rootElement","$animate","$mdUtil","$mdCompiler","$mdTheming","$injector","$exceptionHandler"],createInterimElementProvider.$get=InterimElementFactory,createInterimElementProvider;function createInterimElementProvider(interimFactoryName){factory.$inject=["$$interimElement","$injector"];var EXPOSED_METHODS=["onHide","onShow","onRemove"],customMethods={},providerConfig={presets:{}},provider={setDefaults:function(definition){return providerConfig.optionsFactory=definition.options,providerConfig.methods=(definition.methods||[]).concat(EXPOSED_METHODS),provider},addPreset:function(name,definition){if((definition=definition||{}).methods=definition.methods||[],definition.options=definition.options||function(){return{}},/^cancel|hide|show$/.test(name))throw new Error("Preset '"+name+"' in "+interimFactoryName+" is reserved!");if(definition.methods.indexOf("_options")>-1)throw new Error("Method '_options' in "+interimFactoryName+" is reserved!");return providerConfig.presets[name]={methods:definition.methods.concat(EXPOSED_METHODS),optionsFactory:definition.options,argOption:definition.argOption},provider},addMethod:function(name,fn){return customMethods[name]=fn,provider},$get:factory};return provider.addPreset("build",{methods:["controller","controllerAs","resolve","multiple","template","templateUrl","themable","transformTemplate","parent","contentElement"]}),provider;function factory($$interimElement,$injector){var defaultMethods,defaultOptions,interimElementService=$$interimElement(),publicService={hide:interimElementService.hide,cancel:interimElementService.cancel,show:function(opts){(opts=opts||{})._options&&(opts=opts._options);return interimElementService.show(angular.extend({},defaultOptions,opts))},destroy:function(opts){return interimElementService.destroy(opts)}};return defaultMethods=providerConfig.methods||[],defaultOptions=invokeFactory(providerConfig.optionsFactory,{}),angular.forEach(customMethods,function(fn,name){publicService[name]=fn}),angular.forEach(providerConfig.presets,function(definition,name){var presetDefaults=invokeFactory(definition.optionsFactory,{}
vendor: 5,690 bytes, line 1
1),presetMethods=(definition.methods||[]).concat(defaultMethods);function Preset(opts){this._options=angular.extend({},presetDefaults,opts)}if(angular.extend(presetDefaults,{$type:name}),angular.forEach(presetMethods,function(name){Preset.prototype[name]=function(value){return this._options[name]=value,this}}),definition.argOption){var methodName="show"+name.charAt(0).toUpperCase()+name.slice(1);publicService[methodName]=function(arg){var config=publicService[name](arg);return publicService.show(config)}}publicService[name]=function(arg){return arguments.length&&definition.argOption&&!angular.isObject(arg)&&!angular.isArray(arg)?(new Preset)[definition.argOption](arg):new Preset(arg)}}),publicService;function invokeFactory(factory,defaultVal){var locals={};return locals[interimFactoryName]=publicService,$injector.invoke(factory||function(){return defaultVal},{},locals)}}}function InterimElementFactory($document,$q,$rootScope,$timeout,$rootElement,$animate,$mdUtil,$mdCompiler,$mdTheming,$injector,$exceptionHandler){return function(){var service,SHOW_CANCELLED=!1,showPromises=[],hidePromises=[],showingInterims=[];return service={show:function(options){var interimElement=new function(options){var self,element,showAction=$q.when(!0);return options=function(options){return(options=options||{}).template&&(options.template=$mdUtil.processTemplate(options.template)),angular.extend({preserveScope:!1,cancelAutoHide:angular.noop,scope:options.scope||$rootScope.$new(options.isolateScope),onShow:function(scope,element,options){return $animate.enter(element,options.parent)},onRemove:function(scope,element){return element&&$animate.leave(element)||$q.when()}},options)}(options),self={options:options,deferred:$q.defer(),show:function(){return $q(function(resolve,reject){function rejectAll(fault){self.deferred.reject(fault),reject(fault)}options.onCompiling&&options.onCompiling(options),function(options){return(options.skipCompile?null:$mdCompiler.compile(options))||$q(function(resolve){resolve({locals:{},link:function(){return options.element}})})}(options).then(function(compiledData){element=function(compileData,options){angular.extend(compileData.locals,options);var element=compileData.link(options.scope);return options.element=element,options.parent=function(element,options){var el,parent=options.parent;return((parent=angular.isFunction(parent)?parent(options.scope,element,options):angular.isString(parent)?angular.element($document[0].querySelector(parent)):angular.element(parent))||{}).length?parent:($rootElement[0]&&$rootElement[0].querySelector&&(el=$rootElement[0].querySelector(":not(svg) > body")),el||(el=$rootElement[0]),"#comment"===el.nodeName&&(el=$document[0].body),angular.element(el))}(element,options),options.themable&&$mdTheming(element),element}(compiledData,options),options.cleanupElement=compiledData.cleanup,showAction=function(element,options,controller){var notifyShowing=options.onShowing||angular.noop,notifyComplete=options.onComplete||angular.noop;try{notifyShowing(options.scope,element,options,controller)}catch(e){return $q.reject(e)}return $q(function(resolve,reject){try{$q.when(options.onShow(options.scope,element,options)).then(function(){notifyComplete(options.scope,element,options),startAutoHide(),resolve(element)},reject)}catch(e){reject(e.message)}})}(element,options,compiledData.controller).then(resolve,rejectAll)}).catch(rejectAll)})},remove:function(response,isCancelled,opts){return element?((options=angular.extend(options||{},opts||{})).cancelAutoHide&&options.cancelAutoHide(),options.element.triggerHandler("$mdInterimElementRemove"),!0===options.$destroy?hideElement(options.element,options).then(function(){isCancelled&&rejectAll(response)||resolveAll(response)}):($q.when(showAction).finally(function(){hideElement(options.element,options).then(function(){isCancelled?rejectAll(response):resolveAll(response)},rejectAll)}),self.deferred.promise)):$q.when(!1);function resolveAll(response){self.deferred.resolve(response)}function rejectAll(fault){self.deferred.reject(fault)}}};function startAutoHide(){var autoHideTimer,cancelAutoHide=angular.noop;options.hideDelay&&(autoHideTimer=$timeout(service.hide,options.hideDelay),cancelAutoHide=function(){$timeout.cancel(autoHideTimer)}),options.cancelAutoHide=function(){cancelAutoHide(),options.cancelAutoHide=undefined}}function hideElement(element,options){var announceRemoving=options.onRemoving||angular.noop;return $q(function(resolve,reject){try{var action=$q.when(options.onRemove(options.scope,element,options)||!0);announceRemoving(element,action),options.$destroy?(resolve(element),!options.preserveScope&&options.scope&&action.then(function(){options.scope.$destroy()})):action.then(function(){!options.preserveScope&&options.scope&&options.scope.$destroy(),resolve(element)},reject)}catch(e){reject(e.message)}})}}((options=options||{})||{}),hideAction=options.multiple?$q.resolve():$q.all(showPromises);options.multiple||(hideAction=hideAction.then(function(){var promiseArray=hidePromises.concat(showingInterims.map(service.cancel));return $q.all(promiseArray)}));var showAction=hideAction.then(function(){return interimElement.show().then(function(){showingInterims.push(interimElement)}).catch(function(reason){return reason}).finally(function(){showPromises.splice(showPromises.indexOf(showAction),1)})});return showPromises.push(showAction),interimElement.deferred.promise.catch(function(fault){return fault instanceof Error&&$exceptionHandler(fault),fault}),interimElement.deferred.promise},hide:waitForInterim(function(reason,options){if((options=options||{}).closeAll)return $q.all(showingInterims.slice().reverse().map(closeElement));
1if(options.closeTo!==undefined)return $q.all(showingInterims.slice(options.closeTo).map(closeElement));return closeElement(showingInterims[showingInterims.length-1]);function closeElement(interim){if(!interim)return $q.when(reason);var hideAction=interim.remove(reason,!1,options||{}).catch(function(reason){return reason}).finally(function(){hidePromises.splice(hidePromises.indexOf(hideAction),1)});return showingInterims.splice(showingInterims.indexOf(interim),1),hidePromises.push(hideAction),interim.deferred.promise}}),cancel:waitForInterim(function(reason,options){var interim=showingInterims.pop();if(!interim)return $q.when(reason);var cancelAction=interim.remove(reason,!0,options||{}).catch(function(reason){return reason}).finally(function(){hidePromises.splice(hidePromises.indexOf(cancelAction),1)});return hidePromises.push(cancelAction),interim.deferred.promise.catch(angular.noop)}),destroy:function(targetEl){var interim=targetEl?null:showingInterims.shift(),parentEl=angular.element(targetEl).length&&angular.element(targetEl)[0].parentNode;if(parentEl){var filtered=showingInterims.filter(function(entry){return entry.options.element[0]===parentEl});filtered.length&&(interim=filtered[0],showingInterims.splice(showingInterims.indexOf(interim),1))}return interim?interim.remove(SHOW_CANCELLED,!1,{$destroy:!0}):$q.when(SHOW_CANCELLED)},$injector_:$injector};function waitForInterim(callbackFn){return function(){var fnArguments=arguments;return showingInterims.length?callbackFn.apply(service,fnArguments):showPromises.length?showPromises[0].finally(function(){return callbackFn.apply(service,fnArguments)}):$q.when("No interim elements currently showing up.")}}}}})}(),function(){var $mdUtil,$interpolate,$log,SUFFIXES=/(-gt)?-(sm|md|lg|print)/g,WHITESPACE=/\s+/g,FLEX_OPTIONS=["grow","initial","auto","none","noshrink","nogrow"],LAYOUT_OPTIONS=["row","column"],ALIGNMENT_MAIN_AXIS=["","start","center","end","stretch","space-around","space-between"],ALIGNMENT_CROSS_AXIS=["","start","center","end","stretch"],config={enabled:!0,breakpoints:[]};function detectDisabledLayouts(){var isDisabled=!!document.querySelector("[md-layouts-disabled]");config.enabled=!isDisabled}function disableLayoutDirective(){return config.enabled=!1,{restrict:"A",priority:"900"}}function attributeWithoutValue(className){return["$mdUtil","$interpolate","$log",function(_$mdUtil_,_$interpolate_,_$log_){return $mdUtil=_$mdUtil_,$interpolate=_$interpolate_,$log=_$log_,{restrict:"A",compile:function(element,attr){var linkFn;return config.enabled&&(validateAttributeValue(className,getNormalizedAttrValue(className,attr,""),buildUpdateFn(0,className,attr)),translateToCssClass(0,element),linkFn=translateToCssClass),linkFn||angular.noop}}}];function translateToCssClass(scope,element){element.addClass(className)}}function validateAttributeUsage(className,attr,element,$log){var message,usage,url,nodeName=element[0].nodeName.toLowerCase();switch(className.replace(SUFFIXES,"")){case"flex":"md-button"!==nodeName&&"fieldset"!==nodeName||(usage="<"+nodeName+" "+className+"></"+nodeName+">",url="https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers",message="Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.",$log.warn($mdUtil.supplant(message,[usage,url])))}}function validateAttributeValue(className,value,updateFn){var origValue=value;if(!needsInterpolation(value)){switch(className.replace(SUFFIXES,"")){case"layout":findIn(value,LAYOUT_OPTIONS)||(value=LAYOUT_OPTIONS[0]);break;case"flex":findIn(value,FLEX_OPTIONS)||isNaN(value)&&(value="");break;case"flex-offset":case"flex-order":value&&!isNaN(+value)||(value="0");break;case"layout-align":var axis=function(attrValue){var values,axis={main:"start",cross:"stretch"};return 0!==(attrValue=attrValue||"").indexOf("-")&&0!==attrValue.indexOf(" ")||(attrValue="none"+attrValue),(values=attrValue.toLowerCase().trim().replace(WHITESPACE,"-").split("-")).length&&"space"===values[0]&&(values=[values[0]+"-"+values[1],values[2]]),values.length>0&&(axis.main=values[0]||axis.main),values.length>1&&(axis.cross=values[1]||axis.cross),ALIGNMENT_MAIN_AXIS.indexOf(axis.main)<0&&(axis.main="start"),ALIGNMENT_CROSS_AXIS.indexOf(axis.
vendor: 25,656 bytes, line 1
1cross)<0&&(axis.cross="stretch"),axis}(value);value=$mdUtil.supplant("{main}-{cross}",axis);break;case"layout-padding":case"layout-margin":case"layout-fill":case"layout-wrap":case"layout-nowrap":value=""}value!==origValue&&(updateFn||angular.noop)(value)}return value?value.trim():""}function buildUpdateFn(element,className,attrs){return function(fallback){needsInterpolation(fallback)||(attrs[attrs.$normalize(className)]=fallback)}}function needsInterpolation(value){return(value||"").indexOf($interpolate.startSymbol())>-1}function getNormalizedAttrValue(className,attrs,defaultVal){var normalizedAttr=attrs.$normalize(className);return attrs[normalizedAttr]?attrs[normalizedAttr].trim().replace(WHITESPACE,"-"):defaultVal||null}function findIn(item,list,replaceWith){var found=!1;return(item=replaceWith&&item?item.replace(WHITESPACE,replaceWith):item)&&list.forEach(function(it){it=replaceWith?it.replace(WHITESPACE,replaceWith):it,found=found||it===item}),found}!function(module){var className,PREFIX_REGEXP=/^((?:x|data)[:\-_])/i,SPECIAL_CHARS_REGEXP=/([:\-_]+(.))/g,API_WITH_VALUES=["layout","flex","flex-order","flex-offset","layout-align"],API_NO_VALUES=["show","hide","layout-padding","layout-margin"];function directiveNormalize(name){return name.replace(PREFIX_REGEXP,"").replace(SPECIAL_CHARS_REGEXP,function(_,separator,letter,offset){return offset?letter.toUpperCase():letter})}angular.forEach(["","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print"],function(mqb){angular.forEach(API_WITH_VALUES,function(name){var fullName=mqb?name+"-"+mqb:name;module.directive(directiveNormalize(fullName),function(className){return["$mdUtil","$interpolate","$log",function(_$mdUtil_,_$interpolate_,_$log_){return $mdUtil=_$mdUtil_,$interpolate=_$interpolate_,$log=_$log_,{restrict:"A",compile:function(element,attr){var linkFn;return config.enabled&&(validateAttributeUsage(className,0,element,$log),validateAttributeValue(className,getNormalizedAttrValue(className,attr,""),buildUpdateFn(0,className,attr)),linkFn=translateWithValueToCssClass),linkFn||angular.noop}}}];function translateWithValueToCssClass(scope,element,attrs){var updateFn=function(element,className){var lastClass;return function(newValue){var value=validateAttributeValue(className,newValue||"");angular.isDefined(value)&&(lastClass&&element.removeClass(lastClass),lastClass=value?className+"-"+value.trim().replace(WHITESPACE,"-"):className,element.addClass(lastClass))}}(element,className),unwatch=attrs.$observe(attrs.$normalize(className),updateFn);updateFn(getNormalizedAttrValue(className,attrs,"")),scope.$on("$destroy",function(){unwatch()})}}(fullName))}),angular.forEach(API_NO_VALUES,function(name){var fullName=mqb?name+"-"+mqb:name;module.directive(directiveNormalize(fullName),attributeWithoutValue(fullName))})}),module.provider("$$mdLayout",function(){return{$get:angular.noop,validateAttributeValue:validateAttributeValue,validateAttributeUsage:validateAttributeUsage,disableLayouts:function(isDisabled){config.enabled=!0!==isDisabled}}}).directive("mdLayoutCss",disableLayoutDirective).directive("ngCloak",(className="ng-cloak",["$timeout",function($timeout){return{restrict:"A",priority:-10,compile:function(element){return config.enabled?(element.addClass(className),function(scope,element){$timeout(function(){element.removeClass(className)},10,!1)}):angular.noop}}}])).directive("layoutWrap",attributeWithoutValue("layout-wrap")).directive("layoutNowrap",attributeWithoutValue("layout-nowrap")).directive("layoutNoWrap",attributeWithoutValue("layout-no-wrap")).directive("layoutFill",attributeWithoutValue("layout-fill")).config(detectDisabledLayouts)}(angular.module("material.core.layout",["ng"]))}(),function(){function MdLiveAnnouncer($timeout){this._$timeout=$timeout,this._liveElement=this._createLiveElement(),this._announceTimeout=100}MdLiveAnnouncer.$inject=["$timeout"],angular.module("material.core").service("$mdLiveAnnouncer",MdLiveAnnouncer),MdLiveAnnouncer.prototype.announce=function(message,politeness){politeness||(politeness="polite");var self=this;self._liveElement.textContent="",self._liveElement.setAttribute("aria-live",politeness),self._$timeout(function(){self._liveElement.textContent=message},self._announceTimeout,!1)},MdLiveAnnouncer.prototype._createLiveElement=function(){var liveEl=document.createElement("div");return liveEl.classList.add("md-visually-hidden"),liveEl.setAttribute("role","status"),liveEl.setAttribute("aria-atomic","true"),liveEl.setAttribute("aria-live","polite"),document.body.appendChild(liveEl),liveEl}}(),angular.module("material.core.meta",[]).provider("$$mdMeta",function(){var head=angular.element(document.head),metaElements={};function mapExistingElement(name){if(metaElements[name])return!0;var element=document.getElementsByName(name)[0];return!!element&&(metaElements[name]=angular.element(element),!0)}var module={setMeta:function(name,content){if(mapExistingElement(name),metaElements[name])metaElements[name].attr("content",content);else{var newMeta=angular.element('<meta name="'+name+'" content="'+content+'"/>');head.append(newMeta),metaElements[name]=newMeta}return function(){metaElements[name].attr("content",""),metaElements[name].remove(),delete metaElements[name]}},getMeta:function(name){if(!mapExistingElement(name))throw Error("$$mdMeta: could not find a meta tag with the name '"+name+"'");return metaElements[name].attr("content")}};return angular.extend({},module,{$get:function(){return module}})}),function(){function ComponentRegistry($log,$q){var self,instances=[],pendings={};return self={notFoundError:function(handle,msgContext){$log.error((msgContext||"")+"No instance found for handle",handle)},getInstances:function(){return instances},get:function(handle){if(!isValidID(handle))return null;var i,j,instance;for(i=0,j=instances.length;i<j;i++)if((instance=instances[i]).$$mdHandle===handle)return instance;return null},register:function(instance,handle){return handle?(instance.$$mdHandle=handle,instances.push(instance),(dfd=pendings[handle])&&(dfd.forEach(function(promise){promise.resolve(instance)}),delete pendings[handle]),function(){var index=instances.indexOf(instance);-1!==index&&instances.splice(index,1)}):angular.noop;var dfd},when:function(handle){if(isValidID(handle)){var deferred=$q.defer(),instance=self.get(handle);return instance?deferred.resolve(instance):(pendings[handle]===undefined&&(pendings[handle]=[]),pendings[handle].push(deferred)),deferred.promise}return $q.reject("Invalid `md-component-id` value.")}};function isValidID(handle){return handle&&""!==handle}}ComponentRegistry.$inject=["$log","$q"],angular.module("material.core").factory("$mdComponentRegistry",ComponentRegistry)}(),function(){function MdButtonInkRipple($mdInkRipple){return{attach:function(scope,element,options){return options=angular.extend(function(element){return element.hasClass("md-icon-button")?{isMenuItem:element.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:element.hasClass("md-menu-item"),dimBackground:!0}}(element),options),$mdInkRipple.attach(scope,element,options)}}}MdButtonInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdButtonInkRipple",MdButtonInkRipple)}(),function(){function MdCheckboxInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!0,dimBackground:!1,fitRipple:!0},options))}}}MdCheckboxInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdCheckboxInkRipple",MdCheckboxInkRipple)}(),function(){function MdListInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},options))}}}MdListInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdListInkRipple",MdListInkRipple)}(),function(){InkRippleCtrl.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil","$mdColorUtil"],InkRippleDirective.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],angular.module("material.core").provider("$mdInkRipple",function(){var isDisabledGlobally=!1;return{disableInkRipple:function(){isDisabledGlobally=!0},$get:["$injector",function($injector){return{attach:function(scope,element,options){return isDisabledGlobally||element.controller("mdNoInk")?angular.noop:$injector.instantiate(InkRippleCtrl,{$scope:scope,$element:element,rippleOptions:options})}}}]}}).directive("mdInkRipple",InkRippleDirective).directive("mdNoInk",attrNoDirective).directive("mdNoBar",attrNoDirective).directive("mdNoStretch",attrNoDirective);function InkRippleDirective($mdButtonInkRipple,$mdCheckboxInkRipple){return{controller:angular.noop,link:function(scope,element,attr){attr.hasOwnProperty("mdInkRippleCheckbox")?$mdCheckboxInkRipple.attach(scope,element):$mdButtonInkRipple.attach(scope,element)}}}function InkRippleCtrl($scope,$element,rippleOptions,$window,$timeout,$mdUtil,$mdColorUtil){this.$window=$window,this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.$mdColorUtil=$mdColorUtil,this.$scope=$scope,this.$element=$element,this.options=rippleOptions,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,$mdUtil.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),($element.controller("mdInkRipple")||{}).createRipple=angular.bind(this,this.createRipple),($element.controller("mdInkRipple")||{}).setColor=angular.bind(this,this.color),this.bindEvents()}function autoCleanup(self,cleanupFn){(self.mousedown||self.lastRipple)&&(self.mousedown=!1,self.$mdUtil.nextTick(angular.bind(self,cleanupFn),!1))}function attrNoDirective(){return{controller:angular.noop}}InkRippleCtrl.prototype.color=function(value){var items,elem,self=this;return angular.isDefined(value)&&(self._color=self._parseColor(value)),self._color||self._parseColor(self.inkRipple())||self._parseColor((items=self.options&&self.options.colorElement?self.options.colorElement:[],(elem=items.length?items[0]:self.$element[0])?self.$window.getComputedStyle(elem).color:"rgb(0,0,0)"))},InkRippleCtrl.prototype.calculateColor=function(){return this.color()},InkRippleCtrl.prototype._parseColor=function(color,multiplier){multiplier=multiplier||1;var colorUtil=this.$mdColorUtil;if(color)return 0===color.indexOf("rgba")?color.replace(/\d?\.?\d*\s*\)\s*$/,(.1*multiplier).toString()+")"):0===color.indexOf("rgb")?colorUtil.rgbToRgba(color):0===color.indexOf("#")?colorUtil.hexToRgba(color):void 0},InkRippleCtrl.prototype.bindEvents=function(){this.$element.on("mousedown",angular.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",angular.bind(this,this.handleMouseup)),this.$element.on("mouseleave",angular.bind(this,this.handleMouseup)),this.$element.on("touchmove",angular.bind(this,this.handleTouchmove))},InkRippleCtrl.prototype.handleMousedown=function(event){if(!this.mousedown)if(event.hasOwnProperty("originalEvent")&&(event=event.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(event.srcElement!==this.$element[0]){var layerRect=this.$element[0].getBoundingClientRect(),layerX=event.clientX-layerRect.left,layerY=event.clientY-layerRect.top;this.createRipple(layerX,layerY)}else this.createRipple(event.offsetX,event.offsetY)},InkRippleCtrl.prototype.handleMouseup=function(){this.$timeout(function(){autoCleanup(this,this.clearRipples)}.bind(this))},InkRippleCtrl.prototype.handleTouchmove=function(){autoCleanup(this,this.deleteRipples)},InkRippleCtrl.prototype.deleteRipples=function(){for(var i=0;i<this.ripples.length;i++)this.ripples[i].remove()},InkRippleCtrl.prototype.clearRipples=function(){for(var i=0;i<this.ripples.length;i++)this.fadeInComplete(this.ripples[i])},InkRippleCtrl.prototype.createContainer=function(){var container=angular.element('<div class="md-ripple-container"></div>');return this.$element.append(container),container},InkRippleCtrl.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},InkRippleCtrl.prototype.isRippleAllowed=function(){var element=this.$element[0];do{if(!element.tagName||"BODY"===element.tagName)break;if(element&&angular.isFunction(element.hasAttribute)){if(element.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===this.inkRipple())return!1}}while(element=element.parentNode);return!0},InkRippleCtrl.prototype.inkRipple=function(){return this.$element.attr("md-ink-ripple")},InkRippleCtrl.prototype.createRipple=function(left,top){if(this.isRippleAllowed()){var ctrl=this,colorUtil=ctrl.$mdColorUtil,ripple=angular.element('<div class="md-ripple"></div>'),width=this.$element.prop("clientWidth"),height=this.$element.prop("clientHeight"),x=2*Math.max(Math.abs(width-left),left),y=2*Math.max(Math.abs(height-top),top),size=function(fit,x,y){return fit?Math.max(x,y):Math.sqrt(Math.pow(x,2)+Math.pow(y,2))}(this.options.fitRipple,x,y),color=this.calculateColor();ripple.css({left:left+"px",top:top+"px",background:"black",width:size+"px",height:size+"px",backgroundColor:colorUtil.rgbaToRgb(color),borderColor:colorUtil.rgbaToRgb(color)}),this.lastRipple=ripple,this.clearTimeout(),this.timeout=this.$timeout(function(){ctrl.clearTimeout(),ctrl.mousedown||ctrl.fadeInComplete(ripple)},157.5,!1),this.options.dimBackground&&this.container.css({backgroundColor:color}),this.container.append(ripple),this.ripples.push(ripple),ripple.addClass("md-ripple-placed"),this.$mdUtil.nextTick(function(){ripple.addClass("md-ripple-scaled md-ripple-active"),ctrl.$timeout(function(){ctrl.clearRipples()},450,!1)},!1)}},InkRippleCtrl.prototype.fadeInComplete=function(ripple){this.lastRipple===ripple&&(this.timeout||this.mousedown)||this.removeRipple(ripple)},InkRippleCtrl.prototype.removeRipple=function(ripple){var ctrl=this;this.ripples.indexOf(ripple)<0||(this.ripples.splice(this.ripples.indexOf(ripple),1),ripple.removeClass("md-ripple-active"),ripple.addClass("md-ripple-remove"),0===this.ripples.length&&this.container.css({backgroundColor:""}),this.$timeout(function(){ctrl.fadeOutComplete(ripple)},450,!1))},InkRippleCtrl.prototype.fadeOutComplete=function(ripple){ripple.remove(),this.lastRipple=null}}(),function(){function MdTabInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},options))}}}MdTabInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdTabInkRipple",MdTabInkRipple)}(),angular.module("material.core.theming.palette",[]).constant("$mdColorPalette",{red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 500 600 A100 A200 A400",contrastStrongLightColors:"700 800 900 A700"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200 A400",contrastStrongLightColors:"500 600 700 800 900 A700"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200 A400",contrastStrongLightColors:"400 500 600 700 800 900 A700"},"deep-purple":{50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100",contrastStrongLightColors:"400 500 600 700 800 900 A200 A400 A700"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200",contrastStrongLightColors:"400 500 600 700 800 900 A400 A700"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 500 600 A100 A200",contrastStrongLightColors:"700 800 900 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastStrongLightColors:"600 700 800 900"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastStrongLightColors:"700 800 900"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastStrongLightColors:"900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200",contrastStrongLightColors:"400 500 600 700 800 900 A400 A700"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#ffffff",A200:"#000000",A400:"#303030",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"700 800 900 A200 A400 A700",contrastStrongLightColors:"600"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200 A400",contrastStrongLightColors:"500 600 700 800 900 A700"}}),function(angular){function detectDisabledThemes($mdThemingProvider){var isDisabled=!!document.querySelector("[md-themes-disabled]");$mdThemingProvider.disableTheming(isDisabled)}detectDisabledThemes.$inject=["$mdThemingProvider"],ThemingDirective.$inject=["$mdTheming","$interpolate","$parse","$mdUtil","$q","$log"],ThemableDirective.$inject=["$mdTheming"],ThemingProvider.$inject=["$mdColorPalette","$$mdMetaProvider"],generateAllThemes.$inject=["$injector","$mdTheming"],angular.module("material.core.theming",["material.core.theming.palette","material.core.meta"]).directive("mdTheme",ThemingDirective).directive("mdThemable",ThemableDirective).directive("mdThemesDisabled",function(){return themeConfig.disableTheming=!0,{restrict:"A",priority:"900"}}).provider("$mdTheming",ThemingProvider).config(detectDisabledThemes).run(generateAllThemes);var PALETTES,GENERATED={},DARK_FOREGROUND={name:"dark"},LIGHT_FOREGROUND={name:"light"},DARK_SHADOW="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",LIGHT_SHADOW="",DARK_CONTRAST_COLOR=colorToRgbaArray("rgba(0,0,0,0.87)"),LIGHT_CONTRAST_COLOR=colorToRgbaArray("rgba(255,255,255,0.87)"),STRONG_LIGHT_CONTRAST_COLOR=colorToRgbaArray("rgb(255,255,255)"),THEME_COLOR_TYPES=["primary","accent","warn","background"],DEFAULT_COLOR_TYPE="primary",LIGHT_DEFAULT_HUES={accent:{default:"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{default:"50","hue-1":"A100","hue-2":"100","hue-3":"300"}},DARK_DEFAULT_HUES={background:{default:"A400","hue-1":"800","hue-2":"900","hue-3":"A200"}},DARK_CONTRAST_OPACITY={icon:.54,secondary:.54,disabled:.38,hint:.38,divider:.12},LIGHT_CONTRAST_OPACITY={icon:.87,secondary:.7,disabled:.5,hint:.5,divider:.12},STRONG_LIGHT_CONTRAST_OPACITY={icon:1,secondary:.7,disabled:.5,hint:.5,divider:.12};THEME_COLOR_TYPES.forEach(function(colorType){var defaultDefaultHues={default:"500","hue-1":"300","hue-2":"800","hue-3":"A100"};LIGHT_DEFAULT_HUES[colorType]||(LIGHT_DEFAULT_HUES[colorType]=defaultDefaultHues),DARK_DEFAULT_HUES[colorType]||(DARK_DEFAULT_HUES[colorType]=defaultDefaultHues)});var VALID_HUE_VALUES=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"],themeConfig={disableTheming:!1,generateOnDemand:!1,registeredStyles:[],nonce:null};function ThemingProvider($mdColorPalette,$$mdMetaProvider){ThemingService.$inject=["$rootScope","$mdUtil","$q","$log"],PALETTES={};var themingProvider,THEMES={},alwaysWatchTheme=!1,defaultTheme="default";angular.extend(PALETTES,$mdColorPalette);var enableBrowserColor=function(options){var theme=(options=angular.isObject(options)?options:{}).theme||"default",hue=options.hue||"800",palette=PALETTES[options.palette]||PALETTES[THEMES[theme].colors[options.palette||"primary"].name],color=angular.isObject(palette[hue])?palette[hue].hex:palette[hue];return"#"!==color.substr(0,1)&&(color="#"+color),function(color){var removeChrome=$$mdMetaProvider.setMeta("theme-color",color),removeWindows=$$mdMetaProvider.setMeta("msapplication-navbutton-color",color);return function(){removeChrome(),removeWindows()}}(color)};return themingProvider={definePalette:function(name,map){return map=map||{},PALETTES[name]=checkPaletteValid(name,map),themingProvider},extendPalette:function(name,map){return checkPaletteValid(name,angular.extend({},PALETTES[name]||{},map))},theme:registerTheme,configuration:function(){return angular.extend({},themeConfig,{defaultTheme:defaultTheme,alwaysWatchTheme:alwaysWatchTheme,registeredStyles:[].concat(themeConfig.registeredStyles)})},disableTheming:function(isDisabled){themeConfig.disableTheming=angular.isUndefined(isDisabled)||!!isDisabled},registerStyles:function(styles){themeConfig.registeredStyles.push(styles)},setNonce:function(nonceValue){themeConfig.nonce=nonceValue},generateThemesOnDemand:function(onDemand){themeConfig.generateOnDemand=onDemand},setDefaultTheme:function(theme){defaultTheme=theme},alwaysWatchTheme:function(alwaysWatch){alwaysWatchTheme=alwaysWatch},enableBrowserColor:enableBrowserColor,$get:ThemingService,_LIGHT_DEFAULT_HUES:LIGHT_DEFAULT_HUES,_DARK_DEFAULT_HUES:DARK_DEFAULT_HUES,_PALETTES:PALETTES,_THEMES:THEMES,_parseRules:parseRules,_rgba:rgba};function checkPaletteValid(name,map){var missingColors=VALID_HUE_VALUES.filter(function(field){return!map[field]});if(missingColors.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",missingColors.join(", ")).replace("%2",name));return map}function registerTheme(name,inheritFrom){if(THEMES[name])return THEMES[name];var parentTheme="string"==typeof(inheritFrom=inheritFrom||"default")?THEMES[inheritFrom]:inheritFrom,theme=new function(name){var self=this;function setDark(isDark){if((isDark=0===arguments.length||!!isDark)!==self.isDark){self.isDark=isDark,self.foregroundPalette=self.isDark?LIGHT_FOREGROUND:DARK_FOREGROUND,self.foregroundShadow=self.isDark?DARK_SHADOW:LIGHT_SHADOW;var newDefaultHues=self.isDark?DARK_DEFAULT_HUES:LIGHT_DEFAULT_HUES,oldDefaultHues=self.isDark?LIGHT_DEFAULT_HUES:DARK_DEFAULT_HUES;return angular.forEach(newDefaultHues,function(newDefaults,colorType){var color=self.colors[colorType],oldDefaults=oldDefaultHues[colorType];
1if(color)for(var hueName in color.hues)color.hues[hueName]===oldDefaults[hueName]&&(color.hues[hueName]=newDefaults[hueName])}),self}}self.name=name,self.colors={},self.dark=setDark,setDark(!1),THEME_COLOR_TYPES.forEach(function(colorType){var defaultHues=(self.isDark?DARK_DEFAULT_HUES:LIGHT_DEFAULT_HUES)[colorType];self[colorType+"Palette"]=function(paletteName,hues){var color=self.colors[colorType]={name:paletteName,hues:angular.extend({},defaultHues,hues)};return Object.keys(color.hues).forEach(function(name){if(!defaultHues[name])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",name).replace("%2",self.name).replace("%3",paletteName).replace("%4",Object.keys(defaultHues).join(", ")))}),Object.keys(color.hues).map(function(key){return color.hues[key]}).forEach(function(hueValue){if(-1===VALID_HUE_VALUES.indexOf(hueValue))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",hueValue).replace("%2",self.name).replace("%3",colorType).replace("%4",paletteName).replace("%5",VALID_HUE_VALUES.join(", ")))}),self}})}(name);return parentTheme&&angular.forEach(parentTheme.colors,function(color,colorType){theme.colors[colorType]={name:color.name,hues:angular.extend({},color.hues)}}),THEMES[name]=theme,theme}function ThemingService($rootScope,$mdUtil,$q,$log){var applyTheme=function(scope,el){el===undefined&&(el=scope,scope=undefined),scope===undefined&&(scope=$rootScope),applyTheme.inherit(el,el)};return Object.defineProperty(applyTheme,"THEMES",{get:function(){return angular.extend({},THEMES)}}),Object.defineProperty(applyTheme,"PALETTES",{get:function(){return angular.extend({},PALETTES)}}),Object.defineProperty(applyTheme,"ALWAYS_WATCH",{get:function(){return alwaysWatchTheme}}),applyTheme.inherit=function(el,parent){var ctrl=parent.controller("mdTheme")||el.data("$mdThemeController"),scope=el.scope();if(updateThemeClass(ctrl&&ctrl.$mdTheme||("default"===defaultTheme?"":defaultTheme)),ctrl){var watchTheme=alwaysWatchTheme||ctrl.$shouldWatch||$mdUtil.parseAttributeBoolean(el.attr("md-theme-watch"));if(watchTheme||ctrl.isAsyncTheme){var clearNameWatcher=function(){unwatch&&(unwatch(),unwatch=undefined)},unwatch=ctrl.registerChanges(function(name){updateThemeClass(name),watchTheme||clearNameWatcher()});scope?scope.$on("$destroy",clearNameWatcher):el.on("$destroy",clearNameWatcher)}}function updateThemeClass(theme){if(theme){registered(theme)||$log.warn("Attempted to use unregistered theme '"+theme+"'. Register it with $mdThemingProvider.theme().");var oldTheme=el.data("$mdThemeName");oldTheme&&el.removeClass("md-"+oldTheme+"-theme"),el.addClass("md-"+theme+"-theme"),el.data("$mdThemeName",theme),ctrl&&el.data("$mdThemeController",ctrl)}}},applyTheme.registered=registered,applyTheme.defaultTheme=function(){return defaultTheme},applyTheme.generateTheme=function(name){generateTheme(THEMES[name],name,themeConfig.nonce)},applyTheme.defineTheme=function(name,options){options=options||{};var theme=registerTheme(name);return options.primary&&theme.primaryPalette(options.primary,options.primaryHues),options.accent&&theme.accentPalette(options.accent,options.accentHues),options.warn&&theme.warnPalette(options.warn,options.warnHues),options.background&&theme.backgroundPalette(options.background,options.backgroundHues),options.dark&&theme.dark(),this.generateTheme(name),$q.resolve(name)},applyTheme.setBrowserColor=enableBrowserColor,applyTheme;function registered(themeName){return themeName===undefined||""===themeName||applyTheme.THEMES[themeName]!==undefined}}}function ThemingDirective($mdTheming,$interpolate,$parse,$mdUtil,$q,$log){return{priority:101,link:{pre:function(scope,el,attrs){var registeredCallbacks=[],startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),theme=attrs.mdTheme.trim(),hasInterpolation=theme.substr(0,startSymbol.length)===startSymbol&&theme.lastIndexOf(endSymbol)===theme.length-endSymbol.length,oneTimeBind="::"===attrs.mdTheme.split(startSymbol).join("").split(endSymbol).join("").trim().substr(0,"::".length),getTheme=function(){var interpolation=$interpolate(attrs.mdTheme)(scope);return $parse(interpolation)(scope)||interpolation},ctrl={isAsyncTheme:angular.isFunction(getTheme())||angular.isFunction(getTheme().then),registerChanges:function(cb,context){return context&&(cb=angular.bind(context,cb)),registeredCallbacks.push(cb),function(){var index=registeredCallbacks.indexOf(cb);index>-1&&registeredCallbacks.splice(index,1)}},$setTheme:function(theme){$mdTheming.registered(theme)||$log.warn("attempted to use unregistered theme '"+theme+"'"),ctrl.$mdTheme=theme;for(var i=registeredCallbacks.length;i--;)registeredCallbacks[i](theme)},$shouldWatch:$mdUtil.parseAttributeBoolean(el.attr("md-theme-watch"))||$mdTheming.ALWAYS_WATCH||hasInterpolation&&!oneTimeBind};el.data("$mdThemeController",ctrl);var setParsedTheme=function(theme){if("string"==typeof theme)return ctrl.$setTheme(theme);$q.when(angular.isFunction(theme)?theme():theme).then(function(name){ctrl.$setTheme(name)})};setParsedTheme(getTheme());var unwatch=scope.$watch(getTheme,function(theme){theme&&(setParsedTheme(theme),ctrl.$shouldWatch||unwatch())})}}}}function ThemableDirective($mdTheming){return $mdTheming}function parseRules(theme,colorType,rules){!function(theme,colorType){if(!PALETTES[(theme.colors[colorType]||{}
vendor: 5,020 bytes, line 1
1).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",theme.name).replace("%2",colorType).replace("%3",Object.keys(PALETTES).join(", ")))}(theme,colorType),rules=rules.replace(/THEME_NAME/g,theme.name);var themeNameRegex=new RegExp("\\.md-"+theme.name+"-theme","g"),hueRegex=new RegExp("(['\"])?{{\\s*([a-zA-Z]+)-?(color|default)?-?(contrast)?-?((?:\\d\\.?\\d*)|(?:[a-zA-Z]+))?\\s*}}([\"'])?","g"),defaultBgHue=theme.colors.background.hues.default,defaultBgContrastType=PALETTES[theme.colors.background.name][defaultBgHue].contrastType;rules=rules.replace(/'?"?{{\s*([a-zA-Z]+)-(A?\d+|hue-[0-3]|shadow|default)-?(contrast)?-?((?:\d\.?\d*)|(?:[a-zA-Z]+))?\s*}}'?"?/g,function(match,colorType,hue,contrast,opacity){var regexColorType=colorType;if("foreground"===colorType){if("shadow"===hue)return theme.foregroundShadow;if(theme.foregroundPalette[hue])return rgba(colorToRgbaArray(theme.foregroundPalette[hue]));if(theme.foregroundPalette[1])return rgba(colorToRgbaArray(theme.foregroundPalette[1]));if(colorType="background",contrast="contrast",!opacity&&hue)switch(hue){case"2":opacity="secondary";break;case"3":opacity="disabled";break;case"4":opacity="divider"}hue="default"}0!==hue.indexOf("hue")&&"default"!==hue||(hue=theme.colors[colorType].hues[hue]);var colorDetails=PALETTES[theme.colors[colorType].name][hue]||"";if("background"===colorType&&contrast&&"foreground"!==regexColorType&&colorDetails.contrastType===defaultBgContrastType)switch(opacity){case"secondary":case"icon":if(theme.foregroundPalette[2])return rgba(colorToRgbaArray(theme.foregroundPalette[2]));break;case"disabled":case"hint":if(theme.foregroundPalette[3])return rgba(colorToRgbaArray(theme.foregroundPalette[3]));break;case"divider":if(theme.foregroundPalette[4])return rgba(colorToRgbaArray(theme.foregroundPalette[4]));break;default:if(theme.foregroundPalette[1])return rgba(colorToRgbaArray(theme.foregroundPalette[1]))}return contrast&&opacity&&(opacity=colorDetails.opacity[opacity]||opacity),rgba(colorDetails[contrast?"contrast":"value"],opacity)});var generatedRules=[];return angular.forEach(["default","hue-1","hue-2","hue-3"],function(hueName){var newRule=rules.replace(hueRegex,function(match,_,matchedColorType,hueType,contrast,opacity){var color=theme.colors[matchedColorType],palette=PALETTES[color.name],hueValue=color.hues[hueName];return contrast&&opacity&&(opacity=palette[hueValue].opacity[opacity]||opacity),rgba(palette[hueValue]["color"===hueType?"value":"contrast"],opacity)});"default"!==hueName&&(newRule=newRule.replace(themeNameRegex,".md-"+theme.name+"-theme.md-"+hueName)),"default"===theme.name&&(newRule=newRule.replace(/((?:\s|>|\.|\w|-|:|\(|\)|\[|]|"|'|=)*)\.md-default-theme((?:\s|>|\.|\w|-|:|\(|\)|\[|]|"|'|=)*)/g,function(match,start,end){return match+", "+start+end})),generatedRules.push(newRule)}),generatedRules}var rulesByType={};function generateAllThemes($injector,$mdTheming){var head=document.head,firstChild=head?head.firstElementChild:null,themeCss=!themeConfig.disableTheming&&$injector.has("$MD_THEME_CSS")?$injector.get("$MD_THEME_CSS"):"";if(themeCss+=themeConfig.registeredStyles.join(""),firstChild&&0!==themeCss.length){angular.forEach(PALETTES,function(palette){var defaultContrast=palette.contrastDefaultColor,lightColors=palette.contrastLightColors||[],strongLightColors=palette.contrastStrongLightColors||[],darkColors=palette.contrastDarkColors||[];"string"==typeof lightColors&&(lightColors=lightColors.split(" ")),"string"==typeof strongLightColors&&(strongLightColors=strongLightColors.split(" ")),"string"==typeof darkColors&&(darkColors=darkColors.split(" ")),delete palette.contrastDefaultColor,delete palette.contrastLightColors,delete palette.contrastStrongLightColors,delete palette.contrastDarkColors,angular.forEach(palette,function(hueValue,hueName){if(!angular.isObject(hueValue)){var rgbValue=colorToRgbaArray(hueValue);if(!rgbValue)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",hueValue).replace("%2",palette.name).replace("%3",hueName));var contrastType=function(hueName){return("light"===defaultContrast?-1!==darkColors.indexOf(hueName):-1===lightColors.indexOf(hueName)&&-1===strongLightColors.indexOf(hueName))?"dark":-1!==strongLightColors.indexOf(hueName)?"strongLight":"light"}(hueName);palette[hueName]={hex:palette[hueName],value:rgbValue,contrastType:contrastType,contrast:function(contrastType){switch(contrastType){default:case"strongLight":return STRONG_LIGHT_CONTRAST_COLOR;case"light":return LIGHT_CONTRAST_COLOR;case"dark":return DARK_CONTRAST_COLOR}}(contrastType),opacity:function(contrastType){switch(contrastType){default:case"strongLight":return STRONG_LIGHT_CONTRAST_OPACITY;case"light":return LIGHT_CONTRAST_OPACITY;case"dark":return DARK_CONTRAST_OPACITY}}(contrastType)}}})});var rules=function(themeCss){for(var result=[],currentRule="",openedCurlyBrackets=0,closedCurlyBrackets=0,i=0;i<themeCss.length;
1i++){var character=themeCss.charAt(i);if("'"===character||'"'===character){var textInQuotes=themeCss.substring(i,themeCss.indexOf(character,i+1));currentRule+=textInQuotes,i+=textInQuotes.length}else currentRule+=character,"}"===character?++closedCurlyBrackets===openedCurlyBrackets&&(closedCurlyBrackets=0,openedCurlyBrackets=0,result.push(currentRule),currentRule=""):"{"===character&&openedCurlyBrackets++}return""!==currentRule&&result.push(currentRule),result}(themeCss).map(function(rule){return rule.trim()});THEME_COLOR_TYPES.forEach(function(type){rulesByType[type]=""}),rules.forEach(function(rule){for(var type,i=0;type=THEME_COLOR_TYPES[i];i++)if(rule.indexOf(".md-"+type)>-1)return rulesByType[type]+=rule;for(i=0;type=THEME_COLOR_TYPES[i];i++)if(rule.indexOf(type)>-1)return rulesByType[type]+=rule;return rulesByType[DEFAULT_COLOR_TYPE]+=rule}),themeConfig.generateOnDemand||angular.forEach($mdTheming.THEMES,function(theme){GENERATED[theme.name]||"default"!==$mdTheming.defaultTheme()&&"default"===theme.name||generateTheme(theme,theme.name,themeConfig.nonce)})}}function generateTheme(theme,name,nonce){var head=document.head,firstChild=head?head.firstElementChild:null;GENERATED[name]||(THEME_COLOR_TYPES.forEach(function(colorType){for(var styleStr
vendor: 25,860 bytes, line 1
1ings=parseRules(theme,colorType,rulesByType[colorType]);styleStrings.length;){var styleContent=styleStrings.shift();if(styleContent){var style=document.createElement("style");style.setAttribute("md-theme-style",""),nonce&&style.setAttribute("nonce",nonce),style.appendChild(document.createTextNode(styleContent)),head.insertBefore(style,firstChild)}}}),GENERATED[theme.name]=!0)}function colorToRgbaArray(clr){if(angular.isArray(clr)&&3===clr.length)return clr;if(/^rgb/.test(clr))return clr.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(value,i){return 3===i?parseFloat(value):parseInt(value,10)});if("#"===clr.charAt(0)&&(clr=clr.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(clr)){var dig=clr.length/3,red=clr.substr(0,dig),grn=clr.substr(dig,dig),blu=clr.substr(2*dig);return 1===dig&&(red+=red,grn+=grn,blu+=blu),[parseInt(red,16),parseInt(grn,16),parseInt(blu,16)]}}function rgba(rgbArray,opacity){return rgbArray?(4===rgbArray.length&&(rgbArray=angular.copy(rgbArray),opacity?rgbArray.pop():opacity=rgbArray.pop()),opacity&&("number"==typeof opacity||"string"==typeof opacity&&opacity.length)?"rgba("+rgbArray.join(",")+","+opacity+")":"rgb("+rgbArray.join(",")+")"):"rgb('0,0,0')"}}(window.angular),angular.module("material.components.autocomplete",["material.core","material.components.icon","material.components.virtualRepeat"]),function(){MdAutocompleteCtrl.$inject=["$scope","$element","$mdUtil","$mdConstant","$mdTheming","$window","$animate","$rootElement","$attrs","$q","$log","$mdLiveAnnouncer"],angular.module("material.components.autocomplete").controller("MdAutocompleteCtrl",MdAutocompleteCtrl);var ITEM_HEIGHT=48,MAX_ITEMS=5,MENU_PADDING=8,INPUT_PADDING=2,MODE_STANDARD="standard",MODE_VIRTUAL="virtual";function MdAutocompleteCtrl($scope,$element,$mdUtil,$mdConstant,$mdTheming,$window,$animate,$rootElement,$attrs,$q,$log,$mdLiveAnnouncer){var key,handler,defaultValue,ctrl=this,itemParts=$scope.itemsExpr.split(/ in /i),itemExpr=itemParts[1],elements=null,cache={},noBlur=!1,selectedItemWatchers=[],hasFocus=!1,fetchesInProgress=0,enableWrapScroll=null,inputModelCtrl=null,debouncedOnResize=$mdUtil.debounce(function(){ctrl.hidden||positionDropdown()}),mode=MODE_VIRTUAL;ctrl.documentElement=angular.element(document.documentElement),key="hidden",handler=function(hidden,oldHidden){var scrollContainerElement;elements&&(scrollContainerElement=angular.element(elements.scrollContainer));!hidden&&oldHidden?(positionDropdown(),reportMessages(!0,ReportType.Count|ReportType.Selected),elements&&($mdUtil.disableScrollAround(elements.scrollContainer),element=elements.wrap,(elementToDisable=angular.element(element)).on("wheel touchmove",preventDefault),enableWrapScroll=function(){elementToDisable.off("wheel touchmove",preventDefault)},$mdUtil.isIos&&(ctrl.documentElement.on("touchend",handleTouchOutsidePanel),scrollContainerElement&&scrollContainerElement.on("touchstart touchmove touchend",stopPropagation)),ctrl.index=getDefaultIndex(),$mdUtil.nextTick(function(){updateActiveOption(),updateScroll()}))):hidden&&!oldHidden&&($mdUtil.isIos&&(ctrl.documentElement.off("touchend",handleTouchOutsidePanel),scrollContainerElement&&scrollContainerElement.off("touchstart touchmove touchend",stopPropagation)),$mdUtil.enableScrolling(),enableWrapScroll&&(enableWrapScroll(),enableWrapScroll=null));var element,elementToDisable},defaultValue=!0,Object.defineProperty(ctrl,key,{get:function(){return defaultValue},set:function(newValue){var oldValue=defaultValue;defaultValue=newValue,handler(newValue,oldValue)}}),ctrl.scope=$scope,ctrl.parent=$scope.$parent,ctrl.itemName=itemParts[0],ctrl.matches=[],ctrl.loading=!1,ctrl.hidden=!0,ctrl.index=-1,ctrl.activeOption=null,ctrl.id=$mdUtil.nextUid(),ctrl.isDisabled=null,ctrl.isRequired=null,ctrl.isReadonly=null,ctrl.hasNotFound=!1,ctrl.selectedMessage=$scope.selectedMessage||"selected",ctrl.noMatchMessage=$scope.noMatchMessage||"There are no matches available.",ctrl.singleMatchMessage=$scope.singleMatchMessage||"There is 1 match available.",ctrl.multipleMatchStartMessage=$scope.multipleMatchStartMessage||"There are ",ctrl.multipleMatchEndMessage=$scope.multipleMatchEndMessage||" matches available.",ctrl.defaultEscapeOptions="clear",ctrl.keydown=function(event){switch(event.keyCode){case $mdConstant.KEY_CODE.DOWN_ARROW:if(ctrl.loading||hasSelection())return;event.stopPropagation(),event.preventDefault(),ctrl.index=ctrl.index+1>ctrl.matches.length-1?0:Math.min(ctrl.index+1,ctrl.matches.length-1),$mdUtil.nextTick(updateActiveOption),updateScroll();break;case $mdConstant.KEY_CODE.UP_ARROW:if(ctrl.loading||hasSelection())return;event.stopPropagation(),event.preventDefault(),ctrl.index=ctrl.index-1<0?ctrl.matches.length-1:Math.max(0,ctrl.index-1),$mdUtil.nextTick(updateActiveOption),updateScroll();break;case $mdConstant.KEY_CODE.TAB:if(onListLeave(),ctrl.hidden||ctrl.loading||ctrl.index<0||ctrl.matches.length<1)return;select(ctrl.index);break;case $mdConstant.KEY_CODE.ENTER:if(ctrl.hidden||ctrl.loading||ctrl.index<0||ctrl.matches.length<1)return;if(hasSelection())return;event.stopImmediatePropagation(),event.preventDefault(),select(ctrl.index);break;case $mdConstant.KEY_CODE.ESCAPE:if(event.preventDefault(),!(hasEscapeOption("blur")||!ctrl.hidden||ctrl.loading||hasEscapeOption("clear")&&$scope.searchText))return;event.stopPropagation(),clearSelectedItem(),$scope.searchText&&hasEscapeOption("clear")&&clearSearchText(),ctrl.hidden=!0,hasEscapeOption("blur")&&doBlur(!0)}},ctrl.blur=function($event){hasFocus=!1,noBlur?angular.isObject($event)&&$event.stopImmediatePropagation():(ctrl.hidden=shouldHide(),evalAttr("ngBlur",{$event:$event}))},ctrl.focus=function($event){hasFocus=!0,isSearchable()&&isMinLengthMet()&&handleQuery();ctrl.hidden=shouldHide(),evalAttr("ngFocus",{$event:$event})},ctrl.clear=function($event){$event&&$event.stopPropagation();clearSelectedItem(),clearSearchText()},ctrl.select=select,ctrl.listEnter=function(){noBlur=!0},ctrl.listLeave=onListLeave,ctrl.focusInput=focusInputElement,ctrl.getCurrentDisplayValue=getCurrentDisplayValue,ctrl.registerSelectedItemWatcher=function(cb){-1===selectedItemWatchers.indexOf(cb)&&selectedItemWatchers.push(cb)},ctrl.unregisterSelectedItemWatcher=function(cb){var i=selectedItemWatchers.indexOf(cb);-1!==i&&selectedItemWatchers.splice(i,1)},ctrl.notFoundVisible=notFoundVisible,ctrl.loadingIsVisible=function(){return ctrl.loading&&!hasSelection()},ctrl.positionDropdown=positionDropdown;var wait,ReportType={Count:1,Selected:2};return $mdUtil.initOptionalProperties($scope,$attrs,{searchText:"",selectedItem:null,clearButton:!1,disableVirtualRepeat:!1}),$mdTheming($element),wait=parseInt($scope.delay,10)||0,$attrs.$observe("disabled",function(value){ctrl.isDisabled=$mdUtil.parseAttributeBoolean(value,!1)}),$attrs.$observe("required",function(value){ctrl.isRequired=$mdUtil.parseAttributeBoolean(value,!1)}),$attrs.$observe("readonly",function(value){ctrl.isReadonly=$mdUtil.parseAttributeBoolean(value,!1)}),$scope.$watch("searchText",wait?$mdUtil.debounce(handleSearchText,wait):handleSearchText),$scope.$watch("selectedItem",selectedItemChange),angular.element($window).on("resize",debouncedOnResize),$scope.$on("$destroy",cleanup),void $mdUtil.nextTick(function(){var snapWrap;snapWrap=function(){var element,value;for(element=$element;element.length&&(value=element.attr("md-autocomplete-snap"),!angular.isDefined(value));element=element.parent());if(element.length)return{snap:element[0],wrap:"width"===value.toLowerCase()?element[0]:$element.find("md-autocomplete-wrap")[0]};var wrap=$element.find("md-autocomplete-wrap")[0];return{snap:wrap,wrap:wrap}}(),(elements={main:$element[0],scrollContainer:$element[0].querySelector(".md-virtual-repeat-container, .md-standard-list-container"),scroller:$element[0].querySelector(".md-virtual-repeat-scroller, .md-standard-list-scroller"),ul:$element.find("ul")[0],input:$element.find("input")[0],wrap:snapWrap.wrap,snap:snapWrap.snap,root:document.body}).li=elements.ul.getElementsByTagName("li"),elements.$=function(elements){var obj={};for(var key in elements)elements.hasOwnProperty(key)&&(obj[key]=angular.element(elements[key]));return obj}(elements),mode=elements.scrollContainer.classList.contains("md-standard-list-container")?MODE_STANDARD:MODE_VIRTUAL,inputModelCtrl=elements.$.input.controller("ngModel"),elements.$.root.length&&($mdTheming(elements.$.scrollContainer),elements.$.scrollContainer.detach(),elements.$.root.append(elements.$.scrollContainer),$animate.pin&&$animate.pin(elements.$.scrollContainer,$rootElement)),$element.on("touchstart",focusInputElement),$scope.autofocus&&$element.on("focus",focusInputElement),$scope.inputAriaDescribedBy&&elements.input.setAttribute("aria-describedby",$scope.inputAriaDescribedBy),$scope.floatingLabel||($scope.inputAriaLabel?elements.input.setAttribute("aria-label",$scope.inputAriaLabel):$scope.inputAriaLabelledBy?elements.input.setAttribute("aria-labelledby",$scope.inputAriaLabelledBy):$scope.placeholder&&elements.input.setAttribute("aria-label",$scope.placeholder))});function updateModelValidators(){$scope.requireMatch&&inputModelCtrl&&inputModelCtrl.$setValidity("md-require-match",!!$scope.selectedItem||!$scope.searchText)}function positionDropdown(){if(!elements)return $mdUtil.nextTick(positionDropdown,!1,$scope);var styles,dropdownHeight=($scope.dropdownItems||MAX_ITEMS)*ITEM_HEIGHT,hrect=elements.wrap.getBoundingClientRect(),vrect=elements.snap.getBoundingClientRect(),root=elements.root.getBoundingClientRect(),top=vrect.bottom-root.top,bot=root.bottom-vrect.top,left=hrect.left-root.left,width=hrect.width,offset=function(){var offset=0,inputContainer=$element.find("md-input-container");if(inputContainer.length){var input=inputContainer.find("input");offset=inputContainer.prop("offsetHeight"),offset-=input.prop("offsetTop"),offset-=input.prop("offsetHeight"),offset+=inputContainer.prop("offsetTop")}return offset}(),position=$scope.dropdownPosition,bottomSpace=root.bottom-vrect.bottom-MENU_PADDING+$mdUtil.getViewportTop(),topSpace=vrect.top-MENU_PADDING;position||(position=bottomSpace>dropdownHeight?"bottom":topSpace>dropdownHeight?"top":topSpace>bottomSpace?"top":"bottom"),$attrs.mdFloatingLabel&&(left+=INPUT_PADDING,width-=2*INPUT_PADDING),styles={left:left+"px",minWidth:width+"px",maxWidth:Math.max(hrect.right-root.left,root.right-hrect.left)-MENU_PADDING+"px"},"top"===position?(styles.top="auto",styles.bottom=bot+"px",styles.maxHeight=Math.min(dropdownHeight,topSpace)+"px"):(bottomSpace=root.bottom-hrect.bottom-MENU_PADDING+$mdUtil.getViewportTop(),styles.top=top-offset+"px",styles.bottom="auto",styles.maxHeight=Math.min(dropdownHeight,bottomSpace)+"px"),elements.$.scrollContainer.css(styles),$mdUtil.nextTick(function(){var dropdown=elements.scrollContainer.getBoundingClientRect(),styles={};dropdown.right>root.right&&(styles.left=hrect.right-dropdown.width+"px");elements.$.scrollContainer.css(styles)},!1,$scope)}function focusInputElement(){elements.input.focus()}function updateActiveOption(){var selectedOption=elements.scroller.querySelector(".selected");ctrl.activeOption=selectedOption?selectedOption.id:null}function cleanup(){if(ctrl.hidden||$mdUtil.enableScrolling(),angular.element($window).off("resize",debouncedOnResize),elements){angular.forEach(["ul","scroller","scrollContainer","input"],function(key){elements.$[key].remove()})}}function preventDefault($event){$event.preventDefault()}function stopPropagation($event){$event.stopPropagation()}function handleTouchOutsidePanel($event){ctrl.hidden=!0,doBlur(!0)}function onListLeave(){hasFocus||ctrl.hidden||elements.input.focus(),noBlur=!1,ctrl.hidden=shouldHide()}function selectedItemChange(selectedItem,previousSelectedItem){updateModelValidators(),selectedItem?getDisplayValue(selectedItem).then(function(val){$scope.searchText=val,function(selectedItem,previousSelectedItem){selectedItemWatchers.forEach(function(watcher){watcher(selectedItem,previousSelectedItem)})}(selectedItem,previousSelectedItem)}):previousSelectedItem&&$scope.searchText&&getDisplayValue(previousSelectedItem).then(function(displayValue){angular.isString($scope.searchText)&&displayValue.toString().toLowerCase()===$scope.searchText.toLowerCase()&&($scope.searchText="")}),selectedItem!==previousSelectedItem&&angular.isFunction($scope.itemChange)&&$scope.itemChange(getItemAsNameVal($scope.selectedItem))}function handleSearchText(searchText,previousSearchText){ctrl.index=getDefaultIndex(),searchText!==previousSearchText&&(updateModelValidators(),getDisplayValue($scope.selectedItem).then(function(val){searchText!==val&&($scope.selectedItem=null,searchText!==previousSearchText&&angular.isFunction($scope.textChange)&&$scope.textChange(),isMinLengthMet()?handleQuery():(ctrl.matches=[],setLoading(!1),reportMessages(!0,ReportType.Count)))}))}function doBlur(forceBlur){forceBlur&&(noBlur=!1,hasFocus=!1),elements.input.blur()}function getMinLength(){return angular.isNumber($scope.minLength)?$scope.minLength:1}function getDisplayValue(item){return $q.when(function(item){return item&&$scope.itemText?$scope.itemText(getItemAsNameVal(item)):null}(item)||item).then(function(itemText){return itemText&&!angular.isString(itemText)&&$log.warn("md-autocomplete: Could not resolve display value to a string. Please check the `md-item-text` attribute."),itemText})}function getItemAsNameVal(item){if(!item)return undefined;var locals={};return ctrl.itemName&&(locals[ctrl.itemName]=item),locals}function getDefaultIndex(){return $scope.autoselect?0:-1}function setLoading(value){ctrl.loading!==value&&(ctrl.loading=value),ctrl.hidden=shouldHide()}function shouldHide(){return!function(){if(ctrl.isReadonly)return!1;if(!isSearchable())return!1;return isMinLengthMet()&&hasMatches()||notFoundVisible()}()}function isSearchable(){return!(ctrl.loading&&!hasMatches())&&(!hasSelection()&&!!hasFocus)}function hasEscapeOption(option){return angular.isString($scope.escapeOptions)?-1!==$scope.escapeOptions.toLowerCase().indexOf(option):-1!==ctrl.defaultEscapeOptions.indexOf(option)}function hasMatches(){return!!ctrl.matches.length}function hasSelection(){return!!ctrl.scope.selectedItem}function getCurrentDisplayValue(){return getDisplayValue(ctrl.matches[ctrl.index])}function isMinLengthMet(){return($scope.searchText||"").length>=getMinLength()}function select(index){$mdUtil.nextTick(function(){getDisplayValue(ctrl.matches[index]).then(function(val){var ngModel=elements.$.input.controller("ngModel");$mdLiveAnnouncer.announce(val+" "+ctrl.selectedMessage,"assertive"),ngModel.$setViewValue(val),ngModel.$render()}).finally(function(){$scope.selectedItem=ctrl.matches[index],setLoading(!1)})},!1)}function clearSelectedItem(){ctrl.index=-1,$mdUtil.nextTick(updateActiveOption),ctrl.matches=[]}function clearSearchText(){setLoading(!0),$scope.searchText="";var eventObj=document.createEvent("CustomEvent");eventObj.initCustomEvent("change",!0,!0,{value:""}),elements.input.dispatchEvent(eventObj),elements.input.blur(),$scope.searchText="",elements.input.focus()}function reportMessages(isPolite,types){var politeness=isPolite?"polite":"assertive",messages=[];types&ReportType.Selected&&-1!==ctrl.index&&messages.push(getCurrentDisplayValue()),types&ReportType.Count&&messages.push($q.resolve(function(){switch(ctrl.matches.length){case 0:return ctrl.noMatchMessage;case 1:return ctrl.singleMatchMessage;default:return ctrl.multipleMatchStartMessage+ctrl.matches.length+ctrl.multipleMatchEndMessage}}())),$q.all(messages).then(function(data){$mdLiveAnnouncer.announce(data.join(" "),politeness)})}function updateScroll(){var selected,containerHeight,top,bottom,scrollTop;elements.li[0]&&(mode===MODE_STANDARD?(selected=elements.li[Math.max(0,ctrl.index)],containerHeight=elements.scrollContainer.offsetHeight,top=selected&&selected.offsetTop||0,bottom=top+selected.clientHeight,scrollTop=elements.scrollContainer.scrollTop,top<scrollTop?scrollTo(top):bottom>scrollTop+containerHeight&&scrollTo(bottom-containerHeight)):function(){var optionHeight=elements.li[0].offsetHeight,top=optionHeight*Math.max(0,ctrl.index),bottom=top+optionHeight,containerHeight=elements.scroller.clientHeight,scrollTop=elements.scroller.scrollTop;top<scrollTop?scrollTo(top):bottom>scrollTop+containerHeight&&scrollTo(bottom-containerHeight)}())}function scrollTo(offset){mode===MODE_STANDARD?elements.scrollContainer.scrollTop=offset:elements.$.scrollContainer.controller("mdVirtualRepeatContainer").scrollTo(offset)}function notFoundVisible(){var textLength=(ctrl.scope.searchText||"").length;return ctrl.hasNotFound&&!hasMatches()&&(!ctrl.loading||0!==fetchesInProgress)&&textLength>=getMinLength()&&(hasFocus||noBlur)&&!hasSelection()}function handleQuery(){var searchText=$scope.searchText||"",term=searchText.toLowerCase();!$scope.noCache&&cache[term]?handleResults(cache[term]):function(searchText){var items=$scope.$parent.$eval(itemExpr),term=searchText.toLowerCase(),isList=angular.isArray(items),isPromise=!!items.then;function onResultsRetrieved(matches){cache[term]=matches,(searchText||"")===($scope.searchText||"")&&handleResults(matches)}isList?onResultsRetrieved(items):isPromise&&function(items){items&&(items=$q.when(items),fetchesInProgress++,setLoading(!0),$mdUtil.nextTick(function(){items.then(onResultsRetrieved).finally(function(){0==--fetchesInProgress&&setLoading(!1)})},!0,$scope))}(items)}(searchText),ctrl.hidden=shouldHide()}function handleResults(results){var searchText,matches,item;ctrl.matches=results,ctrl.hidden=shouldHide(),ctrl.loading&&setLoading(!1),$scope.selectOnMatch&&(searchText=$scope.searchText,matches=ctrl.matches,item=matches[0],1===matches.length&&getDisplayValue(item).then(function(displayValue){var isMatching=searchText===displayValue;$scope.matchInsensitive&&!isMatching&&(isMatching=searchText.toLowerCase()===displayValue.toLowerCase()),isMatching&&select(0)})),positionDropdown(),reportMessages(!0,ReportType.Count)}function evalAttr(attr,locals){$attrs[attr]&&$scope.$parent.$eval($attrs[attr],locals||{})}}}(),function(){function MdAutocomplete($$mdSvgRegistry){var REPEAT_VIRTUAL="virtual",REPEAT_MODES=["standard",REPEAT_VIRTUAL];function getRepeatMode(modeStr){return modeStr?(modeStr=modeStr.toLowerCase(),REPEAT_MODES.indexOf(modeStr)>-1?modeStr:REPEAT_VIRTUAL):REPEAT_VIRTUAL}return{controller:"MdAutocompleteCtrl",controllerAs:"$mdAutocompleteCtrl",scope:{inputName:"@mdInputName",inputMinlength:"@mdInputMinlength",inputMaxlength:"@mdInputMaxlength",searchText:"=?mdSearchText",selectedItem:"=?mdSelectedItem",itemsExpr:"@mdItems",itemText:"&mdItemText",placeholder:"@placeholder",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?inputAriaLabel",noCache:"=?mdNoCache",requireMatch:"=?mdRequireMatch",selectOnMatch:"=?mdSelectOnMatch",matchInsensitive:"=?mdMatchCaseInsensitive",itemChange:"&?mdSelectedItemChange",textChange:"&?mdSearchTextChange",minLength:"=?mdMinLength",delay:"=?mdDelay",autofocus:"=?mdAutofocus",floatingLabel:"@?mdFloatingLabel",autoselect:"=?mdAutoselect",menuClass:"@?mdMenuClass",menuContainerClass:"@?mdMenuContainerClass",inputClass:"@?mdInputClass",inputId:"@?mdInputId",escapeOptions:"@?mdEscapeOptions",dropdownItems:"=?mdDropdownItems",dropdownPosition:"@?mdDropdownPosition",clearButton:"=?mdClearButton",selectedMessage:"@?mdSelectedMessage",noMatchMessage:"@?mdNoMatchMessage",singleMatchMessage:"@?mdSingleMatchMessage",multipleMatchStartMessage:"@?mdMultipleMatchStartMessage",multipleMatchEndMessage:"@?mdMultipleMatchEndMessage",mdMode:"=?mdMode"},compile:function(tElement,tAttrs){var input=tElement.find("input");return["md-select-on-focus","md-no-asterisk","ng-trim","ng-pattern"].forEach(function(attribute){var attrValue=tAttrs[tAttrs.$normalize(attribute)];null!==attrValue&&input.attr(attribute,attrValue)}),function(scope,element,attrs,ctrl){ctrl.hasNotFound=!!element.attr("md-has-not-found"),angular.isDefined(attrs.mdClearButton)||scope.floatingLabel||(scope.clearButton=!0),scope.mdMode=getRepeatMode(attrs.mdMode),element.on("click touchstart touchend",function(event){event.stopPropagation()})}},template:function(element,attr){var templateTag,template,noItemsTemplate=(templateTag=element.find("md-not-found").detach(),(template=templateTag.length?templateTag.html():"")?'<li ng-if="$mdAutocompleteCtrl.notFoundVisible()" class="md-autocomplete-suggestion"                         md-autocomplete-parent-scope>'+template+"</li>":""),itemTemplate=function(){var templateTag=element.find("md-item-template").detach(),html=templateTag.length?templateTag.html():element.html();templateTag.length||element.empty();return"<md-autocomplete-parent-scope md-autocomplete-replace>"+html+"</md-autocomplete-parent-scope>"}(),leftover=element.html(),tabindex=attr.tabindex;return noItemsTemplate&&element.attr("md-has-not-found",!0),element.attr("tabindex","-1"),"        <md-autocomplete-wrap            ng-class=\"{ 'md-whiteframe-z1': !floatingLabel,                         'md-menu-showing': !$mdAutocompleteCtrl.hidden,                         'md-show-clear-button': !!clearButton }\">          "+(attr.mdFloatingLabel?'            <md-input-container ng-if="floatingLabel">              <label>{{floatingLabel}}</label>              <input type="text"                '+(null!=tabindex?'tabindex="'+tabindex+'"':"")+'                id="{{inputId || \'fl-input-\' + $mdAutocompleteCtrl.id}}"                name="{{inputName || \'fl-input-\' + $mdAutocompleteCtrl.id }}"                ng-class="::inputClass"                autocomplete="off"                ng-required="$mdAutocompleteCtrl.isRequired"                ng-readonly="$mdAutocompleteCtrl.isReadonly"                ng-minlength="inputMinlength"                ng-maxlength="inputMaxlength"                ng-disabled="$mdAutocompleteCtrl.isDisabled"                ng-model="$mdAutocompleteCtrl.scope.searchText"                ng-model-options="{ allowInvalid: true }"                ng-mousedown="$mdAutocompleteCtrl.focusInput()"                ng-keydown="$mdAutocompleteCtrl.keydown($event)"                ng-blur="$mdAutocompleteCtrl.blur($event)"                ng-focus="$mdAutocompleteCtrl.focus($event)"                aria-label="{{floatingLabel}}"                ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}"                ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}"                aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}"                aria-expanded="{{!$mdAutocompleteCtrl.hidden}}"                ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}"                ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}">              <div md-autocomplete-parent-scope md-autocomplete-replace>'+leftover+"</div>            </md-input-container>":'            <input type="text"              '+(null!=tabindex?'tabindex="'+tabindex+'"':"")+'              id="{{inputId || \'input-\' + $mdAutocompleteCtrl.id}}"              name="{{inputName || \'input-\' + $mdAutocompleteCtrl.id }}"              ng-class="::inputClass"              ng-if="!floatingLabel"              autocomplete="off"              ng-required="$mdAutocompleteCtrl.isRequired"              ng-disabled="$mdAutocompleteCtrl.isDisabled"              ng-readonly="$mdAutocompleteCtrl.isReadonly"              ng-minlength="inputMinlength"              ng-maxlength="inputMaxlength"              ng-model="$mdAutocompleteCtrl.scope.searchText"              ng-mousedown="$mdAutocompleteCtrl.focusInput()"              ng-keydown="$mdAutocompleteCtrl.keydown($event)"              ng-blur="$mdAutocompleteCtrl.blur($event)"              ng-focus="$mdAutocompleteCtrl.focus($event)"              placeholder="{{placeholder}}"              aria-label="{{placeholder}}"              ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}"              ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}"              aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}"              aria-expanded="{{!$mdAutocompleteCtrl.hidden}}"              ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}"              ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}">')+'          <button type="button" aria-label="Clear Input" tabindex="0" ng-if="clearButton && $mdAutocompleteCtrl.scope.searchText" ng-click="$mdAutocompleteCtrl.clear($event)"><md-icon md-svg-src="'+$$mdSvgRegistry.mdClose+'"></md-icon></button>          <md-progress-linear              class="'+(attr.mdFloatingLabel?"md-inline":"")+'"              ng-if="$mdAutocompleteCtrl.loadingIsVisible()"              md-mode="indeterminate"></md-progress-linear>          '+function(menuContainerClass,repeatMode){if(menuContainerClass=menuContainerClass?" "+menuContainerClass:"",isVirtualRepeatDisabled(repeatMode))return'            <div                 ng-hide="$mdAutocompleteCtrl.hidden"                class="md-standard-list-container md-autocomplete-suggestions-container md-whiteframe-z1'+menuContainerClass+'"                ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }"                ng-mouseenter="$mdAutocompleteCtrl.listEnter()"                ng-mouseleave="$mdAutocompleteCtrl.listLeave()"                role="presentation">              <div class="md-standard-list-scroller" role="presentation">';return'          <md-virtual-repeat-container              md-auto-shrink              md-auto-shrink-m
1in="1"              ng-hide="$mdAutocompleteCtrl.hidden"              class="md-virtual-repeat-container md-autocomplete-suggestions-container md-whiteframe-z1'+menuContainerClass+'"              ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }"              ng-mouseenter="$mdAutocompleteCtrl.listEnter()"              ng-mouseleave="$mdAutocompleteCtrl.listLeave()"              role="presentation">'}(attr.mdMenuContainerClass,attr.mdMode)+'            <ul class="md-autocomplete-suggestions"                ng-class="::menuClass"                id="ul-{{$mdAutocompleteCtrl.id}}"                ng-mouseup="$mdAutocompleteCtrl.focusInput()"                role="listbox">              <li class="md-autocomplete-suggestion" '+(isVirtualRepeatDisabled(attr.mdMode)?"ng-repeat":"md-virtual-repeat")+' ="item in $mdAutocompleteCtrl.matches"                  ng-class="{ selected: $index === $mdAutocompleteCtrl.index }"                  ng-attr-id="{{\'md-option-\' + $mdAutocompleteCtrl.id + \'-\' + $index}}"                  ng-click="$mdAutocompleteCtrl.select($index)"                  role="option"                  aria-setsize="{{$mdAutocompleteCtrl.matches.length}}"                  aria-posinset="{{$index+1}}"                  aria-selected="{{$index === $mdAutocompleteCtrl.index ? true : false}}"                   md-extra-name="$mdAutocompleteCtrl.itemName">                  '+itemTemplate+"                  </li>"+noItemsTemplate+"            </ul>          "+function(repeatMode){return isVirtualRepeatDisabled(repeatMode)?"   </div>              </div>            </div>":"</md-virtual-repeat-container>"}(attr.mdMode)+"        </md-autocomplete-wrap>";function isVirtualRepeatDisabled(repeatMode){return getRepeatMode(repeatMode)!==REPEAT_VIRTUAL}}}}MdAutocomplete.$inject=["$$mdSvgRegistry"],angular.module("material.components.autocomplete").directive("mdAutocomplete",MdAutocomplete)}(),function(){function MdAutocompleteItemScopeDirective($compile,$mdUtil){return{restrict:"AE",compile:function(tElement,tAttr,transclude){return function(scope,element,attr){var scopeDigesting,newScopeDigesting,ctrl=scope.$mdAutocompleteCtrl,newScope=ctrl.parent.$new(),itemName=ctrl.itemName;function watchVariable(variable,alias){newScope[alias]=scope[variable],scope.$watch(variable,function(value){$mdUtil.nextTick(function(){newScope[alias]=value})})}watchVariable("$index","$index"),watchVariable("item",itemName),scopeDigesting=!1,newScopeDigesting=!1,scope.$watch(function(){newScopeDigesting||scopeDigesting||(scopeDigesting=!0,scope.$$postDigest(function(){newScopeDigesting||newScope.$digest(),scopeDigesting=newScopeDigesting=!1}))}),newScope.$watch(function(){newScopeDigesting=!0}),transclude(newScope,function(clone){element.after(clone)})}},terminal:!0,transclude:"element"}}MdAutocompleteItemScopeDirective.$inject=["$compile","$mdUtil"],angular.module("material.components.autocomplete").directive("mdAutocompleteParentScope",MdAutocompleteItemScopeDirective)}(),function(){function MdHighlightCtrl($scope,$element,$attrs,$mdUtil){this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.$mdUtil=$mdUtil,this.regex=null}MdHighlightCtrl.$inject=["$scope","$element","$attrs","$mdUtil"],angular.module("material.components.autocomplete").controller("MdHighlightCtrl",MdHighlightCtrl),MdHighlightCtrl.prototype.init=function(unsafeTermFn,unsafeContentFn){this.flags=this.$attrs.mdHighlightFlags||"",this.unregisterFn=this.$scope.$watch(function($scope){return{term:unsafeTermFn($scope),contentText:unsafeContentFn($scope)}}.bind(this),this.onRender.bind(this),!0),this.$element.on("$destroy",this.unregisterFn)},MdHighlightCtrl.prototype.onRender=function(state,prevState){var contentText=state.contentText;null!==this.regex&&state.term===prevState.term||(this.regex=this.createRegex(state.term,this.flags)),state.term?this.applyRegex(contentText):this.$element.text(contentText)},MdHighlightCtrl.prototype.applyRegex=function(text){var tokens=this.resolveTokens(text);this.$element.empty(),tokens.forEach(function(token){if(token.isMatch){var tokenEl=angular.element('<span class="highlight">').text(token.text);this.$element.append(tokenEl)}else this.$element.append(document.createTextNode(token))}.bind(this))},MdHighlightCtrl.prototype.resolveTokens=function(string){var tokens=[],lastIndex=0;return string.replace(this.regex,function(match,index){appendToken(lastIndex,index),tokens.push({text:match,isMatch:!0}),lastIndex=index+match.length}),appendToken(lastIndex),tokens;function appendToken(from,to){var targetText=string.slice(from,to);targetText&&tokens.push(targetText)}},MdHighlightCtrl.prototype.createRegex=function(term,flags){var startFlag="",endFlag="",regexTerm=this.$mdUtil.sanitize(term);return flags.indexOf("^")>=0&&(startFlag="^"),flags.indexOf("$")>=0&&(endFlag="$"),new RegExp(startFlag+regexTerm+endFlag,flags.replace(/[$^]/g,""))}}(),function(){function MdHighlight($interpolate,$parse){return{terminal:!0,controller:"MdHighlightCtrl",compile:function(tElement,tAttr){var termExpr=$parse(tAttr.mdHighlightText),unsafeContentExpr=$interpolate(tElement.html());return function(scope,element,attr,ctrl){ctrl.init(termExpr,unsafeContentExpr)}}}}MdHighlight.$inject=["$interpolate","$parse"],angular.module("material.components.autocomplete").directive("mdHighlightText",MdHighlight)}(),angular.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$mdUtil","$animate","$rootElement","$window","$log","$$rAF","$document",function($mdTheming,$mdUtil,$animate,$rootElement,$window,$log,$$rAF,$document){var ERROR_CSS_POSITION="<md-backdrop> may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:function(scope,element,attrs){var bodyStyles;
vendor: 41,519 bytes, line 1
1function resize(){var viewportHeight=parseInt(bodyStyles.height,10)+Math.abs(parseInt(bodyStyles.top,10));element.css("height",viewportHeight+"px")}$animate.pin&&$animate.pin(element,$rootElement),$$rAF(function(){if("fixed"===(bodyStyles=$window.getComputedStyle($document[0].body)).position){var resizeHandler=$mdUtil.debounce(function(){bodyStyles=$window.getComputedStyle($document[0].body),resize()},60,null,!1);resize(),angular.element($window).on("resize",resizeHandler),scope.$on("$destroy",function(){angular.element($window).off("resize",resizeHandler)})}var parent=element.parent();if(parent.length){"BODY"===parent[0].nodeName&&element.css("position","fixed");var styles=$window.getComputedStyle(parent[0]);"static"===styles.position&&$log.warn(ERROR_CSS_POSITION),$mdTheming.inherit(element,parent)}})}}}]),function(){function MdBottomSheetDirective($mdBottomSheet){return{restrict:"E",link:function(scope,element){element.addClass("_md"),scope.$on("$destroy",function(){$mdBottomSheet.destroy()})}}}function MdBottomSheetProvider($$interimElementProvider){bottomSheetDefaults.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture","$log"];var CLOSING_VELOCITY=.5,PADDING=80;return $$interimElementProvider("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","clickOutsideToClose"],options:bottomSheetDefaults});function bottomSheetDefaults($animate,$mdConstant,$mdUtil,$mdTheming,$mdBottomSheet,$rootElement,$mdGesture,$log){var backdrop;return{themable:!0,onShow:function(scope,element,options){if((element=$mdUtil.extractElementByName(element,"md-bottom-sheet")).attr("tabindex","-1"),element.hasClass("ng-cloak")){$log.warn("$mdBottomSheet: using `<md-bottom-sheet ng-cloak>` will affect the bottom-sheet opening animations.",element[0])}options.isLockedOpen?(options.clickOutsideToClose=!1,options.escapeToClose=!1):options.cleanupGestures=function(element,parent){var deregister=$mdGesture.register(parent,"drag",{horizontal:!1});return parent.on("$md.dragstart",onDragStart).on("$md.drag",onDrag).on("$md.dragend",onDragEnd),function(){deregister(),parent.off("$md.dragstart",onDragStart),parent.off("$md.drag",onDrag),parent.off("$md.dragend",onDragEnd)};function onDragStart(){element.css($mdConstant.CSS.TRANSITION_DURATION,"0ms")}function onDrag(ev){var transform=ev.pointer.distanceY;transform<5&&(transform=Math.max(-PADDING,transform/2)),element.css($mdConstant.CSS.TRANSFORM,"translate3d(0,"+(PADDING+transform)+"px,0)")}function onDragEnd(ev){if(ev.pointer.distanceY>0&&(ev.pointer.distanceY>20||Math.abs(ev.pointer.velocityY)>CLOSING_VELOCITY)){var distanceRemaining=element.prop("offsetHeight")-ev.pointer.distanceY,transitionDuration=Math.min(distanceRemaining/ev.pointer.velocityY*.75,500);element.css($mdConstant.CSS.TRANSITION_DURATION,transitionDuration+"ms"),$mdUtil.nextTick($mdBottomSheet.cancel,!0)}else element.css($mdConstant.CSS.TRANSITION_DURATION,""),element.css($mdConstant.CSS.TRANSFORM,"")}}(element,options.parent);options.disableBackdrop||((backdrop=$mdUtil.createBackdrop(scope,"md-bottom-sheet-backdrop md-opaque"))[0].tabIndex=-1,options.clickOutsideToClose&&backdrop.on("click",function(){$mdUtil.nextTick($mdBottomSheet.cancel,!0)}),$mdTheming.inherit(backdrop,options.parent),$animate.enter(backdrop,options.parent,null));$mdTheming.inherit(element,options.parent),options.disableParentScroll&&(options.restoreScroll=$mdUtil.disableScrollAround(element,options.parent));return $animate.enter(element,options.parent,backdrop).then(function(){var focusable=$mdUtil.findFocusTarget(element)||angular.element(element[0].querySelector("button")||element[0].querySelector("a")||element[0].querySelector($mdUtil.prefixer("ng-click",!0)))||backdrop;options.escapeToClose&&(options.rootElementKeyupCallback=function(e){e.keyCode===$mdConstant.KEY_CODE.ESCAPE&&$mdUtil.nextTick($mdBottomSheet.cancel,!0)},$rootElement.on("keyup",options.rootElementKeyupCallback),focusable&&focusable.focus())})},onRemove:function(scope,element,options){options.disableBackdrop||$animate.leave(backdrop);return $animate.leave(element).then(function(){options.disableParentScroll&&(options.restoreScroll(),delete options.restoreScroll),options.cleanupGestures&&options.cleanupGestures()})},disableBackdrop:!1,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0,isLockedOpen:!1}}}MdBottomSheetDirective.$inject=["$mdBottomSheet"],MdBottomSheetProvider.$inject=["$$interimElementProvider"],angular.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",MdBottomSheetDirective).provider("$mdBottomSheet",MdBottomSheetProvider)}(),function(){function MdAnchorDirective($mdTheming){return{restrict:"E",link:function(scope,element){$mdTheming(element)}}}function MdButtonDirective($mdButtonInkRipple,$mdTheming,$mdAria,$mdInteraction){return{restrict:"EA",replace:!0,transclude:!0,template:function(element,attr){if(isAnchor(attr))return'<a class="md-button" ng-transclude></a>';var btnType=void 0===attr.type?"button":attr.type;return'<button class="md-button" type="'+btnType+'" ng-transclude></button>'},link:function(scope,element,attr){$mdTheming(element),$mdButtonInkRipple.attach(scope,element),$mdAria.expectWithoutText(element,"aria-label"),isAnchor(attr)&&angular.isDefined(attr.ngDisabled)&&!element.hasClass("_md-nav-button")&&scope.$watch(attr.ngDisabled,function(isDisabled){element.attr("tabindex",isDisabled?-1:0)});element.on("click",function(e){!0===attr.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),element.hasClass("md-no-focus")||(element.on("focus",function(){$mdInteraction.isUserInvoked()&&"keyboard"!==$mdInteraction.getLastInteractionType()||element.addClass("md-focused")}),element.on("blur",function(){element.removeClass("md-focused")}))}};function isAnchor(attr){return angular.isDefined(attr.href)||angular.isDefined(attr.ngHref)||angular.isDefined(attr.ngLink)||angular.isDefined(attr.uiSref)}}MdButtonDirective.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$mdInteraction"],MdAnchorDirective.$inject=["$mdTheming"],angular.module("material.components.button",["material.core"]).directive("mdButton",MdButtonDirective).directive("a",MdAnchorDirective)}(),function(){function mdCardDirective($mdTheming){return{restrict:"E",link:function($scope,$element,attr){$element.addClass("_md"),$mdTheming($element)}}}mdCardDirective.$inject=["$mdTheming"],angular.module("material.components.card",["material.core"]).directive("mdCard",mdCardDirective)}(),function(){function MdCheckboxDirective(inputDirective,$mdAria,$mdConstant,$mdTheming,$mdUtil,$mdInteraction){return inputDirective=inputDirective[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:$mdConstant.BEFORE_NG_ARIA,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-icon"></div></div><div ng-transclude class="md-label"></div>',compile:function(tElement,tAttrs){return tAttrs.$set("tabindex",tAttrs.tabindex||"0"),tAttrs.$set("type","checkbox"),tAttrs.$set("role",tAttrs.type),tElement.addClass("md-auto-horizontal-margin"),{pre:function(scope,element){element.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:function(scope,element,attr,ctrls){var isIndeterminate,expr,htmlAttr,valueOpts,containerCtrl=ctrls[0],ngModelCtrl=ctrls[1]||$mdUtil.fakeNgModel(),formCtrl=ctrls[2],labelHasLink=element.find("a").length>0;if(labelHasLink){var labelId="label-"+$mdUtil.nextUid();attr.$set("aria-labelledby",labelId);var label=element.children()[1];angular.element(label).remove(),label.removeAttribute("ng-transclude"),label.className="md-checkbox-link-label",label.setAttribute("id",labelId),element.after(label);var externalLabel=element.next();externalLabel.on("click",listener)}if(containerCtrl){var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||formCtrl&&formCtrl.$submitted)};containerCtrl.input=element,scope.$watch(isErrorGetter,containerCtrl.setInvalid)}function listener(ev){element[0].hasAttribute("disabled")||scope.skipToggle||"A"===ev.target.tagName||scope.$apply(function(){var viewValue=attr.ngChecked&&attr.ngClick?attr.checked:!ngModelCtrl.$viewValue;ngModelCtrl.$setViewValue(viewValue,ev&&ev.type),ngModelCtrl.$render()})}function setIndeterminateState(newValue){(isIndeterminate=!1!==newValue)&&element.attr("aria-checked","mixed"),element.toggleClass("md-indeterminate",isIndeterminate),ngModelCtrl.$render()}$mdTheming(element),element.children().on("focus",function(){element.focus()}),$mdUtil.parseAttributeBoolean(attr.mdIndeterminate)&&(setIndeterminateState(),scope.$watch(attr.mdIndeterminate,setIndeterminateState)),attr.ngChecked&&scope.$watch(scope.$eval.bind(scope,attr.ngChecked),function(value){ngModelCtrl.$setViewValue(value),ngModelCtrl.$render()}),expr="ngDisabled",htmlAttr="tabindex",valueOpts={true:"-1",false:attr.tabindex},attr[expr]&&scope.$watch(attr[expr],function(val){valueOpts[val]&&element.attr(htmlAttr,valueOpts[val])}),labelHasLink||$mdAria.expectWithText(element,"aria-label"),inputDirective.link.pre(scope,{on:angular.noop,0:{}},attr,[ngModelCtrl]),element.on("click",listener).on("keypress",function(ev){var submit,form,keyCode=ev.which||ev.keyCode;switch(ev.preventDefault(),keyCode){case $mdConstant.KEY_CODE.SPACE:element.addClass("md-focused"),listener(ev);break;case $mdConstant.KEY_CODE.ENTER:(form=$mdUtil.getClosest(ev.target,"form"))&&(submit=form.querySelector('button[type="submit"]:enabled, input[type="submit"]:enabled'))&&submit.click()}}).on("focus",function(){"keyboard"===$mdInteraction.getLastInteractionType()&&element.addClass("md-focused")}).on("blur",function(){element.removeClass("md-focused")}),ngModelCtrl.$render=function(){var checked=!!ngModelCtrl.$viewValue&&!isIndeterminate;element.toggleClass("md-checked",checked),isIndeterminate||(checked?element.attr("aria-checked","true"):element.attr("aria-checked","false"))}}}}}}MdCheckboxDirective.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$mdInteraction"],angular.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",MdCheckboxDirective)}(),angular.module("material.components.chips",["material.core","material.components.autocomplete"]),function(){function MdChipCtrl($scope,$element,$mdConstant,$timeout,$mdUtil){this.$scope=$scope,this.$element=$element,this.$mdConstant=$mdConstant,this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.isEditing=!1,this.parentController=undefined,this.enableChipEdit=!1}MdChipCtrl.$inject=["$scope","$element","$mdConstant","$timeout","$mdUtil"],angular.module("material.components.chips").controller("MdChipCtrl",MdChipCtrl),MdChipCtrl.prototype.init=function(controller){this.parentController=controller,this.enableChipEdit=this.parentController.enableChipEdit,this.enableChipEdit&&(this.$element.on("keydown",this.chipKeyDown.bind(this)),this.$element.on("dblclick",this.chipMouseDoubleClick.bind(this)),this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))},MdChipCtrl.prototype.getChipContent=function(){var chipContents=this.$element[0].getElementsByClassName("md-chip-content");return angular.element(chipContents[0])},MdChipCtrl.prototype.getContentElement=function(){var contentElement=angular.element(this.getChipContent().children()[0]);return contentElement&&0!==contentElement.length||(contentElement=angular.element(this.getChipContent().contents()[0])),contentElement},MdChipCtrl.prototype.getChipIndex=function(){return parseInt(this.$element.attr("index"))},MdChipCtrl.prototype.goOutOfEditMode=function(){if(this.isEditing){this.isEditing=!1,this.$element.removeClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="false";var chipIndex=this.getChipIndex(),content=this.getContentElement().text();content?(this.parentController.updateChipContents(chipIndex,content),this.$mdUtil.nextTick(function(){this.parentController.selectedChip===chipIndex&&this.parentController.focusChip(chipIndex)}.bind(this))):this.parentController.removeChipAndFocusInput(chipIndex)}},MdChipCtrl.prototype.selectNodeContents=function(node){var range,selection;document.body.createTextRange?((range=document.body.createTextRange()).moveToElementText(node),range.select()):window.getSelection&&(selection=window.getSelection(),(range=document.createRange()).selectNodeContents(node),selection.removeAllRanges(),selection.addRange(range))},MdChipCtrl.prototype.goInEditMode=function(){this.isEditing=!0,this.$element.addClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="true",this.getChipContent().on("blur",function(){this.goOutOfEditMode()}.bind(this)),this.selectNodeContents(this.getChipContent()[0])},MdChipCtrl.prototype.chipKeyDown=function(event){this.isEditing||event.keyCode!==this.$mdConstant.KEY_CODE.ENTER&&event.keyCode!==this.$mdConstant.KEY_CODE.SPACE?this.isEditing&&event.keyCode===this.$mdConstant.KEY_CODE.ENTER&&(event.preventDefault(),this.goOutOfEditMode()):(event.preventDefault(),this.goInEditMode())},MdChipCtrl.prototype.chipMouseDoubleClick=function(){this.enableChipEdit&&!this.isEditing&&this.goInEditMode()}}(),function(){function MdChip($mdTheming,$mdUtil,$compile,$timeout){return{restrict:"E",require:["^?mdChips","mdChip"],link:function(scope,element,attr,ctrls){var chipsController=ctrls.shift(),chipController=ctrls.shift(),chipContentElement=angular.element(element[0].querySelector(".md-chip-content"));$mdTheming(element),chipsController&&(chipController.init(chipsController),chipContentElement.on("blur",function(){chipsController.resetSelectedChip(),chipsController.$scope.$applyAsync()}));$timeout(function(){chipsController&&chipsController.shouldFocusLastChip&&chipsController.focusLastChipThenInput()})},controller:"MdChipCtrl"}}MdChip.$inject=["$mdTheming","$mdUtil","$compile","$timeout"],angular.module("material.components.chips").directive("mdChip",MdChip)}(),function(){function MdChipRemove($timeout){return{restrict:"A",require:"^mdChips",scope:!1,link:function(scope,element,attr,ctrl){element.on("click",function(){scope.$apply(function(){ctrl.removeChip(scope.$$replacedScope.$index)})}),$timeout(function(){element.attr({tabindex:"-1","aria-hidden":"true"}),element.find("button").attr("tabindex","-1")})}}}MdChipRemove.$inject=["$timeout"],angular.module("material.components.chips").directive("mdChipRemove",MdChipRemove)}(),function(){function MdChipTransclude($compile){return{restrict:"EA",terminal:!0,link:function(scope,element,attr){var ctrl=scope.$parent.$mdChipsCtrl,newScope=ctrl.parent.$new(!1,ctrl.parent);newScope.$$replacedScope=scope,newScope.$chip=scope.$chip,newScope.$index=scope.$index,newScope.$mdChipsCtrl=ctrl;var newHtml=ctrl.$scope.$eval(attr.mdChipTransclude);element.html(newHtml),$compile(element.contents())(newScope)},scope:!1}}MdChipTransclude.$inject=["$compile"],angular.module("material.components.chips").directive("mdChipTransclude",MdChipTransclude)}(),function(){MdChipsCtrl.$inject=["$scope","$attrs","$mdConstant","$log","$element","$timeout","$mdUtil","$mdLiveAnnouncer","$exceptionHandler"];var DEFAULT_CHIP_APPEND_DELAY=300;function MdChipsCtrl($scope,$attrs,$mdConstant,$log,$element,$timeout,$mdUtil,$mdLiveAnnouncer,$exceptionHandler){this.$timeout=$timeout,this.$mdConstant=$mdConstant,this.$scope=$scope,this.parent=$scope.$parent,this.$mdUtil=$mdUtil,this.$log=$log,this.$mdLiveAnnouncer=$mdLiveAnnouncer,this.$exceptionHandler=$exceptionHandler,this.$element=$element,this.$attrs=$attrs,this.ngModelCtrl=null,this.userInputNgModelCtrl=null,this.autocompleteCtrl=null,this.userInputElement=null,this.items=[],this.selectedChip=-1,this.enableChipEdit=$mdUtil.parseAttributeBoolean($attrs.mdEnableChipEdit),this.addOnBlur=$mdUtil.parseAttributeBoolean($attrs.mdAddOnBlur),this.inputClass="",this.inputAriaLabel="Chips input.",this.containerHint="Chips container. Use arrow keys to select chips.",this.containerEmptyHint="Chips container. Enter the text area, then type text, and press enter to add a chip.",this.deleteHint="Press delete to remove this chip.",this.deleteButtonLabel="Remove",this.chipBuffer="",this.useTransformChip=!1,this.useOnAdd=!1,this.useOnRemove=!1,this.wrapperId="",this.contentIds=[],this.ariaTabIndex=null,this.chipAppendDelay=DEFAULT_CHIP_APPEND_DELAY,this.deRegister=[],this.addedMessage="added",this.removedMessage="removed",this.init()}angular.module("material.components.chips").controller("MdChipsCtrl",MdChipsCtrl),MdChipsCtrl.prototype.init=function(){var ctrl=this;this.wrapperId="_md-chips-wrapper-"+this.$mdUtil.nextUid(),this.$element.attr("ng-model")||this.setupStaticChips(),this.deRegister.push(this.$scope.$watchCollection("$mdChipsCtrl.items",function(){ctrl.setupInputAria(),ctrl.setupWrapperAria()})),this.deRegister.push(this.$attrs.$observe("mdChipAppendDelay",function(newValue){ctrl.chipAppendDelay=parseInt(newValue)||DEFAULT_CHIP_APPEND_DELAY}))},MdChipsCtrl.prototype.$onDestroy=function(){for(var $destroyFn;$destroyFn=this.deRegister.pop();)$destroyFn.call(this)},MdChipsCtrl.prototype.setupInputAria=function(){var input=this.$element.find("input");input&&(input.attr("role","textbox"),input.attr("aria-multiline",!0),this.inputAriaDescribedBy&&input.attr("aria-describedby",this.inputAriaDescribedBy),this.inputAriaLabelledBy?(input.attr("aria-labelledby",this.inputAriaLabelledBy),input.removeAttr("aria-label")):input.attr("aria-label",this.inputAriaLabel))},MdChipsCtrl.prototype.setupWrapperAria=function(){var ctrl=this,wrapper=this.$element.find("md-chips-wrap");this.items&&this.items.length?(wrapper.attr("role","listbox"),this.contentIds=this.items.map(function(){return ctrl.wrapperId+"-chip-"+ctrl.$mdUtil.nextUid()}),wrapper.attr("aria-owns",this.contentIds.join(" ")),wrapper.attr("aria-label",this.containerHint)):(wrapper.removeAttr("role"),wrapper.removeAttr("aria-owns"),wrapper.attr("aria-label",this.containerEmptyHint))},MdChipsCtrl.prototype.setupStaticChips=function(){var i,staticChips,ctrl=this,wrapper=this.$element.find("md-chips-wrap");this.$timeout(function(){for(wrapper.attr("role","list"),staticChips=wrapper[0].children,i=0;i<staticChips.length;i++)staticChips[i].setAttribute("role","listitem"),staticChips[i].setAttribute("aria-setsize",staticChips.length);ctrl.inputAriaDescribedBy&&wrapper.attr("aria-describedby",ctrl.inputAriaDescribedBy),ctrl.inputAriaLabelledBy?(wrapper.attr("aria-labelledby",ctrl.inputAriaLabelledBy),wrapper.removeAttr("aria-label")):wrapper.attr("aria-label",ctrl.inputAriaLabel)},10)},MdChipsCtrl.prototype.inputKeydown=function(event){var chipBuffer=this.getChipBuffer();if(!(this.autocompleteCtrl&&event.isDefaultPrevented&&event.isDefaultPrevented())){if(event.keyCode===this.$mdConstant.KEY_CODE.BACKSPACE){if(0!==this.getCursorPosition(event.target))return;return event.preventDefault(),event.stopPropagation(),void(this.items.length&&this.selectAndFocusChipSafe(this.items.length-1))}if((!this.separatorKeys||this.separatorKeys.length<1)&&(this.separatorKeys=[this.$mdConstant.KEY_CODE.ENTER]),-1!==this.separatorKeys.indexOf(event.keyCode)){if(this.autocompleteCtrl&&this.requireMatch||!chipBuffer)return;if(event.preventDefault(),this.hasMaxChipsReached())return;return this.appendChip(chipBuffer.trim()),this.resetChipBuffer(),!1}}},MdChipsCtrl.prototype.getCursorPosition=function(element){try{if(element.selectionStart===element.selectionEnd)return element.selectionStart}catch(e){if(!element.value)return 0}},MdChipsCtrl.prototype.updateChipContents=function(chipIndex,chipContents){chipIndex>=0&&chipIndex<this.items.length&&(this.items[chipIndex]=chipContents,this.updateNgModel(!0))},MdChipsCtrl.prototype.isEditingChip=function(){return!!this.$element[0].querySelector("._md-chip-editing")},MdChipsCtrl.prototype._isChipObject=function(chip){return angular.isObject(chip)},MdChipsCtrl.prototype.isRemovable=function(){return!!this.ngModelCtrl&&(this.readonly?this.removable:!angular.isDefined(this.removable)||this.removable)},MdChipsCtrl.prototype.chipKeydown=function(event){if(!this.getChipBuffer()&&!this.isEditingChip())switch(event.keyCode){case this.$mdConstant.KEY_CODE.BACKSPACE:case this.$mdConstant.KEY_CODE.DELETE:if(this.selectedChip<0)return;if(event.preventDefault(),!this.isRemovable())return;this.removeAndSelectAdjacentChip(this.selectedChip,event);break;case this.$mdConstant.KEY_CODE.LEFT_ARROW:event.preventDefault(),(this.selectedChip<0||this.readonly&&0===this.selectedChip)&&(this.selectedChip=this.items.length),this.items.length&&this.selectAndFocusChipSafe(this.selectedChip-1);break;case this.$mdConstant.KEY_CODE.RIGHT_ARROW:event.preventDefault(),this.selectAndFocusChipSafe(this.selectedChip+1);break;case this.$mdConstant.KEY_CODE.ESCAPE:case this.$mdConstant.KEY_CODE.TAB:if(this.selectedChip<0)return;event.preventDefault(),this.onFocus()}},MdChipsCtrl.prototype.getPlaceholder=function(){return this.items&&this.items.length&&(""===this.secondaryPlaceholder||this.secondaryPlaceholder)?this.secondaryPlaceholder:this.placeholder},MdChipsCtrl.prototype.removeAndSelectAdjacentChip=function(index,event){var self=this,selIndex=self.getAdjacentChipIndex(index);this.$element[0].querySelector("md-chips-wrap"),this.$element[0].querySelector('md-chip[index="'+index+'"]');self.removeChip(index,event),self.$timeout(function(){self.$timeout(function(){self.selectAndFocusChipSafe(selIndex)})})},MdChipsCtrl.prototype.resetSelectedChip=function(){this.selectedChip=-1,this.ariaTabIndex=null},MdChipsCtrl.prototype.getAdjacentChipIndex=function(index){var len=this.items.length-1;return 0===len?-1:index===len?index-1:index},MdChipsCtrl.prototype.appendChip=function(newChip){if(this.shouldFocusLastChip=!this.addOnBlur,this.useTransformChip&&this.transformChip){var transformedChip=this.transformChip({$chip:newChip});angular.isDefined(transformedChip)&&(newChip=transformedChip)}if(angular.isObject(newChip)&&this.items.some(function(item){return angular.equals(newChip,item)}))return;if(!(null==newChip||this.items.indexOf(newChip)+1)){var index=this.items.push(newChip)-1;this.updateNgModel();var chipContent=angular.isObject(newChip)?"":newChip;this.$mdLiveAnnouncer.announce(chipContent+" "+this.addedMessage,"assertive"),this.useOnAdd&&this.onAdd&&this.onAdd({$chip:newChip,$index:index})}},MdChipsCtrl.prototype.useTransformChipExpression=function(){this.useTransformChip=!0},MdChipsCtrl.prototype.useOnAddExpression=function(){this.useOnAdd=!0},MdChipsCtrl.prototype.useOnRemoveExpression=function(){this.useOnRemove=!0},MdChipsCtrl.prototype.useOnSelectExpression=function(){this.useOnSelect=!0},MdChipsCtrl.prototype.getChipBuffer=function(){var chipBuffer=this.userInputElement?this.userInputNgModelCtrl?this.userInputNgModelCtrl.$viewValue:this.userInputElement[0].value:this.chipBuffer;return angular.isString(chipBuffer)?chipBuffer:""},MdChipsCtrl.prototype.resetChipBuffer=function(){this.userInputElement?this.userInputNgModelCtrl?(this.userInputNgModelCtrl.$setViewValue(""),this.userInputNgModelCtrl.$render()):this.userInputElement[0].value="":this.chipBuffer=""},MdChipsCtrl.prototype.hasMaxChipsReached=function(){return angular.isString(this.maxChips)&&(this.maxChips=parseInt(this.maxChips,10)||0),this.maxChips>0&&this.items.length>=this.maxChips},MdChipsCtrl.prototype.validateModel=function(){this.ngModelCtrl.$setValidity("md-max-chips",!this.hasMaxChipsReached()),this.ngModelCtrl.$validate()},MdChipsCtrl.prototype.updateNgModel=function(skipValidation){skipValidation||this.validateModel(),angular.forEach(this.ngModelCtrl.$viewChangeListeners,function(listener){try{listener()}catch(e){this.$exceptionHandler(e)}})},MdChipsCtrl.prototype.removeChip=function(index,event){var removed=this.items.splice(index,1);this.updateNgModel(),this.ngModelCtrl.$setDirty();var chipContent=angular.isObject(removed[0])?"":removed[0];this.$mdLiveAnnouncer.announce(chipContent+" "+this.removedMessage,"assertive"),removed&&removed.length&&this.useOnRemove&&this.onRemove&&this.onRemove({$chip:removed[0],$index:index,$event:event})},MdChipsCtrl.prototype.removeChipAndFocusInput=function(index,$event){this.removeChip(index,$event),this.autocompleteCtrl?(this.autocompleteCtrl.hidden=!0,this.$mdUtil.nextTick(this.onFocus.bind(this))):this.onFocus()},MdChipsCtrl.prototype.selectAndFocusChipSafe=function(index){if(!this.items.length||-1===index)return this.focusInput();if(index>=this.items.length){if(!this.readonly)return this.onFocus();index=0}index=Math.max(index,0),index=Math.min(index,this.items.length-1),this.selectChip(index),this.focusChip(index)},MdChipsCtrl.prototype.focusLastChipThenInput=function(){var ctrl=this;ctrl.shouldFocusLastChip=!1,ctrl.focusChip(this.items.length-1),ctrl.$timeout(function(){ctrl.focusInput()},ctrl.chipAppendDelay)},MdChipsCtrl.prototype.focusInput=function(){this.selectChip(-1),this.onFocus()},MdChipsCtrl.prototype.selectChip=function(index){index>=-1&&index<=this.items.length?(this.selectedChip=index,this.useOnSelect&&this.onSelect&&this.onSelect({$chip:this.items[index]})):this.$log.warn("Selected Chip index out of bounds; ignoring.")},MdChipsCtrl.prototype.focusChip=function(index){var chipContent=this.$element[0].querySelector('md-chip[index="'+index+'"] .md-chip-content');this.ariaTabIndex=index,chipContent.focus()},MdChipsCtrl.prototype.configureNgModel=function(ngModelCtrl){this.ngModelCtrl=ngModelCtrl;var self=this;ngModelCtrl.$isEmpty=function(value){return!value||0===value.length},ngModelCtrl.$render=function(){self.items=self.ngModelCtrl.$viewValue}},MdChipsCtrl.prototype.onFocus=function(){var input=this.$element[0].querySelector("input");input&&input.focus(),this.resetSelectedChip()},MdChipsCtrl.prototype.onInputFocus=function(){this.inputHasFocus=!0,this.setupInputAria(),this.resetSelectedChip()},MdChipsCtrl.prototype.onInputBlur=function(){this.inputHasFocus=!1,this.shouldAddOnBlur()&&(this.appendChip(this.getChipBuffer().trim()),this.resetChipBuffer())},MdChipsCtrl.prototype.configureInput=function(inputElement){var ngModelCtrl=inputElement.controller("ngModel"),ctrl=this;ngModelCtrl&&(this.deRegister.push(this.$scope.$watch(function(){return ngModelCtrl.$touched},function(isTouched){isTouched&&ctrl.ngModelCtrl.$setTouched()})),this.deRegister.push(this.$scope.$watch(function(){return ngModelCtrl.$dirty},function(isDirty){isDirty&&ctrl.ngModelCtrl.$setDirty()})))},MdChipsCtrl.prototype.configureUserInput=function(inputElement){this.userInputElement=inputElement;var ngModelCtrl=inputElement.controller("ngModel");ngModelCtrl!==this.ngModelCtrl&&(this.userInputNgModelCtrl=ngModelCtrl);var scope=this.$scope,ctrl=this,scopeApplyFn=function(event,fn){scope.$evalAsync(angular.bind(ctrl,fn,event))};inputElement.attr({tabindex:0}).on("keydown",function(event){scopeApplyFn(event,ctrl.inputKeydown)}).on("focus",function(event){scopeApplyFn(event,ctrl.onInputFocus)}).on("blur",function(event){scopeApplyFn(event,ctrl.onInputBlur)})},MdChipsCtrl.prototype.configureAutocomplete=function(ctrl){ctrl&&(this.autocompleteCtrl=ctrl,this.$element.attr("container-empty-hint")||(this.containerEmptyHint="Chips container with autocompletion. Enter the text area, type text to search, and then use the up and down arrow keys to select an option. Press enter to add the selected option as a chip.",this.setupWrapperAria()),ctrl.registerSelectedItemWatcher(angular.bind(this,function(item){if(item){if(this.hasMaxChipsReached())return;this.appendChip(item),this.resetChipBuffer()}})),this.$element.find("input").on("focus",angular.bind(this,this.onInputFocus)).on("blur",angular.bind(this,this.onInputBlur)))},MdChipsCtrl.prototype.shouldAddOnBlur=function(){this.validateModel();var chipBuffer=this.getChipBuffer().trim(),isModelValid=this.ngModelCtrl.$isEmpty(this.ngModelCtrl.$modelValue)||this.ngModelCtrl.$valid,isAutocompleteShowing=this.autocompleteCtrl&&!this.autocompleteCtrl.hidden;return this.userInputNgModelCtrl&&(isModelValid=isModelValid&&this.userInputNgModelCtrl.$valid),this.addOnBlur&&!this.requireMatch&&chipBuffer&&isModelValid&&!isAutocompleteShowing},MdChipsCtrl.prototype.hasFocus=function(){return this.inputHasFocus||this.selectedChip>=0},MdChipsCtrl.prototype.contentIdFor=function(index){return this.contentIds[index]}}(),function(){MdChips.$inject=["$mdTheming","$mdUtil","$compile","$log","$timeout","$$mdSvgRegistry"],angular.module("material.components.chips").directive("mdChips",MdChips);var MD_CHIPS_TEMPLATE='      <md-chips-wrap          id="{{$mdChipsCtrl.wrapperId}}"          tabindex="{{$mdChipsCtrl.readonly ? 0 : -1}}"          ng-keydown="$mdChipsCtrl.chipKeydown($event)"          ng-class="{ \'md-focused\': $mdChipsCtrl.hasFocus(),                       \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly,                      \'md-removable\': $mdChipsCtrl.isRemovable() }"          class="md-chips">        <md-chip ng-repeat="$chip in $mdChipsCtrl.items"            index="{{$index}}"             ng-class="{\'md-focused\': $mdChipsCtrl.selectedChip == $index, \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly}">          <div class="md-chip-content"              tabindex="{{$mdChipsCtrl.ariaTabIndex === $index ? 0 : -1}}"              id="{{$mdChipsCtrl.contentIdFor($index)}}"              role="option"              aria-selected="{{$mdChipsCtrl.selectedChip === $index}}"              aria-setsize="{{$mdChipsCtrl.items.length}}"              aria-posinset="{{$index+1}}"              ng-click="!$mdChipsCtrl.readonly && $mdChipsCtrl.focusChip($index)"              aria-label="{{$mdChipsCtrl._isChipObject($chip) ? \'\' : $chip + \'. \'}}{{$mdChipsCtrl.isRemovable() ? \'\' + $mdChipsCtrl.deleteHint : \'\'}}"               ng-focus="!$mdChipsCtrl.readonly && $mdChipsCtrl.selectChip($index)"              md-chip-transclude="$mdChipsCtrl.chipContentsTemplate"></div>          <div ng-if="$mdChipsCtrl.isRemovable()"               class="md-chip-remove-container"               tabindex="-1"               md-chip-transclude="$mdChipsCtrl.chipRemoveTemplate"></div>        </md-chip>        <div class="md-chip-input-container" ng-if="!$mdChipsCtrl.readonly && $mdChipsCtrl.ngModelCtrl">          <div md-chip-transclude="$mdChipsCtrl.chipInputTemplate"></div>        </div>      </md-chips-wrap>',CHIP_INPUT_TEMPLATE='        <input            class="md-input{{ $mdChipsCtrl.inputClass ? \' \' + $mdChipsCtrl.inputClass: \'\'}}"            tabindex="0"            aria-label="{{$mdChipsCtrl.inputAriaLabel}}"            placeholder="{{$mdChipsCtrl.getPlaceholder()}}"            ng-model="$mdChipsCtrl.chipBuffer"            ng-focus="$mdChipsCtrl.onInputFocus()"            ng-blur="$mdChipsCtrl.onInputBlur()"            ng-keydown="$mdChipsCtrl.inputKeydown($event)">',CHIP_DEFAULT_TEMPLATE="      <span>{{$chip}}</span>",CHIP_REMOVE_TEMPLATE='      <button          class="md-chip-remove"          ng-if="$mdChipsCtrl.isRemovable()"          ng-click="$mdChipsCtrl.removeChipAndFocusInput($$replacedScope.$index, $event)"          type="button"          tabindex="-1"          aria-label="{{$mdChipsCtrl.deleteButtonLabel}}{{$mdChipsCtrl._isChipObject($chip) ? \'\' : \' \' + $chip}}">        <md-icon md-svg-src="{{$mdChipsCtrl.mdCloseIcon}}" aria-hidden="true"></md-icon>      </button>';function MdChips($mdTheming,$mdUtil,$compile,$log,$timeout,$$mdSvgRegistry){var templates={chips:$mdUtil.processTemplate(MD_CHIPS_TEMPLATE),input:$mdUtil.processTemplate(CHIP_INPUT_TEMPLATE),default:$mdUtil.processTemplate(CHIP_DEFAULT_TEMPLATE),remove:$mdUtil.processTemplate(CHIP_REMOVE_TEMPLATE)};return{template:function(element,attrs){return attrs.$mdUserTemplate=element.clone(),templates.chips},require:["mdChips"],restrict:"E",controller:"MdChipsCtrl",controllerAs:"$mdChipsCtrl",bindToController:!0,compile:function(element,attr){var userTemplate=attr.$mdUserTemplate;attr.$mdUserTemplate=null;var chipTemplate=getTemplateByQuery("md-chips>md-chip-template"),chipRemoveTemplate=getTemplateByQuery($mdUtil.prefixer().buildList("md-chip-remove").map(function(attr){return"md-chips>*["+attr+"]"}).join(","))||templates.remove,chipContentsTemplate=chipTemplate||templates.default,chipInputTemplate=getTemplateByQuery("md-chips>md-autocomplete")||getTemplateByQuery("md-chips>input")||templates.input,staticChips=userTemplate.find("md-chip");userTemplate[0].querySelector("md-chip-template>*[md-chip-remove]")&&$log.warn("invalid placement of md-chip-remove within md-chip-template.");function getTemplateByQuery(query){if(attr.ngModel){var element=userTemplate[0].querySelector(query);return element&&element.outerHTML}}return function(scope,element,attrs,controllers){$mdUtil.initOptionalProperties(scope,attr),$mdTheming(element);var mdChipsCtrl=controllers[0];if(chipTemplate&&(mdChipsCtrl.enableChipEdit=!1),mdChipsCtrl.chipContentsTemplate=chipContentsTemplate,mdChipsCtrl.chipRemoveTemplate=chipRemoveTemplate,mdChipsCtrl.chipInputTemplate=chipInputTemplate,mdChipsCtrl.mdCloseIcon=$$mdSvgRegistry.mdCancel,element.attr({tabindex:-1}).on("focus",function(){mdChipsCtrl.onFocus()}).on("click",function(){mdChipsCtrl.readonly||-1!==mdChipsCtrl.selectedChip||mdChipsCtrl.onFocus()}),attr.ngModel&&(mdChipsCtrl.configureNgModel(element.controller("ngModel")),attrs.mdTransformChip&&mdChipsCtrl.useTransformChipExpression(),attrs.mdOnAdd&&mdChipsCtrl.useOnAddExpression(),attrs.mdOnRemove&&mdChipsCtrl.useOnRemoveExpression(),attrs.mdOnSelect&&mdChipsCtrl.useOnSelectExpression(),chipInputTemplate!==templates.input&&scope.$watch("$mdChipsCtrl.readonly",function(readonly){readonly||$mdUtil.nextTick(function(){if(0===chipInputTemplate.indexOf("<md-autocomplete")){var autocompleteEl=element.find("md-autocomplete");mdChipsCtrl.configureAutocomplete(autocompleteEl.controller("mdAutocomplete"))}mdChipsCtrl.configureUserInput(element.find("input"))})}),$mdUtil.nextTick(function(){var input=element.find("input");input&&(mdChipsCtrl.configureInput(input),input.toggleClass("md-input",!0))})),staticChips.length>0){var compiledStaticChips=$compile(staticChips.clone())(scope.$parent);$timeout(function(){element.find("md-chips-wrap").prepend(compiledStaticChips)})}}},scope:{readonly:"=?readonly",removable:"=?mdRemovable",placeholder:"@?",secondaryPlaceholder:"@?",maxChips:"@?mdMaxChips",transformChip:"&mdTransformChip",onAdd:"&?mdOnAdd",onRemove:"&?mdOnRemove",addedMessage:"@?mdAddedMessage",removedMessage:"@?mdRemovedMessage",onSelect:"&?mdOnSelect",inputClass:"@?mdInputClass",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?",deleteButtonLabel:"@?",separatorKeys:"=?mdSeparatorKeys",requireMatch:"=?mdRequireMatch",chipAppendDelayString:"@?mdChipAppendDelay",ngChange:"&?"}}}}(),function(){function MdContactChipsCtrl($attrs,$element,$timeout){this.$element=$element,this.$attrs=$attrs,this.$timeout=$timeout,this.selectedItem=null,this.searchText="",this.deRegister=[],this.init()}MdContactChipsCtrl.$inject=["$attrs","$element","$timeout"],angular.module("material.components.chips").controller("MdContactChipsCtrl",MdContactChipsCtrl),MdContactChipsCtrl.prototype.init=function(){var ctrl=this,deRegister=this.deRegister,element=this.$element;this.$timeout(function(){deRegister.push(element.find("md-chips").controller("mdChips").$scope.$watchCollection("$mdChipsCtrl.items",function(){ctrl.setupChipsAria(),ctrl.setupAutocompleteAria()}))})},MdContactChipsCtrl.prototype.setupChipsAria=function(){var chips=this.$element.find("md-chips"),chipsCtrl=chips.controller("mdChips");this.removedMessage&&(chipsCtrl.removedMessage=this.removedMessage),this.containerHint&&(chipsCtrl.containerHint=this.containerHint),this.containerEmptyHint&&(chips.attr("container-empty-hint",this.containerEmptyHint),chipsCtrl.containerEmptyHint=this.containerEmptyHint),this.deleteHint&&(chipsCtrl.deleteHint=this.deleteHint),this.inputAriaLabel&&(chipsCtrl.inputAriaLabel=this.inputAriaLabel),this.inputClass&&(chipsCtrl.inputClass=this.inputClass)},MdContactChipsCtrl.prototype.setupAutocompleteAria=function(){var autocompleteInput=this.$element.find("md-chips-wrap").find("md-autocomplete").find("input");this.inputAriaDescribedBy&&autocompleteInput.attr("aria-describedby",this.inputAriaDescribedBy),this.inputAriaLabelledBy&&(autocompleteInput.removeAttr("aria-label"),autocompleteInput.attr("aria-labelledby",this.inputAriaLabelledBy))},MdContactChipsCtrl.prototype.queryContact=function(searchText){return this.contactQuery({$query:searchText})},MdContactChipsCtrl.prototype.inputKeydown=function(event){if(this.separatorKeys&&!(this.separatorKeys.indexOf(event.keyCode)<0)){event.stopPropagation(),event.preventDefault();var autocompleteCtrl=angular.element(event.target).controller("mdAutocomplete");autocompleteCtrl.select(autocompleteCtrl.index)}},MdContactChipsCtrl.prototype.itemName=function(item){return item[this.contactName]},MdContactChipsCtrl.prototype.$onDestroy=function(){for(var $destroyFn;$destroyFn=this.deRegister.pop();)$destroyFn.call(this)}}(),function(){MdContactChips.$inject=["$mdTheming","$mdUtil"],angular.module("material.components.chips").directive("mdContactChips",MdContactChips);var MD_CONTACT_CHIPS_TEMPLATE='      <md-chips class="md-contact-chips"          ng-model="$mdContactChipsCtrl.contacts"          ng-change="$mdContactChipsCtrl.ngChange($mdContactChipsCtrl.contacts)"          md-require-match="$mdContactChipsCtrl.requireMatch"          md-max-chips="{{$mdContactChipsCtrl.maxChips}}"          md-chip-append-delay="{{$mdContactChipsCtrl.chipAppendDelay}}"          md-separator-keys="$mdContactChipsCtrl.separatorKeys"          md-autocomplete-snap>          <md-autocomplete              md-menu-class="md-contact-chips-suggestions"              md-selected-item="$mdContactChipsCtrl.selectedItem"              md-search-text="$mdContactChipsCtrl.searchText"              md-items="item in $mdContactChipsCtrl.queryContact($mdContactChipsCtrl.searchText)"              md-item-text="$mdContactChipsCtrl.itemName(item)"              md-no-cache="true"              md-min-length="$mdContactChipsCtrl.minLength"              md-autoselect              ng-attr-md-input-class="{{$mdContactChipsCtrl.inputClass}}"              ng-keydown="$mdContactChipsCtrl.inputKeydown($event)"              placeholder="{{$mdContactChipsCtrl.contacts.length === 0 ?                  $mdContactChipsCtrl.placeholder : $mdContactChipsCtrl.secondaryPlaceholder}}">            <div class="md-contact-suggestion">              <img                   ng-src="{{item[$mdContactChipsCtrl.contactImage]}}"                  alt="{{item[$mdContactChipsCtrl.contactName]}}"                  ng-if="item[$mdContactChipsCtrl.contactImage]" />              <span class="md-contact-name" md-highlight-text="$mdContactChipsCtrl.searchText"                    md-highlight-flags="{{$mdContactChipsCtrl.highlightFlags}}">                {{item[$mdContactChipsCtrl.contactName]}}              </span>              <span class="md-contact-email" >{{item[$mdContactChipsCtrl.contactEmail]}}</span>            </div>          </md-autocomplete>          <md-chip-template>            <div class="md-contact-avatar">              <img                   ng-src="{{$chip[$mdContactChipsCtrl.contactImage]}}"                  alt="{{$chip[$mdContactChipsCtrl.contactName]}}"                  ng-if="$chip[$mdContactChipsCtrl.contactImage]" />            </div>            <div class="md-contact-name">              {{$chip[$mdContactChipsCtrl.contactName]}}            </div>          </md-chip-template>      </md-chips>';function MdContactChips($mdTheming,$mdUtil){return{template:function(element,attrs){return MD_CONTACT_CHIPS_TEMPLATE},restrict:"E",controller:"MdContactChipsCtrl",controllerAs:"$mdContactChipsCtrl",bindToController:!0,compile:function(element,attr){return function(scope,element,attrs,controllers){var contactChipsController=controllers;$mdUtil.initOptionalProperties(scope,attr),$mdTheming(element),element.attr("tabindex","-1"),attrs.$observe("mdChipAppendDelay",function(newValue){contactChipsController.chipAppendDelay=newValue})}},scope:{contactQuery:"&mdContacts",placeholder:"@?",secondaryPlaceholder:"@?",contactName:"@mdContactName",contactImage:"@mdContactImage",contactEmail:"@mdContactEmail",contacts:"=ngModel",ngChange:"&?",requireMatch:"=?mdRequireMatch",minLength:"=?mdMinLength",maxChips:"=?mdMaxChips",highlightFlags:"@?mdHighlightFlags",chipAppendDelay:"@?mdChipAppendDelay",separatorKeys:"=?mdSeparatorKeys",removedMessage:"@?mdRemovedMessage",inputClass:"@?mdInputClass",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?"}}}}(),function(){MdColorsDirective.$inject=["$mdColors","$mdUtil","$log","$parse"],MdColorsService.$inject=["$mdTheming","$mdUtil","$log"];var STATIC_COLOR_EXPRESSION=/^{((\s|,)*?["'a-zA-Z-]+?\s*?:\s*?(['"])[a-zA-Z0-9-.]*(['"]))+\s*}$/,colorPalettes=null;function MdColorsService($mdTheming,$mdUtil,$log){return colorPalettes=colorPalettes||Object.keys($mdTheming.PALETTES),{applyThemeColors:function(element,colorExpression){try{colorExpression&&element.css((rgbColors={},hasColorProperty=(themeColors=colorExpression).hasOwnProperty("color"),angular.forEach(themeColors,function(value,key){var color=extractColorOptions(value),hasBackgroun
1d=key.indexOf("background")>-1;rgbColors[key]=parseColor(color),hasBackground&&!hasColorProperty&&(rgbColors.color=parseColor(color,!0))}),rgbColors))}catch(e){$log.error(e.message)}var themeColors,rgbColors,hasColorProperty},getThemeColor:function(expression){return parseColor(extractColorOptions(expression))},hasTheme:function(expression){return angular.isDefined($mdTheming.THEMES[expression.split("-")[0]])}};function parseColor(color,contrast){contrast=contrast||!1;var rgbValues=$mdTheming.PALETTES[color.palette][color.hue];return rgbValues=contrast?rgbValues.contrast:rgbValues.value,$mdUtil.supplant("rgba({0}, {1}, {2}, {3})",[rgbValues[0],rgbValues[1],rgbValues[2],rgbValues[3]||color.opacity])}function extractColorOptions(expression){var parts=expression.split("-"),theme=angular.isDefined($mdTheming.THEMES[parts[0]])?parts.splice(0,1)[0]:$mdTheming.defaultTheme();return{theme:theme,palette:function(parts,theme){var isTwoWord=parts.length>1&&-1!==colorPalettes.indexOf(parts[1]),palette=parts[0].replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();if(isTwoWord&&(palette=parts[0]+"-"+parts.splice(1,1)),-1===colorPalettes.indexOf(palette)){var scheme=$mdTheming.THEMES[theme].colors[palette];if(!scheme)throw new Error($mdUtil.supplant("mdColors: couldn't find '{palette}' in the palettes.",{palette:palette}));palette=scheme.name}return palette}(parts,theme),hue:function(parts,theme){var themeColors=$mdTheming.THEMES[theme].colors;if("hue"===parts[1]){var hueNumber=parseInt(parts.splice(2,1)[0],10);if(hueNumber<1||hueNumber>3)throw new Error($mdUtil.supplant("mdColors: 'hue-{hueNumber}' is not a valid hue, can be only 'hue-1', 'hue-2' and 'hue-3'",{hueNumber:hueNumber}));if(parts[1]="hue-"+hueNumber,!(parts[0]in themeColors))throw new Error($mdUtil.supplant("mdColors: 'hue-x' can only be used with [{availableThemes}], but was used with '{usedTheme}'",{availableThemes:Object.keys(themeColors).join(", "),usedTheme:parts[0]}));return themeColors[parts[0]].hues[parts[1]]}return parts[1]||themeColors[parts[0]in themeColors?parts[0]:"primary"].hues.default}(parts,theme),opacity:parts[2]||1}}}function MdColorsDirective($mdColors,$mdUtil,$log,$parse){return{restrict:"A",require:["^?mdTheme"],compile:function(tElem,tAttrs){var shouldWatch=function(){var rawColorExpression=tAttrs.mdColors,bindOnce=rawColorExpression.indexOf("::")>-1,isStatic=!!bindOnce||STATIC_COLOR_EXPRESSION.test(tAttrs.mdColors);tAttrs.mdColors=rawColorExpression.replace("::","");var hasWatchAttr=angular.isDefined(tAttrs.mdColorsWatch);return!bindOnce&&!isStatic&&(!hasWatchAttr||$mdUtil.parseAttributeBoolean(tAttrs.mdColorsWatch))}();return function(scope,element,attrs,ctrl){var mdThemeController=ctrl[0],lastColors={},parseColors=function(theme){"string"!=typeof theme&&(theme=""),attrs.mdColors||(attrs.mdColors="{}");var colors=$parse(attrs.mdColors)(scope);return mdThemeController&&Object.keys(colors).forEach(function(prop){var color=colors[prop];$mdColors.hasTheme(color)||(colors[prop]=(theme||mdThemeController.$mdTheme)+"-"+color)}),cleanElement(colors),colors},cleanElement=function(colors){if(!angular.equals(colors,lastColors)){var keys=Object.keys(lastColors);lastColors.background&&!keys.color&&keys.push("color"),keys.forEach(function(key){element.css(key,"")})}lastColors=colors},unregisterChanges=angular.noop;mdThemeController&&(unregisterChanges=mdThemeController.registerChanges(function(theme){$mdColors.applyThemeColors(element,parseColors(theme))})),scope.$on("$destroy",function(){unregisterChanges()});try{shouldWatch?scope.$watch(parseColors,angular.bind(this,$mdColors.applyThemeColors,element),!0):$mdColors.applyThemeColors(element,parseColors())}catch(e){$log.error(e.message)}}}}}angular.module("material.components.colors",["material.core"]).directive("mdColors",MdColorsDirective).service("$mdColors",MdColorsService)}(),function(){function mdContentDirective($mdTheming){return{restrict:"E",controller:["$scope","$element",function($scope,$element){this.$scope=$scope,this.$element=$element}],link:function(scope,element){var node;element.addClass("_md"),$mdTheming(element),scope.$broadcast("$mdContentLoaded",element),node=element[0],angular.element(node).on("$md.pressdown",function(ev){"t"===ev.pointer.type&&(ev.$materialScrollFixed||(ev.$materialScrollFixed=!0,0===node.scrollTop?node.scrollTop=1:node.scrollHeight===node.scrollTop+node.offsetHeight&&(node.scrollTop-=1)))})}}}mdContentDirective.$inject=["$mdTheming"],angular.module("material.components.c
1ontent",["material.core"]).directive("mdContent",mdContentDirective)}(),angular.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]),function(){function calendarDirective(inputDirective){return{template:function(tElement,tAttr){return'<div ng-switch="calendarCtrl.currentView" '+(tAttr.hasOwnProperty("ngIf")?"":'ng-if="calendarCtrl.isInitialized"')+'><md-calendar-year ng-switch-when="year"></md-calendar-year><md-calendar-month ng-switch-default></md-calendar-month></div>'},scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter",monthFilter:"=mdMonthFilter",_mode:"@mdMode",_currentView:"@mdCurrentView"},require:["ngModel","mdCalendar"],controller:CalendarCtrl,controllerAs:"calendarCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var ngModelCtrl=controllers[0];controllers[1].configureNgModel(ngModelCtrl,inputDirective)}}}CalendarCtrl.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale","$filter","$document"],calendarDirective.$inject=["inputDirective"],angular.module("material.components.datepicker").directive("mdCalendar",calendarDirective);var FALLBACK_WIDTH=340,nextUniqueId=0,MODE_MAP={day:"month",month:"year"};function CalendarCtrl($element,$scope,$$mdDateUtil,$mdUtil,$mdConstant,$mdTheming,$$rAF,$attrs,$mdDateLocale,$filter,$document){$mdTheming($element),this.$element=$element,this.$scope=$scope,this.$attrs=$attrs,this.dateUtil=$$mdDateUtil,this.$mdUtil=$mdUtil,this.keyCode=$mdConstant.KEY_CODE,this.$$rAF=$$rAF,this.$mdDateLocale=$mdDateLocale,this.ngDateFilter=$filter("date"),this.today=this.dateUtil.createDateAtMidnight(),this.ngModelCtrl=undefined,this.SELECTED_DATE_CLASS="md-calendar-selected-date",this.TODAY_CLASS="md-calendar-date-today",this.FOCUSED_DATE_CLASS="md-focus",this.id=nextUniqueId++,this.displayDate=null,this.mode=null,this.selectedDate=null,this.firstRenderableDate=null,this.lastRenderableDate=null,this.isInitialized=!1,this.width=0,this.scrollbarWidth=0,this.standaloneMode=!1,$attrs.tabindex||$element.attr("tabindex","-1");var handleKeyElement,boundKeyHandler=angular.bind(this,this.handleKeyEvent);$element.parent().hasClass("md-datepicker-calendar")?handleKeyElement=angular.element($document[0].body):(this.standaloneMode=!0,handleKeyElement=$element),handleKeyElement.on("keydown",boundKeyHandler),$scope.$on("$destroy",function(){handleKeyElement.off("keydown",boundKeyHandler)}),1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}CalendarCtrl.prototype.$onInit=function(){this._mode&&MODE_MAP.hasOwnProperty(this._mode)?(this.currentView=MODE_MAP[this._mode],this.mode=this._mode):(this.currentView=this._currentView||"month",this.mode=null),this.minDate&&this.minDate>this.$mdDateLocale.firstRenderableDate?this.firstRenderableDate=this.minDate:this.firstRenderableDate=this.$mdDateLocale.firstRenderableDate,this.maxDate&&this.maxDate<this.$mdDateLocale.lastRenderableDate?this.lastRenderableDate=this.maxDate:this.lastRenderableDate=this.$mdDateLocale.lastRenderableDate},CalendarCtrl.prototype.configureNgModel=function(ngModelCtrl,inputDirective){var self=this;self.ngModelCtrl=ngModelCtrl,this.$attrs.$set("type","date"),inputDirective[0].link.pre(this.$scope,{on:angular.noop,val:angular.noop,0:{}},this.$attrs,[ngModelCtrl]),ngModelCtrl.$render=function(){var convertedDate,value=this.$viewValue;self.dateUtil.isValidDate(value)||(convertedDate=self.dateUtil.removeLocalTzAndReparseDate(new Date(value)),self.dateUtil.isValidDate(convertedDate)&&(value=convertedDate)),self.$scope.$broadcast("md-calendar-parent-changed",value),self.selectedDate||(self.selectedDate=value),self.displayDate||(self.displayDate=self.selectedDate||self.today)},self.$mdUtil.nextTick(function(){self.isInitialized=!0})},CalendarCtrl.prototype.setNgModelValue=function(date){var timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone"),value=this.dateUtil.createDateAtMidnight(date);return this.focusDate(value),this.$scope.$emit("md-calendar-change",value),null==timezone||value.getTimezoneOffset()<0?this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd"),"default"):this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd",timezone),"default"),this.ngModelCtrl.$render(),value},CalendarCtrl.prototype.setCurrentView=function(newView,time){var self=this;self.$mdUtil.nextTick(function(){self.currentView=newView,time&&(self.displayDate=angular.isDate(time)?time:new Date(time))})}
vendor: 4,789 bytes, line 1
1,CalendarCtrl.prototype.focusDate=function(date){if(this.dateUtil.isValidDate(date)){var previousFocus=this.$element[0].querySelector("."+this.FOCUSED_DATE_CLASS);previousFocus&&previousFocus.classList.remove(this.FOCUSED_DATE_CLASS);var cellId=this.getDateId(date,this.currentView),cell=document.getElementById(cellId);cell&&(cell.classList.add(this.FOCUSED_DATE_CLASS),cell.focus(),this.displayDate=date)}else{var rootElement=this.$element[0].querySelector("[ng-switch]");rootElement&&rootElement.focus()}},CalendarCtrl.prototype.changeSelectedDate=function(date){var selectedDateClass=this.SELECTED_DATE_CLASS,prevDateCell=this.$element[0].querySelector("."+selectedDateClass);if(prevDateCell&&(prevDateCell.classList.remove(selectedDateClass),prevDateCell.setAttribute("aria-selected","false")),date){var dateCell=document.getElementById(this.getDateId(date,this.currentView));dateCell&&(dateCell.classList.add(selectedDateClass),dateCell.setAttribute("aria-selected","true"))}this.selectedDate=date},CalendarCtrl.prototype.getActionFromKeyEvent=function(event){var keyCode=this.keyCode;switch(event.which){case keyCode.ENTER:return"select";case keyCode.RIGHT_ARROW:return"move-right";case keyCode.LEFT_ARROW:return"move-left";case keyCode.DOWN_ARROW:return event.metaKey?"move-page-down":"move-row-down";case keyCode.UP_ARROW:return event.metaKey?"move-page-up":"move-row-up";case keyCode.PAGE_DOWN:return"move-page-down";case keyCode.PAGE_UP:return"move-page-up";case keyCode.HOME:return"start";case keyCode.END:return"end";default:return null}},CalendarCtrl.prototype.handleKeyEvent=function(event){var self=this;this.$scope.$apply(function(){if(event.which===self.keyCode.ESCAPE||event.which===self.keyCode.TAB&&!self.standaloneMode)return self.$scope.$emit("md-calendar-close"),void(event.which===self.keyCode.TAB&&event.preventDefault());if(event.which!==self.keyCode.TAB||!self.standaloneMode){var action=self.getActionFromKeyEvent(event);action&&(event.preventDefault(),event.stopPropagation(),self.$scope.$broadcast("md-calendar-parent-action",action))}})},CalendarCtrl.prototype.hideVerticalScrollbar=function(childCtrl){var self=this,element=childCtrl.$element[0],scrollMask=element.querySelector(".md-calendar-scroll-mask");function setWidth(){var width=self.width||FALLBACK_WIDTH,scrollbarWidth=self.scrollbarWidth,scroller=childCtrl.calendarScroller;scrollMask.style.width=width+"px",scroller.style.width=width+scrollbarWidth+"px",scroller.style.paddingRight=scrollbarWidth+"px"}self.width>0?setWidth():self.$$rAF(function(){var scroller=childCtrl.calendarScroller;self.scrollbarWidth=scroller.offsetWidth-scroller.clientWidth,self.width=element.querySelector("table").offsetWidth,setWidth()})},CalendarCtrl.prototype.getDateId=function(date,namespace){if(!namespace)throw new Error("A namespace for the date id has to be specified.");return["md",this.id,namespace,date.getFullYear(),date.getMonth(),date.getDate()].join("-")},CalendarCtrl.prototype.updateVirtualRepeat=function(){var scope=this.$scope,virtualRepeatResizeListener=scope.$on("$md-resize-enable",function(){scope.$$phase||scope.$apply(),virtualRepeatResizeListener()})}}(),function(){CalendarMonthCtrl.$inject=["$element","$scope","$animate","$q","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarMonth",function(){return{template:'<table aria-hidden="true" class="md-calendar-day-header"><thead></thead></table><div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container" md-offset-size="'+(TBODY_SINGLE_ROW_HEIGHT-TBODY_HEIGHT)+'"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody md-calendar-month-body role="rowgroup" md-virtual-repeat="i in monthCtrl.items" md-month-offset="$index" class="md-calendar-month" md-start-index="monthCtrl.getSelectedMonthIndex()" md-item-size="'+TBODY_HEIGHT+'"><tr aria-hidden="true" md-force-height="\''+TBODY_HEIGHT+"px'\"></tr></tbody></table></md-virtual-repeat-container></div>",require:["^^mdCalendar","mdCalendarMonth"],controller:CalendarMonthCtrl,controllerAs:"monthCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],monthCtrl=controllers[1];monthCtrl.initialize(calendarCtrl)}}});var TBODY_HEIGHT=265,TBODY_SINGLE_ROW_HEIGHT=45;function CalendarMonthCtrl($element,$scope,$animate,$q,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.$scope=$scope,this.$animate=$animate,this.$q=$q,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.calendarScroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.isInitialized=!1,this.isMonthTransitionInProgress=!1;var self=this;this.cellClickHandler=function(){var timestamp=$$mdDateUtil.getTimestampFromNode(this);
vendor: 4,533 bytes, line 1
1self.$scope.$apply(function(){self.calendarCtrl.setNgModelValue(new Date(timestamp))})},this.headerClickHandler=function(){self.calendarCtrl.setCurrentView("year",$$mdDateUtil.getTimestampFromNode(this))}}CalendarMonthCtrl.prototype.initialize=function(calendarCtrl){this.items={length:this.dateUtil.getMonthDistance(calendarCtrl.firstRenderableDate,calendarCtrl.lastRenderableDate)+2},this.calendarCtrl=calendarCtrl,this.attachScopeListeners(),calendarCtrl.updateVirtualRepeat(),calendarCtrl.ngModelCtrl&&calendarCtrl.ngModelCtrl.$render()},CalendarMonthCtrl.prototype.getSelectedMonthIndex=function(){var calendarCtrl=this.calendarCtrl;return this.dateUtil.getMonthDistance(calendarCtrl.firstRenderableDate,calendarCtrl.displayDate||calendarCtrl.selectedDate||calendarCtrl.today)},CalendarMonthCtrl.prototype.changeDisplayDate=function(date){if(!this.isInitialized)return this.buildWeekHeader(),this.calendarCtrl.hideVerticalScrollbar(this),this.isInitialized=!0,this.$q.when();if(!this.dateUtil.isValidDate(date)||this.isMonthTransitionInProgress)return this.$q.when();this.isMonthTransitionInProgress=!0;var animationPromise=this.animateDateChange(date);this.calendarCtrl.displayDate=date;var self=this;return animationPromise.then(function(){self.isMonthTransitionInProgress=!1}),animationPromise},CalendarMonthCtrl.prototype.animateDateChange=function(date){if(this.dateUtil.isValidDate(date)){var monthDistance=this.dateUtil.getMonthDistance(this.calendarCtrl.firstRenderableDate,date);this.calendarScroller.scrollTop=monthDistance*TBODY_HEIGHT}return this.$q.when()},CalendarMonthCtrl.prototype.buildWeekHeader=function(){for(var firstDayOfWeek=this.dateLocale.firstDayOfWeek,shortDays=this.dateLocale.shortDays,row=document.createElement("tr"),i=0;i<7;i++){var th=document.createElement("th");th.textContent=shortDays[(i+firstDayOfWeek)%7],row.appendChild(th)}this.$element.find("thead").append(row)},CalendarMonthCtrl.prototype.attachScopeListeners=function(){var self=this;self.$scope.$on("md-calendar-parent-changed",function(event,value){self.calendarCtrl.changeSelectedDate(value),self.changeDisplayDate(value)}),self.$scope.$on("md-calendar-parent-action",angular.bind(this,this.handleKeyEvent))},CalendarMonthCtrl.prototype.handleKeyEvent=function(event,action){var calendarCtrl=this.calendarCtrl,displayDate=calendarCtrl.displayDate;if("select"===action)calendarCtrl.setNgModelValue(displayDate);else{var date=null,dateUtil=this.dateUtil;switch(action){case"move-right":date=dateUtil.incrementDays(displayDate,1);break;case"move-left":date=dateUtil.incrementDays(displayDate,-1);break;case"move-page-down":date=dateUtil.incrementMonths(displayDate,1);break;case"move-page-up":date=dateUtil.incrementMonths(displayDate,-1);break;case"move-row-down":date=dateUtil.incrementDays(displayDate,7);break;case"move-row-up":date=dateUtil.incrementDays(displayDate,-7);break;case"start":date=dateUtil.getFirstDateOfMonth(displayDate);break;case"end":date=dateUtil.getLastDateOfMonth(displayDate)}date&&(date=this.dateUtil.clampDate(date,calendarCtrl.minDate,calendarCtrl.maxDate),this.changeDisplayDate(date).then(function(){calendarCtrl.focusDate(date)}))}}}(),function(){function mdCalendarMonthBodyDirective($compile,$$mdSvgRegistry){var ARROW_ICON=$compile('<md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon>')({})[0];return{require:["^^mdCalendar","^^mdCalendarMonth","mdCalendarMonthBody"],scope:{offset:"=mdMonthOffset"},controller:CalendarMonthBodyCtrl,controllerAs:"mdMonthBodyCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],monthCtrl=controllers[1],monthBodyCtrl=controllers[2];monthBodyCtrl.calendarCtrl=calendarCtrl,monthBodyCtrl.monthCtrl=monthCtrl,monthBodyCtrl.arrowIcon=ARROW_ICON.cloneNode(!0),scope.$watch(function(){return monthBodyCtrl.offset},function(offset){angular.isNumber(offset)&&monthBodyCtrl.generateContent()})}}}function CalendarMonthBodyCtrl($element,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.monthCtrl=null,this.calendarCtrl=null,this.offset=null,this.focusAfterAppend=null}mdCalendarMonthBodyDirective.$inject=["$compile","$$mdSvgRegistry"],CalendarMonthBodyCtrl.$inject=["$element","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarMonthBody",mdCalendarMonthBodyDirective),CalendarMonthBodyCtrl.prototype.generateContent=function(){var date=this.dateUtil.incrementMonths(this.calendarCtrl.firstRen
vendor: 8,640 bytes, line 1
1derableDate,this.offset);this.$element.empty().append(this.buildCalendarForMonth(date)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(this.calendarCtrl.FOCUSED_DATE_CLASS),this.focusAfterAppend=null)},CalendarMonthBodyCtrl.prototype.buildDateCell=function(opt_date){var monthCtrl=this.monthCtrl,calendarCtrl=this.calendarCtrl,cell=document.createElement("td");if(cell.tabIndex=-1,cell.classList.add("md-calendar-date"),cell.setAttribute("role","gridcell"),opt_date){cell.setAttribute("tabindex","-1"),cell.setAttribute("aria-label",this.dateLocale.longDateFormatter(opt_date)),cell.id=calendarCtrl.getDateId(opt_date,"month"),cell.setAttribute("data-timestamp",opt_date.getTime()),this.dateUtil.isSameDay(opt_date,calendarCtrl.today)&&cell.classList.add(calendarCtrl.TODAY_CLASS),this.dateUtil.isValidDate(calendarCtrl.selectedDate)&&this.dateUtil.isSameDay(opt_date,calendarCtrl.selectedDate)&&(cell.classList.add(calendarCtrl.SELECTED_DATE_CLASS),cell.setAttribute("aria-selected","true"));var cellText=this.dateLocale.dates[opt_date.getDate()];if(this.isDateEnabled(opt_date)){var selectionIndicator=document.createElement("span");selectionIndicator.classList.add("md-calendar-date-selection-indicator"),selectionIndicator.textContent=cellText,cell.appendChild(selectionIndicator),cell.addEventListener("click",monthCtrl.cellClickHandler),calendarCtrl.displayDate&&this.dateUtil.isSameDay(opt_date,calendarCtrl.displayDate)&&(this.focusAfterAppend=cell)}else cell.classList.add("md-calendar-date-disabled"),cell.textContent=cellText}return cell},CalendarMonthBodyCtrl.prototype.isDateEnabled=function(opt_date){return this.dateUtil.isDateWithinRange(opt_date,this.calendarCtrl.minDate,this.calendarCtrl.maxDate)&&(!angular.isFunction(this.calendarCtrl.dateFilter)||this.calendarCtrl.dateFilter(opt_date))},CalendarMonthBodyCtrl.prototype.buildDateRow=function(rowNumber){var row=document.createElement("tr");return row.setAttribute("role","row"),row.setAttribute("aria-label",this.dateLocale.weekNumberFormatter(rowNumber)),row},CalendarMonthBodyCtrl.prototype.buildCalendarForMonth=function(opt_dateInMonth){var date=this.dateUtil.isValidDate(opt_dateInMonth)?opt_dateInMonth:new Date,firstDayOfMonth=this.dateUtil.getFirstDateOfMonth(date),firstDayOfTheWeek=this.getLocaleDay_(firstDayOfMonth),numberOfDaysInMonth=this.dateUtil.getNumberOfDaysInMonth(date),monthBody=document.createDocumentFragment(),rowNumber=1,row=this.buildDateRow(rowNumber);monthBody.appendChild(row);var isFinalMonth=this.offset===this.monthCtrl.items.length-1,blankCellOffset=0,monthLabelCell=document.createElement("td"),monthLabelCellContent=document.createElement("span"),calendarCtrl=this.calendarCtrl;if(monthLabelCellContent.textContent=this.dateLocale.monthHeaderFormatter(date),monthLabelCell.appendChild(monthLabelCellContent),monthLabelCell.classList.add("md-calendar-month-label"),calendarCtrl.maxDate&&firstDayOfMonth>calendarCtrl.maxDate?monthLabelCell.classList.add("md-calendar-month-label-disabled"):calendarCtrl.mode||(monthLabelCell.addEventListener("click",this.monthCtrl.headerClickHandler),monthLabelCell.setAttribute("data-timestamp",firstDayOfMonth.getTime()),monthLabelCell.setAttribute("aria-label",this.dateLocale.monthFormatter(date)),monthLabelCell.classList.add("md-calendar-label-clickable"),monthLabelCell.appendChild(this.arrowIcon.cloneNode(!0))),firstDayOfTheWeek<=2){monthLabelCell.setAttribute("colspan","7");var monthLabelRow=this.buildDateRow();if(monthLabelRow.appendChild(monthLabelCell),monthBody.insertBefore(monthLabelRow,row),isFinalMonth)return monthBody}else blankCellOffset=3,monthLabelCell.setAttribute("colspan","3"),row.appendChild(monthLabelCell);for(var i=blankCellOffset;i<firstDayOfTheWeek;i++)row.appendChild(this.buildDateCell());for(var dayOfWeek=firstDayOfTheWeek,iterationDate=firstDayOfMonth,d=1;d<=numberOfDaysInMonth;d++){if(7===dayOfWeek){if(isFinalMonth)return monthBody;dayOfWeek=0,rowNumber++,row=this.buildDateRow(rowNumber),monthBody.appendChild(row)}iterationDate.setDate(d);var cell=this.buildDateCell(iterationDate);row.appendChild(cell),dayOfWeek++}for(;row.childNodes.length<7;)row.appendChild(this.buildDateCell());for(;monthBody.childNodes.length<6;){for(var whitespaceRow=this.buildDateRow(),j=0;j<7;j++)whitespaceRow.appendChild(this.buildDateCell());monthBody.appendChild(whitespaceRow)}return monthBody},CalendarMonthBodyCtrl.prototype.getLocaleDay_=function(date){return(date.getDay()+(7-this.dateLocale.firstDayOfWeek))%7}}(),function(){CalendarYearCtrl.$inject=["$element","$scope","$animate","$q","$$mdDateUtil","$mdUtil"],angular.module("material.components.datepicker").directive("mdCalendarYear",function(){return{template:'<div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody md-calendar-year-body role="rowgroup" md-virtual-repeat="i in yearCtrl.items" md-year-offset="$index" class="md-calendar-year" md-start-index="yearCtrl.getFocusedYearIndex()" md-item-size="'+TBODY_HEIGHT+'"><tr aria-hidden="true" md-force-height="\''+TBODY_HEIGHT+"px'\"></tr></tbody></table></md-virtual-repeat-container></div>",require:["^^mdCalendar","mdCalendarYear"],controller:CalendarYearCtrl,controllerAs:"yearCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],yearCtrl=controllers[1];yearCtrl.initialize(calendarCtrl)}}});var TBODY_HEIGHT=88;function CalendarYearCtrl($element,$scope,$animate,$q,$$mdDateUtil,$mdUtil){this.$element=$element,this.$scope=$scope,this.$animate=$animate,this.$q=$q,this.dateUtil=$$mdDateUtil,this.calendarScroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.isInitialized=!1,this.isMonthTransitionInProgress=!1,this.$mdUtil=$mdUtil;var self=this;this.cellClickHandler=function(){self.onTimestampSelected($$mdDateUtil.getTimestampFromNode(this))}}CalendarYearCtrl.prototype.initialize=function(calendarCtrl){this.items={length:this.dateUtil.getYearDistance(calendarCtrl.firstRenderableDate,calendarCtrl.lastRenderableDate)+1},this.calendarCtrl=calendarCtrl,this.attachScopeListeners(),calendarCtrl.updateVirtualRepeat(),calendarCtrl.ngModelCtrl&&calendarCtrl.ngModelCtrl.$render()},CalendarYearCtrl.prototype.getFocusedYearIndex=function(){var calendarCtrl=this.calendarCtrl;return this.dateUtil.getYearDistance(calendarCtrl.firstRenderableDate,calendarCtrl.displayDate||calendarCtrl.selectedDate||calendarCtrl.today)},CalendarYearCtrl.prototype.changeDate=function(date){if(!this.isInitialized)return this.calendarCtrl.hideVerticalScrollbar(this),this.isInitialized=!0,this.$q.when();if(this.dateUtil.isValidDate(date)&&!this.isMonthTransitionInProgress){var self=this,animationPromise=this.animateDateChange(date);return self.isMonthTransitionInProgress=!0,self.calendarCtrl.displayDate=date,animationPromise.then(function(){self.isMonthTransitionInProgress=!1})}},CalendarYearCtrl.prototype.animateDateChange=function(date){if(this.dateUtil.isValidDate(date)){var monthDistance=this.dateUtil.getYearDistance(this.calendarCtrl.firstRenderableDate,date);this.calendarScroller.scrollTop=monthDistance*TBODY_HEIGHT}return this.$q.when()},CalendarYearCtrl.prototype.handleKeyEvent=function(event,action){var self=this,calendarCtrl=self.calendarCtrl,displayDate=calendarCtrl.displayDate;if("select"===action)self.changeDate(displayDate).then(function(){self.onTimestampSelected(displayDate)});else{var date=null,dateUtil=self.dateUtil;switch(action){case"move-right":date=dateUtil.incrementMonths(displayDate,1);break;case"move-left":date=dateUtil.incrementMonths(displayDate,-1);break;case"move-row-down":date=dateUtil.incrementMonths(displayDate,6);break;case"move-row-up":date=dateUtil.incrementMonths(displayDate,-6)}if(date){var min=calendarCtrl.minDate?dateUtil.getFirstDateOfMonth(calendarCtrl.minDate):null,max=calendarCtrl.maxDate?dateUtil.getFirstDateOfMonth(calendarCtrl.maxDate):null;date=dateUtil.getFirstDateOfMonth(self.dateUtil.clampDate(date,min,max)),self.changeDate(date).then(function(){calendarCtrl.focusDate(date)})}}},CalendarYearCtrl.prototype.attachScopeListeners=function(){var self=this;self.$scope.$on("md-calendar-parent-changed",function(event,value){self.calendarCtrl.changeSelectedDate(value?self.dateUtil.getFirstDateOfMonth(value):value),self.changeDate(value)}),self.$scope.$on("md-calendar-parent-action",angular.bind(self,self.handleKeyEvent))},CalendarYearCtrl.prototype.onTimestampSelected=function(timestamp){var calendarCtrl=this.calendarCtrl;calendarCtrl.mode?this.$mdUtil.nextTick(function(){calendarCtrl.
vendor: 5,263 bytes, line 1
1setNgModelValue(new Date(timestamp))}):calendarCtrl.setCurrentView("month",timestamp)}}(),function(){function CalendarYearBodyCtrl($element,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.calendarCtrl=null,this.yearCtrl=null,this.offset=null,this.focusAfterAppend=null}CalendarYearBodyCtrl.$inject=["$element","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarYearBody",function(){return{require:["^^mdCalendar","^^mdCalendarYear","mdCalendarYearBody"],scope:{offset:"=mdYearOffset"},controller:CalendarYearBodyCtrl,controllerAs:"mdYearBodyCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],yearCtrl=controllers[1],yearBodyCtrl=controllers[2];yearBodyCtrl.calendarCtrl=calendarCtrl,yearBodyCtrl.yearCtrl=yearCtrl,scope.$watch(function(){return yearBodyCtrl.offset},function(offset){angular.isNumber(offset)&&yearBodyCtrl.generateContent()})}}}),CalendarYearBodyCtrl.prototype.generateContent=function(){var date=this.dateUtil.incrementYears(this.calendarCtrl.firstRenderableDate,this.offset);this.$element.empty().append(this.buildCalendarForYear(date)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(this.calendarCtrl.FOCUSED_DATE_CLASS),this.focusAfterAppend=null)},CalendarYearBodyCtrl.prototype.buildMonthCell=function(year,month){var calendarCtrl=this.calendarCtrl,yearCtrl=this.yearCtrl,cell=this.buildBlankCell(),firstOfMonth=new Date(year,month,1);cell.setAttribute("aria-label",this.dateLocale.monthFormatter(firstOfMonth)),cell.id=calendarCtrl.getDateId(firstOfMonth,"year"),cell.setAttribute("data-timestamp",String(firstOfMonth.getTime())),this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.today)&&cell.classList.add(calendarCtrl.TODAY_CLASS),this.dateUtil.isValidDate(calendarCtrl.selectedDate)&&this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.selectedDate)&&(cell.classList.add(calendarCtrl.SELECTED_DATE_CLASS),cell.setAttribute("aria-selected","true"));var cellText=this.dateLocale.shortMonths[month];if(!this.dateUtil.isMonthWithinRange(firstOfMonth,calendarCtrl.minDate,calendarCtrl.maxDate)||angular.isFunction(calendarCtrl.monthFilter)&&!calendarCtrl.monthFilter(firstOfMonth))cell.classList.add("md-calendar-date-disabled"),cell.textContent=cellText;else{var selectionIndicator=document.createElement("span");selectionIndicator.classList.add("md-calendar-date-selection-indicator"),selectionIndicator.textContent=cellText,cell.appendChild(selectionIndicator),cell.addEventListener("click",yearCtrl.cellClickHandler),calendarCtrl.displayDate&&this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.displayDate)&&(this.focusAfterAppend=cell)}return cell},CalendarYearBodyCtrl.prototype.buildBlankCell=function(){var cell=document.createElement("td");return cell.tabIndex=-1,cell.classList.add("md-calendar-date"),cell.setAttribute("role","gridcell"),cell.setAttribute("tabindex","-1"),cell},CalendarYearBodyCtrl.prototype.buildCalendarForYear=function(date){var i,year=date.getFullYear(),yearBody=document.createDocumentFragment(),firstRow=document.createElement("tr"),labelCell=document.createElement("td");for(labelCell.className="md-calendar-month-label",labelCell.textContent=String(year),firstRow.appendChild(labelCell),i=0;i<6;i++)firstRow.appendChild(this.buildMonthCell(year,i));yearBody.appendChild(firstRow);var secondRow=document.createElement("tr");for(secondRow.appendChild(this.buildBlankCell()),i=6;i<12;i++)secondRow.appendChild(this.buildMonthCell(year,i));return yearBody.appendChild(secondRow),yearBody}}(),angular.module("material.components.datepicker").config(["$provide",function($provide){function DateLocaleProvider(){this.months=null,this.shortMonths=null,this.days=null,this.shortDays=null,this.dates=null,this.firstDayOfWeek=0,this.formatDate=null,this.parseDate=null,this.monthHeaderFormatter=null,this.weekNumberFormatter=null,this.longDateFormatter=null,this.isDateComplete=null,this.msgCalendar="",this.msgOpenCalendar=""}DateLocaleProvider.prototype.$get=function($locale,$filter){for(var defaultShortDays=$locale.DATETIME_FORMATS.SHORTDAY.map(function(day){return day.substring(0,1)}),defaultDates=Array(32),i=1;i<=31;i++)defaultDates[i]=i;var defaultFirstRenderableDate=new Date(1880,0,1),defaultLastRendereableDate=new Date(defaultFirstRenderableDate.getFullYear()+250,0,1),service={months:this.months||$locale.DATETIME_FORMATS.MONTH,shortMonths:this.shortMonths||$locale.DATETIME_FORMATS.SHORTMONTH,days:this.days||$locale.DATETIME_FORMATS.DAY,shortDays:this.shortDays||defaultShortDays,dates:this.dates||defaultDates,firstDayOfWeek:this.firstDayOfWeek||0,formatDate:this.formatDate||function(date,timezone){if(!date)return"";var localeTime=date.toLocaleTimeString(),formatDate=date;return 0!==date.getHours()||-1===localeTime.indexOf("11:")&&-1===localeTime.indexOf("23:")||(formatDate=new Date(date.getFullYear(),date.getMonth(),date.getDate(),1,0,0)),$filter("date")(formatDate,"M/d/yyyy",timezone)},parseDate:this.parseDate||function(dateString){return new Date(dateString)},isDateComplete:this.isDateComplete||function(dateString){return dateString=dateString.trim(),/^(([a-zA-Z]{3,}|[0-9]{1,4}
vendor: 24,164 bytes, line 1
1)([ .,]+|[/-])){2}([a-zA-Z]{3,}|[0-9]{1,4})$/.test(dateString)},monthHeaderFormatter:this.monthHeaderFormatter||function(date){return service.shortMonths[date.getMonth()]+" "+date.getFullYear()},monthFormatter:this.monthFormatter||function(date){return service.months[date.getMonth()]+" "+date.getFullYear()},weekNumberFormatter:this.weekNumberFormatter||function(number){return"Week "+number},longDateFormatter:this.longDateFormatter||function(date){return[service.days[date.getDay()],service.months[date.getMonth()],service.dates[date.getDate()],date.getFullYear()].join(" ")},msgCalendar:this.msgCalendar||"Calendar",msgOpenCalendar:this.msgOpenCalendar||"Open calendar",firstRenderableDate:this.firstRenderableDate||defaultFirstRenderableDate,lastRenderableDate:this.lastRenderableDate||defaultLastRendereableDate};return service},DateLocaleProvider.prototype.$get.$inject=["$locale","$filter"],$provide.provider("$mdDateLocale",new DateLocaleProvider)}]),angular.module("material.components.datepicker").factory("$$mdDateUtil",["$mdDateLocale",function($mdDateLocale){return{getFirstDateOfMonth:getFirstDateOfMonth,getNumberOfDaysInMonth:getNumberOfDaysInMonth,getDateInNextMonth:getDateInNextMonth,getDateInPreviousMonth:getDateInPreviousMonth,isInNextMonth:function(startDate,endDate){return isSameMonthAndYear(getDateInNextMonth(startDate),endDate)},isInPreviousMonth:function(startDate,endDate){var previousMonth=getDateInPreviousMonth(startDate);return isSameMonthAndYear(endDate,previousMonth)},getDateMidpoint:function(d1,d2){return createDateAtMidnight((d1.getTime()+d2.getTime())/2)},isSameMonthAndYear:isSameMonthAndYear,getWeekOfMonth:function(date){var firstDayOfMonth=getFirstDateOfMonth(date);return Math.floor((firstDayOfMonth.getDay()+date.getDate()-1)/7)},incrementDays:function(date,numberOfDays){return new Date(date.getFullYear(),date.getMonth(),date.getDate()+numberOfDays)},incrementMonths:incrementMonths,getLastDateOfMonth:function(date){return new Date(date.getFullYear(),date.getMonth(),getNumberOfDaysInMonth(date))},isSameDay:function(d1,d2){return d1.getDate()==d2.getDate()&&isSameMonthAndYear(d1,d2)},getMonthDistance:function(start,end){return 12*(end.getFullYear()-start.getFullYear())+(end.getMonth()-start.getMonth())},isValidDate:isValidDate,setDateTimeToMidnight:setDateTimeToMidnight,createDateAtMidnight:createDateAtMidnight,isDateWithinRange:function(date,minDate,maxDate){var dateAtMidnight=createDateAtMidnight(date),minDateAtMidnight=isValidDate(minDate)?createDateAtMidnight(minDate):null,maxDateAtMidnight=isValidDate(maxDate)?createDateAtMidnight(maxDate):null;return(!minDateAtMidnight||minDateAtMidnight<=dateAtMidnight)&&(!maxDateAtMidnight||maxDateAtMidnight>=dateAtMidnight)},incrementYears:function(date,numberOfYears){return incrementMonths(date,12*numberOfYears)},getYearDistance:function(start,end){return end.getFullYear()-start.getFullYear()},clampDate:function(date,minDate,maxDate){var boundDate=date;return minDate&&date<minDate&&(boundDate=new Date(minDate.getTime())),maxDate&&date>maxDate&&(boundDate=new Date(maxDate.getTime())),boundDate},getTimestampFromNode:function(node){if(node&&node.hasAttribute("data-timestamp"))return Number(node.getAttribute("data-timestamp"))},isMonthWithinRange:function(date,minDate,maxDate){var month=date.getMonth(),year=date.getFullYear();return(!minDate||minDate.getFullYear()<year||minDate.getMonth()<=month)&&(!maxDate||maxDate.getFullYear()>year||maxDate.getMonth()>=month)},removeLocalTzAndReparseDate:function(value){var dateValue,formattedDate;return dateValue=new Date(value.getTime()+6e4*value.getTimezoneOffset()),formattedDate=$mdDateLocale.formatDate(dateValue),$mdDateLocale.parseDate(formattedDate)}};function getFirstDateOfMonth(date){return new Date(date.getFullYear(),date.getMonth(),1)}function getNumberOfDaysInMonth(date){return new Date(date.getFullYear(),date.getMonth()+1,0).getDate()}function getDateInNextMonth(date){return new Date(date.getFullYear(),date.getMonth()+1,1)}function getDateInPreviousMonth(date){return new Date(date.getFullYear(),date.getMonth()-1,1)}function isSameMonthAndYear(d1,d2){return d1.getFullYear()===d2.getFullYear()&&d1.getMonth()===d2.getMonth()}function incrementMonths(date,numberOfMonths){var dateInTargetMonth=new Date(date.getFullYear(),date.getMonth()+numberOfMonths,1),numberOfDaysInMonth=getNumberOfDaysInMonth(dateInTargetMonth);return numberOfDaysInMonth<date.getDate()?dateInTargetMonth.setDate(numberOfDaysInMonth):dateInTargetMonth.setDate(date.getDate()),dateInTargetMonth}function isValidDate(date){return date&&date.getTime&&!isNaN(date.getTime())}function setDateTimeToMidnight(date){isValidDate(date)&&date.setHours(0,0,0,0)}function createDateAtMidnight(opt_value){var date;return setDateTimeToMidnight(date=angular.isDate(opt_value)?opt_value:angular.isNumber(opt_value)?new Date(opt_value):new Date),date}}]),function(){function datePickerDirective($$mdSvgRegistry,$mdUtil,$mdAria,inputDirective){return{template:function(tElement,tAttrs){var hiddenIcons=tAttrs.mdHideIcons,inputAriaDescribedby=tAttrs.inputAriaDescribedby,inputAriaLabelledby=tAttrs.inputAriaLabelledby,ariaLabelValue=tAttrs.ariaLabel||tAttrs.mdPlaceholder,ngModelOptions=tAttrs.ngModelOptions,calendarButton="all"===hiddenIcons||"calendar"===hiddenIcons?"":'<md-button class="md-datepicker-button md-icon-button" type="button" tabindex="-1" aria-hidden="true" ng-click="ctrl.openCalendarPane($event)"><md-icon class="md-datepicker-calendar-icon" aria-label="md-calendar" md-svg-src="'+$$mdSvgRegistry.mdCalendar+'"></md-icon></md-button>',triangleButton="";return"all"!==hiddenIcons&&"triangle"!==hiddenIcons&&(triangleButton='<md-button type="button" md-no-ink class="md-datepicker-triangle-button md-icon-button" ng-click="ctrl.openCalendarPane($event)" aria-label="{{::ctrl.locale.msgOpenCalendar}}"><div class="md-datepicker-expand-triangle"></div></md-button>',tElement.addClass(HAS_TRIANGLE_ICON_CLASS)),calendarButton+'<div class="md-datepicker-input-container" ng-class="{\'md-datepicker-focused\': ctrl.isFocused}"><input '+(ariaLabelValue?'aria-label="'+ariaLabelValue+'" ':"")+(inputAriaDescribedby?'aria-describedby="'+inputAriaDescribedby+'" ':"")+(inputAriaLabelledby?'aria-labelledby="'+inputAriaLabelledby+'" ':"")+'class="md-datepicker-input" aria-haspopup="dialog" ng-focus="ctrl.setFocused(true)" ng-blur="ctrl.setFocused(false)"> '+triangleButton+'</div><div class="md-datepicker-calendar-pane md-whiteframe-z1" id="{{::ctrl.calendarPaneId}}"><div class="md-datepicker-input-mask"><div class="md-datepicker-input-mask-opaque"></div></div><div class="md-datepicker-calendar"><md-calendar role="dialog" aria-label="{{::ctrl.locale.msgCalendar}}" md-current-view="{{::ctrl.currentView}}" md-mode="{{::ctrl.mode}}" md-min-date="ctrl.minDate" md-max-date="ctrl.maxDate" md-date-filter="ctrl.dateFilter" md-month-filter="ctrl.monthFilter" '+(ngModelOptions?'ng-model-options="'+ngModelOptions+'" ':"")+'ng-model="ctrl.date" ng-if="ctrl.isCalendarOpen"></md-calendar></div></div>'},require:["ngModel","mdDatepicker","?^mdInputContainer","?^form"],scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",placeholder:"@mdPlaceholder",currentView:"@mdCurrentView",mode:"@mdMode",dateFilter:"=mdDateFilter",monthFilter:"=mdMonthFilter",isOpen:"=?mdIsOpen",debounceInterval:"=mdDebounceInterval",dateLocale:"=mdDateLocale"},controller:DatePickerCtrl,controllerAs:"ctrl",bindToController:!0,link:function(scope,element,attr,controllers){var ngModelCtrl=controllers[0],mdDatePickerCtrl=controllers[1],mdInputContainer=controllers[2],parentForm=controllers[3],mdNoAsterisk=$mdUtil.parseAttributeBoolean(attr.mdNoAsterisk);if(mdDatePickerCtrl.configureNgModel(ngModelCtrl,mdInputContainer,inputDirective),mdInputContainer){var spacer=element[0].querySelector(".md-errors-spacer");spacer&&element.after(angular.element("<div>").append(spacer)),mdInputContainer.setHasPlaceholder(attr.mdPlaceholder),mdInputContainer.input=element,mdInputContainer.element.addClass(INPUT_CONTAINER_CLASS).toggleClass(HAS_CALENDAR_ICON_CLASS,"calendar"!==attr.mdHideIcons&&"all"!==attr.mdHideIcons),mdInputContainer.label?mdNoAsterisk||attr.$observe("required",function(value){mdInputContainer.label.toggleClass("md-required",!!value)}):$mdAria.expect(element,"aria-label",attr.mdPlaceholder),scope.$watch(mdInputContainer.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||parentForm&&parentForm.$submitted)},mdInputContainer.setInvalid)}else if(parentForm)var parentSubmittedWatcher=scope.$watch(function(){return parentForm.$submitted},function(isSubmitted){isSubmitted&&(mdDatePickerCtrl.updateErrorState(),parentSubmittedWatcher())})}}}DatePickerCtrl.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$filter","$timeout"],datePickerDirective.$inject=["$$mdSvgRegistry","$mdUtil","$mdAria","inputDirective"],angular.module("material.components.datepicker").directive("mdDatepicker",datePickerDirective);var OPEN_CLASS="md-datepicker-open",INPUT_CONTAINER_CLASS="_md-datepicker-floating-label",HAS_CALENDAR_ICON_CLASS="_md-datepicker-has-calendar-icon",HAS_TRIANGLE_ICON_CLASS="_md-datepicker-has-triangle-icon",IS_MOBILE_REGEX=/ipad|iphone|ipod|android/i;function DatePickerCtrl($scope,$element,$attrs,$window,$mdConstant,$mdTheming,$mdUtil,$mdDateLocale,$$mdDateUtil,$$rAF,$filter,$timeout){this.$window=$window,this.dateUtil=$$mdDateUtil,this.$mdConstant=$mdConstant,this.$mdUtil=$mdUtil,this.$$rAF=$$rAF,this.$mdDateLocale=$mdDateLocale,this.$timeout=$timeout,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=$element[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=$element[0].querySelector(".md-datepicker-input-container"),this.calendarPane=$element[0].querySelector(".md-datepicker-calendar-pane"),this.calendarButton=$element[0].querySelector(".md-datepicker-button"),this.inputMask=angular.element($element[0].querySelector(".md-datepicker-input-mask-opaque")),this.$element=$element,this.$attrs=$attrs,this.$scope=$scope,this.date=null,this.isFocused=!1,this.isDisabled=undefined,this.setDisabled($element[0].disabled||angular.isString($attrs.disabled)),this.isCalendarOpen=!1,this.openOnFocus=$attrs.hasOwnProperty("mdOpenOnFocus"),this.mdInputContainer=null,this.calendarPaneOpenedFrom=null,this.calendarPaneId="md-date-pane-"+$mdUtil.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=IS_MOBILE_REGEX.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=$mdUtil.debounce(angular.bind(this,this.closeCalendarPane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.ngDateFilter=$filter("date"),this.leftMargin=20,this.topMargin=null,$attrs.tabindex?(this.ngInputElement.attr("tabindex",$attrs.tabindex),$attrs.$set("tabindex",null)):$attrs.$set("tabindex","-1"),$attrs.$set("aria-owns",this.calendarPaneId),$mdTheming($element),$mdTheming(angular.element(this.calendarPane));var self=this;$scope.$on("$destroy",function(){self.detachCalendarPane()}),$attrs.mdIsOpen&&$scope.$watch("ctrl.isOpen",function(shouldBeOpen){shouldBeOpen?self.openCalendarPane({target:self.inputElement}):self.closeCalendarPane()}),1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}DatePickerCtrl.prototype.$onInit=function(){this.locale=this.dateLocale?angular.extend({},this.$mdDateLocale,this.dateLocale):this.$mdDateLocale,this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners()},DatePickerCtrl.prototype.configureNgModel=function(ngModelCtrl,mdInputContainer,inputDirective){this.ngModelCtrl=ngModelCtrl,this.mdInputContainer=mdInputContainer,this.$attrs.$set("type","date"),inputDirective[0].link.pre(this.$scope,{on:angular.noop,val:angular.noop,0:{}},this.$attrs,[ngModelCtrl]);var self=this;self.ngModelCtrl.$formatters.push(function(value){var parsedValue=angular.isDefined(value)?value:null;if(!(value instanceof Date)&&(parsedValue=Date.parse(value),!isNaN(parsedValue)&&angular.isNumber(parsedValue)&&(value=new Date(parsedValue)),value&&!(value instanceof Date)))throw Error("The ng-model for md-datepicker must be a Date instance or a value that can be parsed into a date. Currently the model is of type: "+typeof value);return self.onExternalChange(value),value}),ngModelCtrl.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState));var updateOn=self.$mdUtil.getModelOption(ngModelCtrl,"updateOn");updateOn&&this.ngInputElement.on(updateOn,angular.bind(this.$element,this.$element.triggerHandler,updateOn))},DatePickerCtrl.prototype.attachChangeListeners=function(){var self=this;self.$scope.$on("md-calendar-change",function(event,date){self.setModelValue(date),self.onExternalChange(date),self.closeCalendarPane()}),self.ngInputElement.on("input",angular.bind(self,self.resizeInputElement));var debounceInterval=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;self.ngInputElement.on("input",self.$mdUtil.debounce(self.handleInputEvent,debounceInterval,self))},DatePickerCtrl.prototype.attachInteractionListeners=function(){var self=this,$scope=this.$scope,keyCodes=this.$mdConstant.KEY_CODE;self.ngInputElement.on("keydown",function(event){event.altKey&&event.keyCode===keyCodes.DOWN_ARROW&&(self.openCalendarPane(event),$scope.$digest())}),self.openOnFocus&&(self.ngInputElement.on("focus",angular.bind(self,self.openCalendarPane)),self.ngInputElement.on("click",function(event){event.stopPropagation()}),self.ngInputElement.on("pointerdown",function(event){event.target&&event.target.setPointerCapture&&event.target.setPointerCapture(event.pointerId)}),angular.element(self.$window).on("blur",self.windowBlurHandler),$scope.$on("$destroy",function(){angular.element(self.$window).off("blur",self.windowBlurHandler)})),$scope.$on("md-calendar-close",function(){self.closeCalendarPane()})},DatePickerCtrl.prototype.installPropertyInterceptors=function(){var self=this;if(this.$attrs.ngDisabled){var scope=this.$scope.$parent;scope&&scope.$watch(this.$attrs.ngDisabled,function(isDisabled){self.setDisabled(isDisabled)})}Object.defineProperty(this,"placeholder",{get:function(){return self.inputElement.placeholder},set:function(value){self.inputElement.placeholder=value||""}})},DatePickerCtrl.prototype.setDisabled=function(isDisabled){this.isDisabled=isDisabled,this.inputElement.disabled=isDisabled,this.calendarButton&&(this.calendarButton.disabled=isDisabled)},DatePickerCtrl.prototype.updateErrorState=function(opt_date){var date;if(date=opt_date?new Date(opt_date.valueOf()):angular.isString(this.ngModelCtrl.$modelValue)?new Date(this.ngModelCtrl.$modelValue):angular.copy(this.ngModelCtrl.$modelValue),this.clearErrorState(),this.dateUtil.isValidDate(date)){if(date=this.dateUtil.createDateAtMidnight(date),this.dateUtil.isValidDate(this.minDate)){var minDate=this.dateUtil.createDateAtMidnight(this.minDate);this.ngModelCtrl.$setValidity("mindate",date>=minDate)}if(this.dateUtil.isValidDate(this.maxDate)){var maxDate=this.dateUtil.createDateAtMidnight(this.maxDate);this.ngModelCtrl.$setValidity("maxdate",date<=maxDate)}angular.isFunction(this.dateFilter)&&this.ngModelCtrl.$setValidity("filtered",this.dateFilter(date)),angular.isFunction(this.monthFilter)&&this.ngModelCtrl.$setValidity("filtered",this.monthFilter(date))}else this.ngModelCtrl.$setValidity("valid",null==date);var input=this.inputElement.value,parsedDate=this.locale.parseDate(input);!this.isInputValid(input,parsedDate)&&this.ngModelCtrl.$valid&&this.ngModelCtrl.$setValidity("valid",null==date),angular.element(this.inputContainer).toggleClass("md-datepicker-invalid",this.ngModelCtrl.$invalid&&(this.ngModelCtrl.$touched||this.ngModelCtrl.$submitted))},DatePickerCtrl.prototype.isInputValid=function(inputString,parsedDate){return""===inputString||this.dateUtil.isValidDate(parsedDate)&&this.locale.isDateComplete(inputString)&&this.isDateEnabled(parsedDate)},DatePickerCtrl.prototype.clearErrorState=function(){this.inputContainer.classList.remove("md-datepicker-invalid"),["mindate","maxdate","filtered","valid"].forEach(function(field){this.ngModelCtrl.$setValidity(field,!0)},this)},DatePickerCtrl.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},DatePickerCtrl.prototype.handleInputEvent=function(){var inputString=this.inputElement.value,parsedDate=inputString?this.locale.parseDate(inputString):null;this.dateUtil.setDateTimeToMidnight(parsedDate),this.isInputValid(inputString,parsedDate)&&(this.setModelValue(parsedDate),this.date=parsedDate),this.updateErrorState(parsedDate)},DatePickerCtrl.prototype.isDateEnabled=function(opt_date){return this.dateUtil.isDateWithinRange(opt_date,this.minDate,this.maxDate)&&(!angular.isFunction(this.dateFilter)||this.dateFilter(opt_date))&&(!angular.isFunction(this.monthFilter)||this.monthFilter(opt_date))},DatePickerCtrl.prototype.attachCalendarPane=function(){var calendarPane=this.calendarPane,body=document.body;calendarPane.style.transform="",this.$element.addClass(OPEN_CLASS),this.mdInputContainer&&this.mdInputContainer.element.addClass(OPEN_CLASS),angular.element(body).addClass("md-datepicker-is-showing");var elementRect=this.inputContainer.getBoundingClientRect(),bodyRect=body.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var paneTop=elementRect.top-bodyRect.top-this.topMargin,paneLeft=elementRect.left-bodyRect.left-this.leftMargin,viewportTop=bodyRect.top<0&&0===document.body.scrollTop?-bodyRect.top:document.body.scrollTop,viewportLeft=bodyRect.left<0&&0===document.body.scrollLeft?-bodyRect.left:document.body.scrollLeft,viewportBottom=viewportTop+this.$window.innerHeight,viewportRight=viewportLeft+this.$window.innerWidth;if(this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:elementRect.width-1+"px",height:elementRect.height-2+"px"}),paneLeft+360>viewportRight){if(viewportRight-360>0)paneLeft=viewportRight-360;else{paneLeft=viewportLeft;var scale=this.$window.innerWidth/360;calendarPane.style.transform="scale("+scale+")"}calendarPane.classList.add("md-datepicker-pos-adjusted")}paneTop+368>viewportBottom&&viewportBottom-368>viewportTop&&(paneTop=viewportBottom-368,calendarPane.classList.add("md-datepicker-pos-adjusted")),calendarPane.style.left=paneLeft+"px",calendarPane.style.top=paneTop+"px",document.body.appendChild(calendarPane),this.$$rAF(function(){calendarPane.classList.add("md-pane-open")})},DatePickerCtrl.prototype.detachCalendarPane=function(){this.$element.removeClass(OPEN_CLASS),this.mdInputContainer&&this.mdInputContainer.element.removeClass(OPEN_CLASS),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.calendarPane.classList.remove("md-pane-open"),this.calendarPane.classList.remove("md-datepicker-pos-adjusted"),this.isCalendarOpen&&this.$mdUtil.enableScrolling(),this.calendarPane.parentNode&&this.calendarPane.parentNode.removeChild(this.calendarPane)},DatePickerCtrl.prototype.openCalendarPane=function(event){if(this.isCalendarOpen||this.isDisabled||this.inputFocusedOnWindowBlur)this.inputFocusedOnWindowBlur&&this.resetInputFocused();else{this.isCalendarOpen=this.isOpen=!0,this.calendarPaneOpenedFrom=event.target,this.$mdUtil.disableScrollAround(this.calendarPane),this.attachCalendarPane(),this.focusCalendar(),this.evalAttr("ngFocus");var self=this;this.$mdUtil.nextTick(function(){self.documentElement.on("click touchstart",self.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},DatePickerCtrl.prototype.closeCalendarPane=function(){if(this.isCalendarOpen){var self=this;self.detachCalendarPane(),self.ngModelCtrl.$setTouched(),self.evalAttr("ngBlur"),self.documentElement.off("click touchstart",self.bodyClickHandler),window.removeEventListener(self.windowEventName,self.windowEventHandler),self.calendarPaneOpenedFrom.focus(),self.calendarPaneOpenedFrom=null,self.openOnFocus?self.$timeout(reset):reset()}function reset(){self.isCalendarOpen=self.isOpen=!1}},DatePickerCtrl.prototype.getCalendarCtrl=function(){return angular.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")},DatePickerCtrl.prototype.focusCalendar=function(){var self=this;this.$mdUtil.nextTick(function(){self.getCalendarCtrl().focusDate(self.date)},!1)},DatePickerCtrl.prototype.setFocused=function(isFocused){isFocused||this.ngModelCtrl.$setTouched(),this.openOnFocus||this.evalAttr(isFocused?"ngFocus":"ngBlur"),this.isFocused=isFocused},DatePickerCtrl.prototype.handleBodyClick=function(event){this.isCalendarOpen&&(this.$mdUtil.getClosest(event.target,"md-calendar")||this.closeCalendarPane(),this.$scope.$digest())},DatePickerCtrl.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},DatePickerCtrl.prototype.resetInputFocused=function(){this.inputFocusedOnWindowBlur=!1},DatePickerCtrl.prototype.evalAttr=function(attr){this.$attrs[attr]&&this.$scope.$parent.$eval(this.$attrs[attr])},DatePickerCtrl.prototype.setModelValue=function(value){var timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone");null==timezone||null==value||value.getTimezoneOffset()<0?this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd"),"default"):this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd",timezone),"default")},DatePickerCtrl.prototype.onExternalChange=function(value){var self=this,timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone");this.dateUtil.isValidDate(value)&&null!=timezone&&value.getTimezoneOffset()>=0?this.date=this.dateUtil.removeLocalTzAndReparseDate(value):this.date=value,null==timezone||null==value||value.getTimezoneOffset()<0?this.inputElement.value=this.locale.formatDate(value):this.inputElement.value=this.locale.formatDate(value,timezone),this.mdInputContainer&&this.mdInputContainer.setHasValue(!!value),this.resizeInputElement(),this.$mdUtil.nextTick(function(){self.updateErrorState()},!1,self.$scope)}}(),function(){function MdDialogDirective($$rAF,$mdTheming,$mdDialog){return{restrict:"E",link:function(scope,element){element.addClass("_md"),$mdTheming(element),$$rAF(function(){var images,content=element[0].querySelector("md-dialog-content");function addOverflowClass(){element.toggleClass("md-content-overflow",content.scrollHeight>content.clientHeight)}content&&(images=content.getElementsByTagName("img"),addOverflowClass(),angular.element(images).on("load",addOverflowClass)),scope.$on("$destroy",function(){$mdDialog.destroy(element)})})}}}function MdDialogProvider($$interimElementProvider){var topFocusTrap,bottomFocusTrap,removeFocusTrap;return MdDialogController.$inject=["$mdDialog","$mdConstant"],dialogDefaultOptions.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement","$log","$injector","$mdTheming","$interpolate","$mdInteraction"],$$interimElementProvider("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","closeTo","openFrom","parent","fullscreen","multiple"],options:dialogDefaultOptions}).addPreset("alert",{methods:["title","htmlContent","textContent","ariaLabel","ok","theme","css"],options:advancedDialogOptions}).addPreset("confirm",{methods:["title","htmlContent","textContent","ariaLabel","ok","cancel","theme","css"],options:advancedDialogOptions}).addPreset("prompt",{methods:["title","htmlContent","textContent","initialValue","placeholder","ariaLabel","ok","cancel","theme","css","required"],options:advancedDialogOptions});function advancedDialogOptions(){return{template:['<md-dialog md-theme="{{ dialog.theme || dialog.defaultTheme }}" aria-label="{{ dialog.ariaLabel }}" ng-class="dialog.css">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ dialog.title }}</h2>
1','    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ','        ng-bind-html="::dialog.mdHtmlContent"></div>','    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"      <p>{{::dialog.mdTextContent}}</p>","    </div>",'    <md-input-container md-no-float ng-if="::dialog.$type == \'prompt\'" class="md-prompt-input-container">','      <input ng-keypress="dialog.keypress($event)" md-autofocus ng-model="dialog.result"              placeholder="{{::dialog.placeholder}}" ng-required="dialog.required">',"    </md-input-container>","  </md-dialog-content>","  <md-dialog-actions>",'    <md-button ng-if="dialog.$type === \'confirm\' || dialog.$type === \'prompt\'"               ng-click="dialog.abort()" class="md-primary md-cancel-button">',"      {{ dialog.cancel }}","    </md-button>",'    <md-button ng-click="dialog.hide()" class="md-primary md-confirm-button" md-autofocus="dialog.$type===\'alert\'"               ng-disabled="dialog.required && !dialog.result">',"      {{ dialog.ok }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:MdDialogController,controllerAs:"dialog",bindToController:!0}}function MdDialogController($mdDialog,$mdConstant){this.$onInit=function(){var isPrompt="prompt"===this.$type;isPrompt&&this.initialValue&&(this.result=this.initialValue),this.hide=function(){$mdDialog.hide(!isPrompt||this.result)},this.abort=function(){$mdDialog.cancel()},this.keypress=function($event){var invalidPrompt=isPrompt&&this.required&&!angular.isDefined(this.result);$event.keyCode!==$mdConstant.KEY_CODE.ENTER||invalidPrompt||$mdDialog.hide(this.result)}}}function dialogDefaultOptions($mdDialog,$mdAria,$mdUtil,$mdConstant,$animate,$document,$window,$rootElement,$log,$injector,$mdTheming,$interpolate,$mdInteraction){return{hasBackdrop:!0,isolateScope:!0,onCompiling:function(options){options.defaultTheme=$mdTheming.defaultTheme(),function(options){var targetEl;options.targetEvent&&options.targetEvent.target&&(targetEl=angular.element(options.targetEvent.target));var themeCtrl=targetEl&&targetEl.controller("mdTheme");if(options.hasTheme=!!themeCtrl,!options.hasTheme)return;options.themeWatch=themeCtrl.$shouldWatch;var theme=options.theme||themeCtrl.$mdTheme;theme&&(options.scope.theme=theme);var unwatch=themeCtrl.registerChanges(function(newTheme){options.scope.theme=newTheme,options.themeWatch||unwatch()})}(options)},onShow:function(scope,element,options){angular.element($document[0].body).addClass("md-dialog-is-showing");var dialogElement=element.find("md-dialog");if(dialogElement.hasClass("ng-cloak")){$log.warn("$mdDialog: using `<md-dialog ng-cloak>` will affect the dialog opening animations.",element[0])}return function(options){function getBoundingClientRect(element,orig){var source=angular.element(element||{});if(source&&source.length){var hasFn=angular.isFunction(source[0].getBoundingClientRect);return angular.extend(orig||{},{element:hasFn?source:undefined,bounds:hasFn?source[0].getBoundingClientRect():angular.extend({},{top:0,left:0,height:0,width:0},source[0]),focus:angular.bind(source,source.focus)})}}function getDomElement(element,defaultElement){return angular.isString(element)&&(element=$document[0].querySelector(element)),angular.element(element||defaultElement)}options.origin=angular.extend({element:null,bounds:null,focus:angular.noop},options.origin||{}),options.parent=getDomElement(options.parent,$rootElement),options.closeTo=getBoundingClientRect(getDomElement(options.closeTo)),options.openFrom=getBoundingClientRect(getDomElement(options.openFrom)),options.targetEvent&&(options.origin=getBoundingClientRect(options.targetEvent.target,options.origin),options.originInteraction=$mdInteraction.getLastInteractionType())}(options),function(element,options){var role="alert"===options.$type?"alertdialog":"dialog",dialogContent=element.find("md-dialog-content"),existingDialogId=element.attr("id"),dialogContentId="dialogContent_"+(existingDialogId||$mdUtil.nextUid());element.attr({role:role,tabIndex:"-1"}),0===dialogContent.length&&(dialogContent=element,existingDialogId&&(dialogContentId=existingDialogId)),dialogContent.attr("id",dialogContentId),element.attr("aria-describedby",dialogContentId),options.ariaLabel?$mdAria.expect(element,"aria-label",options.ariaLabel):$mdAria.expectAsync(element,"aria-label",function(){if(options.title)return options.title;var words=dialogContent.text().split(/\s+/);return words.length>3&&(words=words.slice(0,3).concat("...")),words.join(" ")}),(topFocusTrap=document.createElement("div")).classList.add("md-dialog-focus-trap"),topFocusTrap.tabIndex=0,bottomFocusTrap=topFocusTrap.cloneNode(!1);var focusHandler=function(event){if(event.target&&event.target.nextSibling&&"MD-DIALOG"===event.target.nextSibling.nodeName){var lastFocusableElement=$mdUtil.getLastTabbableElement(element[0]);angular.isElement(lastFocusableElement)&&lastFocusableElement.focus()}else element.focus()};topFocusTrap.addEventListener("focus",focusHandler),bottomFocusTrap.addEventListener("focus",focusHandler),removeFocusTrap=function(){to
vendor: 4,566 bytes, line 1
1pFocusTrap.removeEventListener("focus",focusHandler),bottomFocusTrap.removeEventListener("focus",focusHandler),topFocusTrap&&topFocusTrap.parentNode&&topFocusTrap.parentNode.removeChild(topFocusTrap),bottomFocusTrap&&bottomFocusTrap.parentNode&&bottomFocusTrap.parentNode.removeChild(bottomFocusTrap)},element[0].parentNode.insertBefore(topFocusTrap,element[0]),element.after(bottomFocusTrap)}(dialogElement,options),function(scope,element,options){options.disableParentScroll&&(options.restoreScroll=$mdUtil.disableScrollAround(element,options.parent)),options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-dialog-backdrop md-opaque"),$animate.enter(options.backdrop,options.parent)),options.hideBackdrop=function($destroy){options.backdrop&&($destroy?options.backdrop.remove():$animate.leave(options.backdrop)),options.disableParentScroll&&(options.restoreScroll&&options.restoreScroll(),delete options.restoreScroll),options.hideBackdrop=null}}(scope,element,options),function(element,options){var window=angular.element($window),onWindowResize=$mdUtil.debounce(function(){stretchDialogContainerToViewport(element,options)},60),removeListeners=[],smartClose=function(){var closeFn="alert"===options.$type?$mdDialog.hide:$mdDialog.cancel;$mdUtil.nextTick(closeFn,!0)};if(options.escapeToClose){var parentTarget=options.parent,keyHandlerFn=function(ev){ev.keyCode===$mdConstant.KEY_CODE.ESCAPE&&(ev.stopImmediatePropagation(),ev.preventDefault(),smartClose())};element.on("keydown",keyHandlerFn),parentTarget.on("keydown",keyHandlerFn),removeListeners.push(function(){element.off("keydown",keyHandlerFn),parentTarget.off("keydown",keyHandlerFn)})}if(window.on("resize",onWindowResize),removeListeners.push(function(){window.off("resize",onWindowResize)}),options.clickOutsideToClose){var sourceElem,target=element,mousedownHandler=function(ev){sourceElem=ev.target},mouseupHandler=function(ev){sourceElem===target[0]&&ev.target===target[0]&&(ev.stopPropagation(),ev.preventDefault(),smartClose())};target.on("mousedown",mousedownHandler),target.on("mouseup",mouseupHandler),removeListeners.push(function(){target.off("mousedown",mousedownHandler),target.off("mouseup",mouseupHandler)})}options.deactivateListeners=function(){removeListeners.forEach(function(removeFn){removeFn()}),options.deactivateListeners=null}}(element,options),function(container,options){options.parent.append(container),options.reverseContainerStretch=stretchDialogContainerToViewport(container,options);var dialogEl=container.find("md-dialog"),animator=$mdUtil.dom.animator,buildTranslateToOrigin=animator.calculateZoomToOrigin,translateOptions={transitionInClass:"md-transition-in",transitionOutClass:"md-transition-out"},from=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.openFrom||options.origin)),to=animator.toTransformCss("");return dialogEl.toggleClass("md-dialog-fullscreen",!!options.fullscreen),animator.translate3d(dialogEl,from,to,translateOptions).then(function(animateReversal){return options.reverseAnimate=function(){return delete options.reverseAnimate,options.closeTo?(translateOptions={transitionInClass:"md-transition-out",transitionOutClass:"md-transition-in"},from=to,to=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.closeTo)),animator.translate3d(dialogEl,from,to,translateOptions)):animateReversal(to=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.origin)))},options.clearAnimate=function(){return delete options.clearAnimate,dialogEl.removeClass([translateOptions.transitionOutClass,translateOptions.transitionInClass].join(" ")),animator.translate3d(dialogEl,to,animator.toTransformCss(""),{})},!0})}(element,options).then(function(){!function(element,options){var isHidden=!0;function walkDOM(element){for(var elements=function(element){for(var elem,parents=[];element.parentNode;){if(element===document.body)return parents;for(var children=element.parentNode.children,i=0;i<children.length;i++)element===children[i]||(elem=children[i],-1!==["SCRIPT","STYLE"].indexOf(elem.nodeName))||children[i].hasAttribute("aria-live")||parents.push(children[i]);element=element.parentNode}return parents}(element),i=0;i<elements.length;i++)elements[i].setAttribute("aria-hidden",isHidden)}walkDOM(element[0]),options.unlockScreenReader=function(){isHidden=!1,walkDOM(element[0]),options.unlockScreenReader=null}}(element,options),function(){if(options.focusOnOpen){var target=$mdUtil.findFocusTarget(element)||element[0].querySelector(".dialog-close, md-dialog-actions button:last-child")||dialogElement;
1target.focus()}}()})},onShowing:function(scope,element,options,controller){if(controller){var mdHtmlContent=controller.htmlContent||options.htmlContent||"",mdTextContent=controller.textContent||options.textContent||"";if(mdHtmlContent&&!$injector.has("$sanitize"))throw Error("The ngSanitize module must be loaded in order to use htmlContent.");if(mdHtmlContent&&mdTextContent)throw Error("md-dialog cannot have both `htmlContent` and `textContent`");controller.mdHtmlContent=mdHtmlContent,controller.mdTextContent=mdTextContent}},onRemove:function(scope,element,options){options.deactivateListeners(),options.unlockScreenReader(),options.hideBackdrop(options.$destroy),removeFocusTrap&&(removeFocusTrap(),removeFocusTrap=null);return options.$destroy?detachAndClean():function(container,options){return options.reverseAnimate().then(function(){options.contentElement&&options.clearAnimate()})}(0,options).then(detachAndClean);function detachAndClean(){angular.element($document[0].body).removeClass("md-dialog-is-showing"),options.contentElement&&options.reverseContainerStretch(),options.cleanupElement(),options.$destroy||"keyboard"!==options.originInteraction||options.origin.focus()}},clickOutsideToClose:!1,escapeToClose:!0,targetEvent:null,closeTo:null,openFrom:null,focusOnOpen:!0,disableParentScroll:!0,autoWrap:!0,fullscreen:!1,transformTemplate:function(template,options){var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),theme=startSymbol+(options.themeWatch?"":"::")+"theme"+endSymbol;return'<div class="md-dialog-container" tabindex="-1" '+(options.hasTheme?'md-theme="'+theme+'"':"")+">"+function(template){return options.autoWrap&&!/<\/md-dialog>/g.test(template)?"<md-dialog>"+(template||"")+"</md-dialog>":template||""}(template)+"</div>"}};function stretchDialogContainerToViewport(container,options){var isFixed="fixed"===$window.getComputedStyle($document[0].body).position,backdrop=options.backdrop?$window.getComputedStyle(options.backdrop[0]):null,height=backdrop?Math.min($document[0].body.clientHeight,Math.ceil(Math.abs(parseInt(backdrop.height,10)))):0,previousStyles={top:container.css("top"),height:container.css("height")},parentTop=Math.abs(options.parent[0].getBoundingClientRect().top);return container.css({top:(isFixed?parentTop:0)+"px",height:height?height+"px":"100%"}),function(){container.css(previousStyles)}}}}MdDialogDirective.$inject=["$$rAF","$mdTheming","$mdDialog"],MdDialogProvider.$inject=["$$interimElementProvider"],angular.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",MdDialogDirective).provider("$mdDialog",MdDialogProvider)}(),function(){function MdDividerDirective($mdTheming){return{restrict:"E",link:$mdTheming}}MdDividerDirective.$inject=["$mdTheming"],angular.module("material.components.divider",["material.core"]).directive("mdDivider",MdDividerDirective)}(),function(){function MdFabActionsDirective($mdUtil){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(element,attributes){var actionItemButtons,children=element.children(),hasNgRepeat=$mdUtil.prefixer().hasAttribute(children,"ng-repeat");actionItemButtons=element.find("md-button"),angular.forEach(actionItemButtons,function(button){button.setAttribute("tabindex",-1)}),hasNgRepeat?children.addClass("md-fab-action-item"):children.wrap('<div class="md-fab-action-item">')}}}MdFabActionsDirective.$inject=["$mdUtil"],angular.module("material.components.fabActions",["material.core"]).directive("mdFabActions",MdFabActionsDirective)}(),function(){function MdFabController($scope,$element,$animate,$mdUtil,$mdConstant,$timeout){var closeTimeout,ctrl=this,initialAnimationAttempts=0;function parseEvents(event){"click"==event.type&&function(event){var element,closestButton=event.target?(element=event.target,$mdUtil.getClosest(element,"button")||$mdUtil.getClosest(element,"md-button")):null;closestButton&&!closestButton.disabled&&function(element){return $mdUtil.getClosest(element,"md-fab-trigger")}(event.target)&&ctrl.toggle(),function(element){return $mdUtil.getClosest(element,"md-fab-actions")}(event.target)&&ctrl.close()}
vendor: 4,676 bytes, line 1
1(event),"focusout"!=event.type||closeTimeout||(closeTimeout=$timeout(function(){ctrl.close()},100,!1)),"focusin"==event.type&&closeTimeout&&($timeout.cancel(closeTimeout),closeTimeout=null)}function resetActionIndex(){ctrl.currentActionIndex=-1}function fireInitialAnimations(){$element[0].scrollHeight>0?$animate.addClass($element,"_md-animations-ready").then(function(){$element.removeClass("md-animations-waiting")}):initialAnimationAttempts<10&&($timeout(fireInitialAnimations,100),initialAnimationAttempts+=1)}function disableKeyboard(){$element.off("keydown",keyPressed),angular.element(document).off("click touchend",checkForOutsideClick)}function checkForOutsideClick(event){if(event.target){var closestTrigger=$mdUtil.getClosest(event.target,"md-fab-trigger"),closestActions=$mdUtil.getClosest(event.target,"md-fab-actions");closestTrigger||closestActions||ctrl.close()}}function keyPressed(event){switch(event.which){case $mdConstant.KEY_CODE.ESCAPE:return ctrl.close(),event.preventDefault(),!1;case $mdConstant.KEY_CODE.LEFT_ARROW:return function(event){"left"===ctrl.direction?doActionNext(event):doActionPrev(event)}(event),!1;case $mdConstant.KEY_CODE.UP_ARROW:return function(event){"down"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.RIGHT_ARROW:return function(event){"left"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.DOWN_ARROW:return function(event){"up"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.TAB:return function(event){event.shiftKey?doActionPrev(event):doActionNext(event)}(event),!1}}function doActionPrev(event){focusAction(event,-1)}function doActionNext(event){focusAction(event,1)}function focusAction(event,direction){var actions=getActionsElement()[0].querySelectorAll(".md-fab-action-item"),previousActionIndex=ctrl.currentActionIndex;ctrl.currentActionIndex=ctrl.currentActionIndex+direction,ctrl.currentActionIndex=Math.min(actions.length-1,ctrl.currentActionIndex),ctrl.currentActionIndex=Math.max(0,ctrl.currentActionIndex),(event.which!==$mdConstant.KEY_CODE.TAB||previousActionIndex!==ctrl.currentActionIndex)&&(angular.element(actions[ctrl.currentActionIndex]).children()[0].focus(),event.preventDefault(),event.stopImmediatePropagation())}function getActionsElement(){return $element.find("md-fab-actions")}ctrl.open=function(){$scope.$evalAsync("ctrl.isOpen = true")},ctrl.close=function(){$scope.$evalAsync("ctrl.isOpen = false"),$element.find("md-fab-trigger")[0].focus()},ctrl.toggle=function(){$scope.$evalAsync("ctrl.isOpen = !ctrl.isOpen")},ctrl.$onInit=function(){var eventTypes,trigger,actions;ctrl.direction=ctrl.direction||"down",ctrl.isOpen=ctrl.isOpen||!1,resetActionIndex(),$element.addClass("md-animations-waiting"),eventTypes=["click","focusin","focusout"],angular.forEach(eventTypes,function(eventType){$element.on(eventType,parseEvents)}),$scope.$on("$destroy",function(){angular.forEach(eventTypes,function(eventType){$element.off(eventType,parseEvents)}),disableKeyboard()}),$scope.$watch("ctrl.direction",function(newDir,oldDir){$animate.removeClass($element,"md-"+oldDir),$animate.addClass($element,"md-"+newDir),resetActionIndex()}),$scope.$watch("ctrl.isOpen",function(isOpen){resetActionIndex(),trigger&&actions||(trigger=$element.find("md-fab-trigger"),actions=getActionsElement()),isOpen?($element.on("keydown",keyPressed),$mdUtil.nextTick(function(){angular.element(document).on("click touchend",checkForOutsideClick)})):disableKeyboard();var toAdd=isOpen?"md-is-open":"",toRemove=isOpen?"":"md-is-open";trigger.attr("aria-haspopup",!0),trigger.attr("aria-expanded",isOpen),actions.attr("aria-hidden",!isOpen),$animate.setClass($element,toAdd,toRemove)}),fireInitialAnimations()},1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}MdFabController.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"],angular.module("material.components.fabShared",["material.core"]).controller("MdFabController",MdFabController)}(),function(){MdFabSpeedDialFlingAnimation.$inject=["$timeout"],MdFabSpeedDialScaleAnimation.$inject=["$timeout"];var cssAnimationDuration=300;function MdFabSpeedDialFlingAnimation($timeout){function delayDone(done){$timeout(done,cssAnimationDuration,!1)}function runAnimation(element){if(!element.hasClass("md-animations-waiting")||element.hasClass("_md-animations-ready")){var el=element[0],ctrl=element.controller("mdFabSpeedDial"),items=el.querySelectorAll(".md-fab-action-item"),triggerElement=el.querySelector("md-fab-trigger"),variablesElement=el.querySelector("._md-css-variables"),startZIndex=
vendor: 17,976 bytes, line 1
1parseInt(window.getComputedStyle(variablesElement).zIndex);angular.forEach(items,function(item,index){var styles=item.style;styles.transform=styles.webkitTransform="",styles.transitionDelay="",styles.opacity=ctrl.isOpen?1:0,styles.zIndex=items.length-index+startZIndex}),triggerElement.style.zIndex=startZIndex+items.length+1,ctrl.isOpen||angular.forEach(items,function(item,index){var newPosition,axis,styles=item.style,triggerItemHeightOffset=(triggerElement.clientHeight-item.clientHeight)/2,triggerItemWidthOffset=(triggerElement.clientWidth-item.clientWidth)/2;switch(ctrl.direction){case"up":newPosition=item.scrollHeight*(index+1)+triggerItemHeightOffset,axis="Y";break;case"down":newPosition=-(item.scrollHeight*(index+1)+triggerItemHeightOffset),axis="Y";break;case"left":newPosition=item.scrollWidth*(index+1)+triggerItemWidthOffset,axis="X";break;case"right":newPosition=-(item.scrollWidth*(index+1)+triggerItemWidthOffset),axis="X"}var newTranslate="translate"+axis+"("+newPosition+"px)";styles.transform=styles.webkitTransform=newTranslate})}}return{addClass:function(element,className,done){element.hasClass("md-fling")?(runAnimation(element),delayDone(done)):done()},removeClass:function(element,className,done){runAnimation(element),delayDone(done)}}}function MdFabSpeedDialScaleAnimation($timeout){function delayDone(done){$timeout(done,cssAnimationDuration,!1)}var delay=65;function runAnimation(element){var el=element[0],ctrl=element.controller("mdFabSpeedDial"),items=el.querySelectorAll(".md-fab-action-item"),variablesElement=el.querySelector("._md-css-variables"),startZIndex=parseInt(window.getComputedStyle(variablesElement).zIndex);angular.forEach(items,function(item,index){var styles=item.style,offsetDelay=index*delay;styles.opacity=ctrl.isOpen?1:0,styles.transform=styles.webkitTransform=ctrl.isOpen?"scale(1)":"scale(0)",styles.transitionDelay=(ctrl.isOpen?offsetDelay:items.length-offsetDelay)+"ms",styles.zIndex=items.length-index+startZIndex})}return{addClass:function(element,className,done){runAnimation(element),delayDone(done)},removeClass:function(element,className,done){runAnimation(element),delayDone(done)}}}angular.module("material.components.fabSpeedDial",["material.core","material.components.fabShared","material.components.fabActions"]).directive("mdFabSpeedDial",function(){return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"ctrl",link:function(scope,element){element.prepend('<div class="_md-css-variables"></div>')}}}).animation(".md-fling",MdFabSpeedDialFlingAnimation).animation(".md-scale",MdFabSpeedDialScaleAnimation).service("mdFabSpeedDialFlingAnimation",MdFabSpeedDialFlingAnimation).service("mdFabSpeedDialScaleAnimation",MdFabSpeedDialScaleAnimation)}(),function(){function MdFabToolbarAnimation(){function runAnimation(element,className,done){if(className){var el=element[0],ctrl=element.controller("mdFabToolbar"),backgroundElement=el.querySelector(".md-fab-toolbar-background"),triggerElement=el.querySelector("md-fab-trigger button"),toolbarElement=el.querySelector("md-toolbar"),iconElement=el.querySelector("md-fab-trigger button md-icon"),actions=element.find("md-fab-actions").children();if(triggerElement&&backgroundElement){var color=window.getComputedStyle(triggerElement).getPropertyValue("background-color"),width=el.offsetWidth,scale=(el.offsetHeight,width/triggerElement.offsetWidth*2);backgroundElement.style.backgroundColor=color,backgroundElement.style.borderRadius=width+"px",ctrl.isOpen?(toolbarElement.style.pointerEvents="inherit",backgroundElement.style.width=triggerElement.offsetWidth+"px",backgroundElement.style.height=triggerElement.offsetHeight+"px",backgroundElement.style.transform="scale("+scale+")",backgroundElement.style.transitionDelay="0ms",iconElement&&(iconElement.style.transitionDelay=".3s"),angular.forEach(actions,function(action,index){action.style.transitionDelay=25*(actions.length-index)+"ms"})):(toolbarElement.style.pointerEvents="none",backgroundElement.style.transform="scale(1)",backgroundElement.style.top="0",element.hasClass("md-right")&&(backgroundElement.style.left="0",backgroundElement.style.right=null),element.hasClass("md-left")&&(backgroundElement.style.right="0",backgroundElement.style.left=null),backgroundElement.style.transitionDelay="200ms",iconElement&&(iconElement.style.transitionDelay="0ms"),angular.forEach(actions,function(action,index){action.style.transitionDelay=200+25*index+"ms"}))}}}return{addClass:function(element,className,done){runAnimation(element,className),done()},removeClass:function(element,className,done){runAnimation(element,className),done()}}}angular.module("material.components.fabToolbar",["material.core","material.components.fabShared","material.components.fabActions"]).directive("mdFabToolbar",function(){return{restrict:"E",transclude:!0,template:'<div class="md-fab-toolbar-wrapper">  <div class="md-fab-toolbar-content" ng-transclude></div></div>',scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"ctrl",link:function(scope,element,attributes){element.addClass("md-fab-toolbar"),element.find("md-fab-trigger").find("button").prepend('<div class="md-fab-toolbar-background"></div>')}}}).animation(".md-fab-toolbar",MdFabToolbarAnimation).service("mdFabToolbarAnimation",MdFabToolbarAnimation)}(),function(){function GridListDirective($interpolate,$mdConstant,$mdGridLayout,$mdMedia,$mdUtil){return{restrict:"E",controller:GridListController,scope:{mdOnLayout:"&"},link:function(scope,element,attrs,ctrl){element.addClass("_md"),element.attr("role","list"),ctrl.layoutDelegate=function(tilesInvalidated){var tiles=[].filter.call(element.children(),function(ele){return"MD-GRID-TILE"==ele.tagName&&!ele.$$mdDestroyed}),props={tileSpans:(tileElements=tiles,[].map.call(tileElements,function(ele){var ctrl=angular.element(ele).controller("mdGridTile");return{row:parseInt($mdMedia.getResponsiveAttribute(ctrl.$attrs,"md-rowspan"),10)||1,col:parseInt($mdMedia.getResponsiveAttribute(ctrl.$attrs,"md-colspan"),10)||1}})),colCount:function(){var colCount=parseInt($mdMedia.getResponsiveAttribute(attrs,"md-cols"),10);if(isNaN(colCount))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return colCount}(),rowMode:getRowMode(),rowHeight:function(){var rowHeight=$mdMedia.getResponsiveAttribute(attrs,"md-row-height");if(!rowHeight)throw"md-grid-list: md-row-height attribute was not found";switch(getRowMode()){case"fixed":return applyDefaultUnit(rowHeight);case"ratio":var whRatio=rowHeight.split(":");return parseFloat(whRatio[0])/parseFloat(whRatio[1]);case"fit":return 0}}(),gutter:applyDefaultUnit($mdMedia.getResponsiveAttribute(attrs,"md-gutter")||1)};var tileElements;if(!tilesInvalidated&&angular.equals(props,lastLayoutProps))return;var performance=$mdGridLayout(props.colCount,props.tileSpans,tiles).map(function(tilePositions,rowCount){return{grid:{element:element,style:function(colCount,rowCount,gutter,rowMode,rowHeight){var style={};switch(rowMode){case"fixed":style.height=DIMENSION({unit:rowHeight,span:rowCount,gutter:gutter}),style.paddingBottom="";break;case"ratio":var hGutterShare=1===colCount?0:(colCount-1)/colCount,hShare=1/colCount*100,vShare=hShare*(1/rowHeight),vUnit=UNIT({share:vShare,gutterShare:hGutterShare,gutter:gutter});style.height="",style.paddingBottom=DIMENSION({unit:vUnit,span:rowCount,gutter:gutter})}return style}(props.colCount,rowCount,props.gutter,props.rowMode,props.rowHeight)},tiles:tilePositions.map(function(ps,i){return{element:angular.element(tiles[i]),style:function(position,spans,colCount,rowCount,gutter,rowMode,rowHeight){var hShare=1/colCount*100,hGutterShare=(colCount-1)/colCount,hUnit=UNIT({share:hShare,gutterShare:hGutterShare,gutter:gutter}),style=$mdUtil.isRtl(attrs)?{right:POSITION({unit:hUnit,offset:position.col,gutter:gutter}),width:DIMENSION({unit:hUnit,span:spans.col,gutter:gutter}),paddingTop:"",marginTop:"",top:"",height:""}:{left:POSITION({unit:hUnit,offset:position.col,gutter:gutter}),width:DIMENSION({unit:hUnit,span:spans.col,gutter:gutter}),paddingTop:"",marginTop:"",top:"",height:""};switch(rowMode){case"fixed":style.top=POSITION({unit:rowHeight,offset:position.row,gutter:gutter}),style.height=DIMENSION({unit:rowHeight,span:spans.row,gutter:gutter});break;case"ratio":var vShare=hShare/rowHeight,vUnit=UNIT({share:vShare,gutterShare:hGutterShare,gutter:gutter});style.paddingTop=DIMENSION({unit:vUnit,span:spans.row,gutter:gutter}),style.marginTop=POSITION({unit:vUnit,offset:position.row,gutter:gutter});break;case"fit":var vGutterShare=(rowCount-1)/rowCount;vUnit=UNIT({share:vShare=1/rowCount*100,gutterShare:vGutterShare,gutter:gutter}),style.top=POSITION({unit:vUnit,offset:position.row,gutter:gutter}),style.height=DIMENSION({unit:vUnit,span:spans.row,gutter:gutter})}return style}(ps.position,ps.spans,props.colCount,rowCount,props.gutter,props.rowMode,props.rowHeight)}})}}).reflow().performance();scope.mdOnLayout({$event:{performance:performance}}),lastLayoutProps=props};var lastLayoutProps,invalidateLayout=angular.bind(ctrl,ctrl.invalidateLayout),unwatchAttrs=function(){for(var mediaName in $mdConstant.MEDIA)$mdMedia(mediaName),$mdMedia.getQuery($mdConstant.MEDIA[mediaName]).addListener(invalidateLayout);return $mdMedia.watchResponsiveAttributes(["md-cols","md-row-height","md-gutter"],attrs,layoutIfMediaMatch)}();function layoutIfMediaMatch(mediaName){null==mediaName?ctrl.invalidateLayout():$mdMedia(mediaName)&&ctrl.invalidateLayout()}scope.$on("$destroy",function(){for(var mediaName in ctrl.layoutDelegate=angular.noop,unwatchAttrs(),$mdConstant.MEDIA)$mdMedia.getQuery($mdConstant.MEDIA[mediaName]).removeListener(invalidateLayout)});var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol();function expr(exprStr){return startSymbol+exprStr+endSymbol}var UNIT=$interpolate(expr("share")+"% - ("+expr("gutter")+" * "+expr("gutterShare")+")"),POSITION=$interpolate("calc(("+expr("unit")+" + "+expr("gutter")+") * "+expr("offset")+")"),DIMENSION=$interpolate("calc(("+expr("unit")+") * "+expr("span")+" + ("+expr("span")+" - 1) * "+expr("gutter")+")");function getRowMode(){var rowHeight=$mdMedia.getResponsiveAttribute(attrs,"md-row-height");if(!rowHeight)throw"md-grid-list: md-row-height attribute was not found";return"fit"==rowHeight?"fit":-1!==rowHeight.indexOf(":")?"ratio":"fixed"}function applyDefaultUnit(val){return/\D$/.test(val)?val:val+"px"}}}}function GridListController($mdUtil){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=$mdUtil.nextTick,this.layoutDelegate=angular.noop}function GridLayoutFactory($mdUtil){var defaultAnimator=GridTileAnimator;return GridLayout.animateWith=function(customAnimator){defaultAnimator=angular.isFunction(customAnimator)?customAnimator:GridTileAnimator},GridLayout;function GridLayout(colCount,tileSpans){var self,layoutInfo,gridStyles,layoutTime,mapTime,reflowTime;return layoutTime=$mdUtil.time(function(){layoutInfo=function(colCount,tileSpans){var curCol=0,curRow=0,spaceTracker=function(){for(var tracker=[],i=0;i<colCount;i++)tracker.push(0);return tracker}();return{positioning:tileSpans.map(function(spans,i){return{spans:spans,position:function(spans,i){if(spans.col>colCount)throw"md-grid-list: Tile at position "+i+" has a colspan ("+spans.col+") that exceeds the column count ("+colCount+")";var start=0,end=0;for(;end-start<spans.col;)curCol>=colCount?nextRow():-1!==(start=spaceTracker.indexOf(0,curCol))&&-1!==(end=findEnd(start+1))?curCol=end+1:(start=end=0,nextRow());return adjustRow(start,spans.col,spans.row),curCol=start+spans.col,{col:start,row:curRow}}(spans,i)}}),rowCount:curRow+Math.max.apply(Math,spaceTracker)};function nextRow(){curCol=0,curRow++,adjustRow(0,colCount,-1)}function adjustRow(from,cols,by){for(var i=from;i<from+cols;i++)spaceTracker[i]=Math.max(spaceTracker[i]+by,0)}function findEnd(start){var i;for(i=start;i<spaceTracker.length;i++)if(0!==spaceTracker[i])return i;if(i===spaceTracker.length)return i}}(colCount,tileSpans)}),self={layoutInfo:function(){return layoutInfo},map:function(updateFn){return mapTime=$mdUtil.time(function(){var info=self.layoutInfo();gridStyles=updateFn(info.positioning,info.rowCount)}),self},reflow:function(animatorFn){return reflowTime=$mdUtil.time(function(){(animatorFn||defaultAnimator)(gridStyles.grid,gridStyles.tiles)}),self},performance:function(){return{tileCount:tileSpans.length,layoutTime:layoutTime,mapTime:mapTime,reflowTime:reflowTime,totalTime:layoutTime+mapTime+reflowTime}}}}function GridTileAnimator(grid,tiles){grid.element.css(grid.style),tiles.forEach(function(t){t.element.css(t.style)})}}function GridTileDirective($mdMedia){return{restrict:"E",require:"^mdGridList",template:"<figure ng-transclude></figure>",transclude:!0,scope:{},controller:["$attrs",function($attrs){this.$attrs=$attrs}],link:function(scope,element,attrs,gridCtrl){element.attr("role","listitem");var unwatchAttrs=$mdMedia.watchResponsiveAttributes(["md-colspan","md-rowspan"],attrs,angular.bind(gridCtrl,gridCtrl.invalidateLayout));gridCtrl.invalidateTiles(),scope.$on("$destroy",function(){element[0].$$mdDestroyed=!0,unwatchAttrs(),gridCtrl.invalidateLayout()}),angular.isDefined(scope.$parent.$index)&&scope.$watch(function(){return scope.$parent.$index},function(newIdx,oldIdx){newIdx!==oldIdx&&gridCtrl.invalidateTiles()})}}}function GridTileCaptionDirective(){return{template:"<figcaption ng-transclude></figcaption>",transclude:!0}}GridListController.$inject=["$mdUtil"],GridLayoutFactory.$inject=["$mdUtil"],GridListDirective.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia","$mdUtil"],GridTileDirective.$inject=["$mdMedia"],angular.module("material.components.gridList",["material.core"]).directive("mdGridList",GridListDirective).directive("mdGridTile",GridTileDirective).directive("mdGridTileFooter",GridTileCaptionDirective).directive("mdGridTileHeader",GridTileCaptionDirective).factory("$mdGridLayout",GridLayoutFactory),GridListController.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(angular.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}}}(),angular.module("material.components.icon",["material.core"]),function(){angular.module("material.components.icon").directive("mdIcon",["$mdIcon","$mdTheming","$mdAria","$sce",function($mdIcon,$mdTheming,$mdAria,$sce){return{restrict:"E",link:function(scope,element,attr){$mdTheming(element);var lastFontIcon=attr.mdFontIcon,lastFontSet=$mdIcon.fontSet(attr.mdFontSet);attr.mdSvgIcon||attr.mdSvgSrc||(attr.mdFontIcon&&element.addClass("md-font "+attr.mdFontIcon),element.addClass(lastFontSet)),attr.$observe("mdFontIcon",fontIconChanged),attr.$observe("mdFontSet",fontIconChanged),attr.role||($mdAria.expect(element,"role","img"),attr.role="img");element[0].hasAttribute("aria-label")&&""===attr.ariaLabel&&element.attr("aria-hidden",!0);"img"!==attr.role||attr.ariaHidden||$mdAria.hasAriaLabel(element)||(element[0].hasAttribute("alt")&&""===attr.alt?element.attr("aria-hidden",!0):attr.alt?$mdAria.expect(element,"aria-label",attr.alt):$mdAria.parentHasAriaLabel(element,2)?$mdAria.expect(element,"aria-hidden","true"):attr.mdFontIcon||attr.mdSvgIcon||element.text()?$mdAria.expect(element,"aria-label",attr.mdFontIcon||attr.mdSvgIcon||element.text()):$mdAria.expect(element,"aria-hidden","true"));var attrName=attr.$normalize(attr.$attr.mdSvgIcon||attr.$attr.mdSvgSrc||"");attrName&&attr.$observe(attrName,function(attrVal){element.empty(),attrVal&&$mdIcon(attrVal).then(function(svg){element.empty(),element.append(svg)})});function fontIconChanged(){if(!attr.mdSvgIcon&&!attr.mdSvgSrc){attr.mdFontIcon&&(element.removeClass(lastFontIcon),element.addClass(attr.mdFontIcon),lastFontIcon=attr.mdFontIcon);var fontSet=$mdIcon.fontSet(attr.mdFontSet);lastFontSet!==fontSet&&(element.removeClass(lastFontSet),element.addClass(fontSet),lastFontSet=fontSet)}}}}}])}(),function(){MdIconService.$inject=["config","$templateRequest","$q","$log","$mdUtil","$sce"],angular.module("material.components.icon").constant("$$mdSvgRegistry",{mdTabsArrow:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4=",mdClose:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xOSA2LjQxbC0xLjQxLTEuNDEtNS41OSA1LjU5LTUuNTktNS41OS0xLjQxIDEuNDEgNS41OSA1LjU5LTUuNTkgNS41OSAxLjQxIDEuNDEgNS41OS01LjU5IDUuNTkgNS41OSAxLjQxLTEuNDEtNS41OS01LjU5eiIvPjwvZz48L3N2Zz4=",mdCancel:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xMiAyYy01LjUzIDAtMTAgNC40Ny0xMCAxMHM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTAtNC40Ny0xMC0xMC0xMHptNSAxMy41OWwtMS40MSAxLjQxLTMuNTktMy41OS0zLjU5IDMuNTktMS40MS0xLjQxIDMuNTktMy41OS0zLjU5LTMuNTkgMS40MS0xLjQxIDMuNTkgMy41OSAzLjU5LTMuNTkgMS40MSAxLjQxLTMuNTkgMy41OSAzLjU5IDMuNTl6Ii8+PC9nPjwvc3ZnPg==",mdMenu:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zLDZIMjFWOEgzVjZNMywxMUgyMVYxM0gzVjExTTMsMTZIMjFWMThIM1YxNloiIC8+PC9zdmc+",mdToggleArrow:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGQ9Ik0yNCAxNmwtMTIgMTIgMi44MyAyLjgzIDkuMTctOS4xNyA5LjE3IDkuMTcgMi44My0yLjgzeiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==",mdCalendar:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LT
1EuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiIvPjwvc3ZnPg==",mdChecked:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz48L2c+PC9zdmc+"}).provider("$mdIcon",MdIconProvider);var config={defaultViewBoxSize:24,defaultFontSet:"material-icons",fontSets:[]};function MdIconProvider(){}function ConfigurationItem(url,viewBoxSize){this.url=url,this.viewBoxSize=viewBoxSize||config.defaultViewBoxSize}function MdIconService(config,$templateRequest,$q,$log,$mdUtil,$sce){var iconCache={},svgCache={},urlRegex=/[-\w@:%+.~#?&//=]{2,}\.[a-z]{2,4}\b(\/[-\w@:%+.~#?&//=]*)?/i,dataUrlRegex=/^data:image\/svg\+xml[\s*;\w\-=]*?(base64)?,(.*)$/i;return Icon.prototype={clone:function(){return this.element.cloneNode(!0)},prepare:function(){var viewBoxSize=this.config?this.config.viewBoxSize:config.defaultViewBoxSize;angular.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+viewBoxSize+" "+viewBoxSize,focusable:!1},function(val,attr){this.element.setAttribute(attr,val)},this)}},getIcon.fontSet=function(alias){if(angular.isUndefined(alias)||!alias||!alias.length)return config.defaultFontSet;var result=alias;return angular.forEach(config.fontSets,function(fontSet){fontSet.alias===alias&&(result=fontSet.fontSet||result)}),result},getIcon;function getIcon(id){return id=id||"",angular.isString(id)||(id=$sce.getTrustedUrl(id)),iconCache[id]?$q.when(transformClone(iconCache[id])):urlRegex.test(id)||dataUrlRegex.test(id)?loadByURL(id).then(cacheIcon(id)):(-1===id.indexOf(":")&&(id="$default:"+id),(config[id]?loadByID:loadFromIconSet)(id).then(cacheIcon(id)))}function transformClone(cacheElement){var cacheSuffix,svgUrlQuerySelector,i,xlinkHrefValue,clone=cacheElement.clone(),newUid=$mdUtil.nextUid(),svgUrlAttributes=["clip-path","color-profile","cursor","fill","filter","href","marker-start","marker-mid","marker-end","mask","stroke","style","vector-effect"],isIeSvg=clone.innerHTML===undefined;if(!isFinite(Number(newUid)))throw new Error("Unsafe and unexpected non-number result from $mdUtil.nextUid().");return cacheSuffix="_cache"+newUid,clone.id&&(clone.id+=cacheSuffix),angular.forEach(clone.querySelectorAll("[id]"),function(descendantElem){for(svgUrlQuerySelector="",i=0;i<svgUrlAttributes.length;i++)svgUrlQuerySelector+="["+svgUrlAttributes[i]+'="url(#'+descendantElem.id+')"]',i+1<svgUrlAttributes.length&&(svgUrlQuerySelector+=", ");angular.forEach(clone.querySelectorAll(svgUrlQuerySelector),function(refItem){updateSvgIdReferences(descendantElem,refItem,isIeSvg,newUid)}),angular.forEach(clone.querySelectorAll("style"),function(refItem){updateSvgIdReferences(descendantElem,refItem,isIeSvg,newUid)}),angular.forEach(clone.querySelectorAll("[*|href]:not([href])"),function(refItem){(xlinkHrefValue=refItem.getAttribute("xlink:href"))&&(xlinkHrefValue=xlinkHrefValue.replace("#"+descendantElem.id,"#"+descendantElem.id+cacheSuffix),refItem.setAttribute("xlink:href",xlinkHrefValue))}),descendantElem.id+=cacheSuffix}),clone}function updateSvgIdReferences(referencedElement,referencingElement,isIeSvg,newUid){var svgElement,cacheSuffix;if(!isFinite(Number(newUid)))throw new Error("Unsafe and unexpected non-number result for newUid.");cacheSuffix="_cache"+newUid,isIeSvg?(svgElement=(svgElement=$mdUtil.getOuterHTML(referencingElement)).replace("url(#"+referencedElement.id+")","url(#"+referencedElement.id+cacheSuffix+")"),referencingElement.textContent=angular.element(svgElement)[0].innerHTML):referencingElement.outerHTML=referencingElement.outerHTML.replace("url(#"+referencedElement.id+")","url(#"+referencedElement.id+cacheSuffix+")")}function cacheIcon(id){return function(icon){var target;return iconCache[id]=(target=icon,angular.isDefined(target.element)&&angular.isDefined(target.config)?icon:new Icon(icon,config[id])),transformClone(iconCache[id])}}function loadByID(id){var iconConfig=config[id];return loadByURL(iconConfig.url).then(function(icon){return new Icon(icon,iconConfig)})}function loadFromIconSet(id){var setName=id.substring(0,id.lastIndexOf(":"))||"$default",iconSetConfig=config[setName];return iconSetConfig?loadByURL(iconSetConfig.url).then(function(set){var iconName=id.slice(id.lastIndexOf(":")+1),icon=set.querySelector("#"+iconName);return icon?new Icon(icon,iconSetConfig):announceIdNotFound(id)}):announceIdNotFound(id);function announceIdNotFound(id){var msg="icon "+id+" not found";return $log.warn(msg),$q.reject(msg||id)}}function loadByURL(url){return dataUrlRegex.test(url)?function(url){var results=dataUrlRegex.exec(url),data=/base64/i.test(url)?window.atob(results[2]):results[2];return $q.when(angular.element(data)[0])}(url):function(url){return $q(function(resolve,reject){$templateRequest(url,!0).then(function(response){svgCache[url]||(svgCac
vendor: 6,508 bytes, line 1
1he[url]=angular.element("<div>").append(response)[0].querySelector("svg")),resolve(svgCache[url])},function(err){var msg=angular.isString(err)?err:err.message||err.data||err.statusText;$log.warn(msg),reject(err)})})}(url)}function Icon(el,config){if(el&&"symbol"===el.tagName.toLowerCase()){var viewbox=el.getAttribute("viewBox");el=el.innerHTML?angular.element('<svg xmlns="http://www.w3.org/2000/svg">').html(el.innerHTML)[0]:angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append($mdUtil.getInnerHTML(el))[0],viewbox&&el.setAttribute("viewBox",viewbox)}el&&"svg"!==el.tagName.toLowerCase()&&(el=angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append(el.cloneNode(!0))[0]),el.getAttribute("xmlns")||el.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=el,this.config=config,this.prepare()}}MdIconProvider.prototype={icon:function(id,url,viewBoxSize){return-1==id.indexOf(":")&&(id="$default:"+id),config[id]=new ConfigurationItem(url,viewBoxSize),this},iconSet:function(id,url,viewBoxSize){return config[id]=new ConfigurationItem(url,viewBoxSize),this},defaultIconSet:function(url,viewBoxSize){return config.$default||(config.$default=new ConfigurationItem(url,viewBoxSize)),config.$default.viewBoxSize=viewBoxSize||config.defaultViewBoxSize,this},defaultViewBoxSize:function(viewBoxSize){return config.defaultViewBoxSize=viewBoxSize,this},fontSet:function(alias,className){return config.fontSets.push({alias:alias,fontSet:className||alias}),this},defaultFontSet:function(className){return config.defaultFontSet=className||"",this},defaultIconSize:function(iconSize){return config.defaultIconSize=iconSize,this},$get:["$templateRequest","$q","$log","$mdUtil","$sce",function($templateRequest,$q,$log,$mdUtil,$sce){return MdIconService(config,$templateRequest,$q,$log,$mdUtil,$sce)}]}}(),function(){mdInputContainerDirective.$inject=["$mdTheming","$parse","$$rAF"],inputTextareaDirective.$inject=["$mdUtil","$window","$mdAria","$timeout","$mdGesture"],mdMaxlengthDirective.$inject=["$animate","$mdUtil"],placeholderDirective.$inject=["$compile"],ngMessageDirective.$inject=["$mdUtil"],mdSelectOnFocusDirective.$inject=["$document","$timeout"],mdInputInvalidMessagesAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil"],ngMessagesAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil"],ngMessageAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil","$log"];var inputModule=angular.module("material.components.input",["material.core"]).directive("mdInputContainer",mdInputContainerDirective).directive("label",function(){return{restrict:"E",require:"^?mdInputContainer",link:function(scope,element,attr,containerCtrl){!containerCtrl||attr.mdNoFloat||element.hasClass("md-container-ignore")||(containerCtrl.label=element,scope.$on("$destroy",function(){containerCtrl.label=null}))}}}).directive("input",inputTextareaDirective).directive("textarea",inputTextareaDirective).directive("mdMaxlength",mdMaxlengthDirective).directive("placeholder",placeholderDirective).directive("ngMessages",function(){return{restrict:"EA",link:function(scope,element,attrs,inputContainer){if(!inputContainer)return;element.toggleClass("md-input-messages-animation",!0),element.toggleClass("md-auto-hide",!0),("false"==attrs.mdAutoHide||function(attrs){return visibilityDirectives.some(function(attr){return attrs[attr]})}(attrs))&&element.toggleClass("md-auto-hide",!1)},require:"^^?mdInputContainer"}}).directive("ngMessage",ngMessageDirective).directive("ngMessageExp",ngMessageDirective).directive("mdSelectOnFocus",mdSelectOnFocusDirective).animation(".md-input-invalid",mdInputInvalidMessagesAnimation).animation(".md-input-messages-animation",ngMessagesAnimation).animation(".md-input-message-animation",ngMessageAnimation);function mdInputContainerDirective($mdTheming,$parse,$$rAF){ContainerCtrl.$inject=["$scope","$element","$attrs","$animate"];var INPUT_TAGS=["INPUT","TEXTAREA","SELECT","MD-SELECT"],LEFT_SELECTORS=INPUT_TAGS.reduce(function(selectors,isel){return selectors.concat(["md-icon ~ "+isel,".md-icon ~ "+isel])},[]).join(","),RIGHT_SELECTORS=INPUT_TAGS.reduce(function(selectors,isel){return selectors.concat([isel+" ~ md-icon",isel+" ~ .md-icon"])},[]).join(",");return{restrict:"E",compile:function(tElement){var hasLeftIcon=tElement[0].querySelector(LEFT_SELECTORS),hasRightIcon=tElement[0].querySelector(RIGHT_SELECTORS);return function(scope,element){$mdTheming(element),(hasLeftIcon||hasRightIcon)&&$$rAF(function(){var iconNotRemoved=element[0].querySelector("md-icon")||element[0].querySelector(".md-icon");hasLeftIcon&&iconNotRemoved&&element.addClass("md-icon-left"),hasRightIcon&&iconNotRemoved&&element.addClass("md-icon-right")})}},controller:ContainerCtrl};function ContainerCtrl($scope,$element,$attrs,$animate){var self=this;$element.addClass("md-auto-horizontal-margin"),self.isErrorGetter=$attrs.mdIsError&&$parse($attrs.mdIsError),self.delegateClick=function(){self.input.focus()},self.element=$element,self.setFocused=function(isFocused){$element.toggleClass("md-input-focused",!!isFocused)},self.setHasValue=function(hasValue){$element.toggleClass("md-input-has-value",!!hasValue)},self.setHasPlaceholder=function(hasPlaceholder){$element.toggleClass("md-input-has-placeholder",!!hasPlaceholder)},self.setInvalid=function(isInvalid){isInvalid?$animate.addClass($element,"md-input-invalid"):$animate.removeClass($element,"md-input-invalid")},$scope.$watch(function(){return self.label&&self.input},function(hasLabelAndInput){hasLabelAndInput&&!self.label.attr("for")&&self.label.attr("for",self.input.attr("id"))})}}function inputTextareaDirective($mdUtil,$window,$mdAria,$timeout,$mdGesture){return{restrict:"E",require:["^?mdInputContainer","?ngModel","?^form"],link:function(scope,element,attr,ctrls){var containerCtrl=ctrls[0],hasNgModel=!!ctrls[1],ngModelCtrl=ctrls[1]||$mdUtil.fakeNgModel(),parentForm=ctrls[2],isReadonly=angular.isDefined(attr.readonly),mdNoAsterisk=$mdUtil.parseAttributeBoolean(attr.mdNoAsterisk),tagName=element[0].tagName.toLowerCase();if(!containerCtrl)return;if("hidden"===attr.type)return void element.attr("aria-hidden","true");if(containerCtrl.input){if(containerCtrl.input[0].contains(element[0]))return;throw new Error("<md-input-container> can only have *one* <input>, <textarea> or <md-select> child element!")}containerCtrl.input=element,containerCtrl.label&&attr.$observe("required",function(value){containerCtrl.label&&containerCtrl.label.toggleClass("md-required",value&&!mdNoAsterisk)});
1var errorsSpacer=angular.element('<div class="md-errors-spacer">');element.after(errorsSpacer);var placeholderText=angular.isString(attr.placeholder)?attr.placeholder.trim():"";containerCtrl.label||placeholderText.length||$mdAria.expect(element,"aria-label");element.addClass("md-input"),element.attr("id")||element.attr("id","input_"+$mdUtil.nextUid());"input"===tagName&&"number"===attr.type&&attr.min&&attr.max&&!attr.step?element.attr("step","any"):"textarea"===tagName&&function(){var isAutogrowing=!attr.hasOwnProperty("mdNoAutogrow");if(function(){if(!attr.hasOwnProperty("mdNoResize")){var handle=angular.element('<div class="md-resize-handle"></div>'),isDragging=!1,startHeight=0,container=containerCtrl.element,dragGestureHandler=$mdGesture.register(handle,"drag",{horizontal:!1});element.wrap('<div class="md-resize-wrapper">').after(handle),handle.on("mousedown",onMouseDown),container.on("$md.dragstart",onDragStart).on("$md.drag",onDrag).on("$md.dragend",onDragEnd),scope.$on("$destroy",function(){handle.off("mousedown",onMouseDown).remove(),container.off("$md.dragstart",onDragStart).off("$md.drag",onDrag).off("$md.dragend",onDragEnd),dragGestureHandler(),handle=null,container=null,dragGestureHandler=null})}function onMouseDown(ev){ev.preventDefault(),isDragging=!0,ev.clientY,startHeight=parseFloat(element.css("height"))||element.prop("offsetHeight")}function onDragStart(ev){isDragging&&(ev.preventDefault(),disableAutogrow(),container.addClass("md-input-resized"))}function onDrag(ev){isDragging&&element.css("height",startHeight+ev.pointer.distanceY+"px")}function onDragEnd(ev){isDragging&&(isDragging=!1,container.removeClass("md-input-resized"))}}(),!isAutogrowing)return;var minRows=attr.hasOwnProperty("rows")?parseInt(attr.rows):NaN,maxRows=attr.hasOwnProperty("maxRows")?parseInt(attr.maxRows):NaN,scopeResizeListener=scope.$on("md-resize-textarea",growTextarea),lineHeight=null,node=element[0];$timeout(function(){$mdUtil.nextTick(growTextarea)},10,!1),element.on("input",growTextarea),hasNgModel&&ngModelCtrl.$formatters.push(formattersListener);minRows||element.attr("rows",1);function growTextarea(){element.attr("rows",1).css("height","auto").addClass("md-no-flex");var offsetHeight,line,height=(offsetHeight=node.offsetHeight,line=node.scrollHeight-offsetHeight,offsetHeight+Math.max(line,0));if(!lineHeight){var originalPadding=element[0].style.padding||"";lineHeight=element.css("padding",0).prop("offsetHeight"),element[0].style.padding=originalPadding}if(minRows&&lineHeight&&(height=Math.max(height,lineHeight*minRows)),maxRows&&lineHeight){var maxHeight=lineHeight*maxRows;maxHeight<height?(element.attr("md-no-autogrow",""),height=maxHeight):element.removeAttr("md-no-autogrow")}lineHeight&&element.attr("rows",Math.round(height/lineHeight)),element.css("height",height+"px").removeClass("md-no-flex")}function formattersListener(value){return $mdUtil.nextTick(growTextarea),value}function disableAutogrow(){if(isAutogrowing&&(isAutogrowing=!1,angular.element($window).off("resize",growTextarea),scopeResizeListener&&scopeResizeListener(),element.attr("md-no-autogrow","").off("input",growTextarea),hasNgModel)){var listenerIndex=ngModelCtrl.$formatters.indexOf(formattersListener);listenerIndex>-1&&ngModelCtrl.$formatters.splice(listenerIndex,1)}}if(angular.element($window).on("resize",growTextarea),scope.$on("$destroy",disableAutogrow),attr.hasOwnProperty("mdDetectHidden")){var handleHiddenChange=(wasHidden=!1,function(){var isHidden=0===node.offsetHeight;!1===isHidden&&!0===wasHidden&&growTextarea(),wasHidden=isHidden});scope.$watch(function(){return $mdUtil.nextTick(handleHiddenChange,!1),!0})}var wasHidden}();hasNgModel||inputCheckValue();var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||parentForm&&parentForm.$submitted)};scope.$watch(isErrorGetter,containerCtrl.setInvalid),attr.ngValue&&attr.$observe("value",inputCheckValue);ngModelCtrl.$parsers.push(ngModelPipelineCheckValue),ngModelCtrl.$formatters.push(ngModelPipelineCheckValue),element.on("input",inputCheckValue),isReadonly||element.on("focus",function(ev){$mdUtil.nextTick(function(){containerCtrl.setFocused(!0)})}).on("blur",function(ev){$mdUtil.nextTick(function(){containerCtrl.setFocused(!1),inputCheckValue()})});function ngModelPipelineCheckValue(arg){return containerCtrl.setHasValue(!ngModelCtrl.$isEmpty(arg)),arg}function inputCheckValue(){containerCtrl.setHasValue(element.val().length>0||(element[0].validity||{}).badInput)}scope.$on("$destroy",function(){containerCtrl.setFocused(!1),containerCtrl.setHasValue(!1),containerCtrl.input=null})}}}function mdMaxlengthDirective($animate,$mdUtil){return{restrict:"A",require:["ngModel","^mdInputContainer"],link:function(scope,element,attr,ctrls){var maxlength=parseInt(attr.mdMaxlength);isNaN(maxlength)&&(maxlength=-1);
vendor: 10,192 bytes, line 1
1var charCountEl,errorsSpacer,ngModelCtrl=ctrls[0],containerCtrl=ctrls[1],ngTrim=!angular.isDefined(attr.ngTrim)||$mdUtil.parseAttributeBoolean(attr.ngTrim),isPasswordInput="password"===attr.type;function calculateInputValueLength(value){return(value=ngTrim&&!isPasswordInput&&angular.isString(value)?value.trim():value)!==undefined&&null!==value||(value=""),String(value).length}function renderCharCount(){charCountEl&&charCountEl.parent()&&charCountEl.text(calculateInputValueLength(element.val())+" / "+maxlength)}scope.$watch(attr.mdMaxlength,function(value){maxlength=value}),ngModelCtrl.$validators["md-maxlength"]=function(modelValue,viewValue){if(!angular.isNumber(maxlength)||maxlength<0)return!0;renderCharCount();var elementVal=element.val()||viewValue;return elementVal!==undefined&&null!==elementVal||(elementVal=""),elementVal=ngTrim&&!isPasswordInput&&angular.isString(elementVal)?elementVal.trim():elementVal,String(elementVal).length<=maxlength},ngModelCtrl.$isEmpty=function(value){return 0===calculateInputValueLength(value)},$mdUtil.nextTick(function(){errorsSpacer=angular.element(containerCtrl.element[0].querySelector(".md-errors-spacer")),charCountEl=angular.element('<div class="md-char-counter">'),errorsSpacer.append(charCountEl),attr.$observe("ngTrim",function(value){ngTrim=!angular.isDefined(value)||$mdUtil.parseAttributeBoolean(value)}),scope.$watch(attr.mdMaxlength,function(value){angular.isNumber(value)&&value>0?(charCountEl.parent().length||$animate.enter(charCountEl,errorsSpacer),renderCharCount()):$animate.leave(charCountEl)})})}}}function placeholderDirective($compile){return{restrict:"A",require:"^^?mdInputContainer",priority:200,link:{pre:function(scope,element,attr,inputContainer){if(!inputContainer)return;var label=inputContainer.element.find("label"),noFloat=inputContainer.element.attr("md-no-float");if(label&&label.length||""===noFloat||scope.$eval(noFloat))return void inputContainer.setHasPlaceholder(!0);if("MD-SELECT"!==element[0].nodeName){var newLabel=angular.element('<label ng-click="delegateClick()" tabindex="-1" aria-hidden="true">'+attr.placeholder+"</label>");attr.$set("placeholder",null),inputContainer.element.addClass("md-icon-float").prepend(newLabel),$compile(newLabel)(scope)}}}}}function mdSelectOnFocusDirective($document,$timeout){return{restrict:"A",link:function(scope,element,attr){if("INPUT"!==element[0].nodeName&&"TEXTAREA"!==element[0].nodeName)return;var preventMouseUp=!1;function onFocus(){preventMouseUp=!0,$timeout(function(){$document[0].activeElement===element[0]&&element[0].select(),preventMouseUp=!1},1,!1)}function onMouseUp(event){preventMouseUp&&event.preventDefault()}element.on("focus",onFocus).on("mouseup",onMouseUp),scope.$on("$destroy",function(){element.off("focus",onFocus).off("mouseup",onMouseUp)})}}}window._mdMocksIncluded&&inputModule.service("$$mdInput",function(){return{messages:{getElement:getMessagesElement}}}).service("mdInputInvalidAnimation",mdInputInvalidMessagesAnimation).service("mdInputMessagesAnimation",ngMessagesAnimation).service("mdInputMessageAnimation",ngMessageAnimation);var $$AnimateRunner,$animateCss,$mdUtil,visibilityDirectives=["ngIf","ngShow","ngHide","ngSwitchWhen","ngSwitchDefault"];function ngMessageDirective($mdUtil){return{restrict:"EA",compile:function(tElement){if(isInsideInputContainer(tElement))initMessageElement(tElement);else if(function(){var nextNode=tElement[0];for(;nextNode=nextNode.parentNode;)if(nextNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE)return!0;return!1}())return function(scope,element){isInsideInputContainer(element)&&initMessageElement(tElement)};function isInsideInputContainer(element){return!!$mdUtil.getClosest(element,"md-input-container")}function initMessageElement(element){element.toggleClass("md-input-message-animation",!0)}},priority:100}}function mdInputInvalidMessagesAnimation($$AnimateRunner,$animateCss,$mdUtil){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{addClass:function(element,className,done){showInputMessages(element,done)}}}function ngMessagesAnimation($$AnimateRunner,$animateCss,$mdUtil){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{enter:function(element,done){showInputMessages(element,done)},leave:function(element,done){hideInputMessages(element,done)},addClass:function(element,className,done){"ng-hide"==className?hideInputMessages(element,done):done()},removeClass:function(element,className,done){"ng-hide"==className?showInputMessages(element,done):done()}}}function ngMessageAnimation($$AnimateRunner,$animateCss,$mdUtil,$log){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{enter:function(element,done){showMessage(element).start().done(done)},leave:function(element,done){hideMessage(element).start().done(done)}}}function showInputMessages(element,done){var animator,animators=[],messages=getMessagesElement(element),children=messages.children();0!=messages.length&&0!=children.length?(angular.forEach(children,function(child){animator=showMessage(angular.element(child)),animators.push(animator.start())}),$$AnimateRunner.all(animators,done)):done()}function hideInputMessages(element,done){var animator,animators=[],messages=getMessagesElement(element),children=messages.children();0!=messages.length&&0!=children.length?(angular.forEach(children,function(child){animator=hideMessage(angular.element(child)),animators.push(animator.start())}),$$AnimateRunner.all(animators,done)):done()}function showMessage(element){var height=parseInt(window.getComputedStyle(element[0]).height),topMargin=parseInt(window.getComputedStyle(element[0]).marginTop),messages=getMessagesElement(element),container=function(element){return element.controller("mdInputContainer").element}(element);return topMargin>-height||messages.hasClass("md-auto-hide")&&!container.hasClass("md-input-invalid")?$animateCss(element,{}):$animateCss(element,{event:"enter",structural:!0,from:{opacity:0,"margin-top":-height+"px"},to:{opacity:1,"margin-top":"0"},duration:.3})}function hideMessage(element){var height=element[0].offsetHeight,styles=window.getComputedStyle(element[0]);return 0===parseInt(styles.opacity)?$animateCss(element,{}):$animateCss(element,{event:"leave",structural:!0,from:{opacity:1,"margin-top":0},to:{opacity:0,"margin-top":-height+"px"},duration:.3})}function getMessagesElement(element){return element.hasClass("md-input-messages-animation")?element:element.hasClass("md-input-message-animation")?angular.element($mdUtil.getClosest(element,function(node){return node.classList.contains("md-input-messages-animation")})):angular.element(element[0].querySelector(".md-input-messages-animation"))}function saveSharedServices(_$$AnimateRunner_,_$animateCss_,_$mdUtil_){$$AnimateRunner=_$$AnimateRunner_,$animateCss=_$animateCss_,$mdUtil=_$mdUtil_}}(),function(){function mdListDirective($mdTheming){return{restrict:"E",compile:function(tEl){return tEl[0].setAttribute("role","list"),$mdTheming}}}function mdListItemDirective($mdAria,$mdConstant,$mdUtil,$timeout){var proxiedTypes=["md-checkbox","md-switch","md-menu"];return{restrict:"E",controller:"MdListController",compile:function(tElement,tAttrs){var hasProxiedElement,proxyElement,secondaryItemsWrapper,secondaryItems=tElement[0].querySelectorAll(".md-secondary"),itemContainer=tElement;if(tElement[0].setAttribute("role","listitem"),tAttrs.ngClick||tAttrs.ngDblclick||tAttrs.ngHref||tAttrs.href||tAttrs.uiSref||tAttrs.ngAttrUiSref)wrapIn("button");else if(!tElement.hasClass("md-no-proxy")){for(var i=0;i<proxiedTypes.length;++i)if(null!==(proxyElement=tElement[0].querySelector(proxiedTypes[i]))){hasProxiedElement=!0;break}hasProxiedElement?wrapIn("div"):tElement.addClass("md-no-proxy")}function wrapIn(type){if("div"===type)(itemContainer=angular.element('<div class="md-no-style md-list-item-inner">')).append(tElement.contents()),tElement.addClass("md-proxy-focus");else{itemContainer=angular.element('<div class="md-button md-no-style">   <div class="md-list-item-inner"></div></div>');var buttonWrap=angular.element('<md-button class="md-no-style"></md-button>');if(moveAttributes(tElement[0],buttonWrap[0]),!buttonWrap.attr("aria-label")){buttonWrap.attr("aria-label",$mdAria.getText(tElement));var listItemInner=itemContainer[0].querySelector(".md-list-item-inner");listItemInner&&listItemInner.setAttribute("aria-hidden","true")}tElement.hasClass("md-no-focus")&&buttonWrap.addClass("md-no-focus"),itemContainer.prepend(buttonWrap),itemContainer.children().eq(1).append(tElement.contents()),tElement.addClass("_md-button-wrap")}tElement[0].setAttribute("tabindex","-1"),tElement.append(itemContainer)}function moveAttributes(source,destination,extraAttrs){var copiedAttrs=$mdUtil.prefixer(["ng-if","ng-click","ng-dblclick","aria-label","ng-disabled","ui-sref","href","ng-href","rel","target","ng-attr-ui-sref","ui-sref-opts","download"]);extraAttrs&&(copiedAttrs=copiedAttrs.concat($mdUtil.prefixer(extraAttrs))),angular.forEach(copiedAttrs,function(attr){source.hasAttribute(attr)&&(destination.setAttribute(attr,source.getAttribute(attr)),source.removeAttribute(attr))})}function hasClickEvent(element){for(var attr=element.attributes,i=0;i<attr.length;i++)if("ngClick"===tAttrs.$normalize(attr[i].name))return!0;return!1}return secondaryItemsWrapper=angular.element('<div class="md-secondary-container">'),angular.forEach(secondaryItems,function(secondaryItem){!function(secondaryItem,container){if(secondaryItem&&("MD-BUTTON"!==(nodeName=secondaryItem.nodeName.toUpperCase())&&"BUTTON"!==nodeName)&&secondaryItem.hasAttribute("ng-click")){$mdAria.expect(secondaryItem,"aria-label");var buttonWrapper=angular.element('<md-button class="md-secondary md-icon-button">');moveAttributes(secondaryItem,buttonWrapper[0],["ng-if","ng-hide","ng-show"]),secondaryItem.setAttribute("tabindex","-1"),buttonWrapper.append(secondaryItem),secondaryItem=buttonWrapper[0]}var nodeName;secondaryItem&&(!hasClickEvent(secondaryItem)||!tAttrs.ngClick&&function(element){return-1!==proxiedTypes.indexOf(element.nodeName.toLowerCase())}(secondaryItem))&&angular.element(secondaryItem).removeClass("md-secondary"),tElement.addClass("md-with-secondary"),container.append(secondaryItem)}
1(secondaryItem,secondaryItemsWrapper)}),itemContainer.append(secondaryItemsWrapper),function(){for(var toggle,toggleTypes=["md-switch","md-checkbox"],i=0;i<toggleTypes.length;++i)if((toggle=tElement.find(toggleTypes[i])[0])&&!toggle.hasAttribute("aria-label")){var labelElement=tElement.find("p")[0];if(labelElement||(labelElement=tElement.find("span")[0]),!labelElement)return;toggle.setAttribute("aria-label","Toggle "+labelElement.textContent)}}(),hasProxiedElement&&"MD-MENU"===proxyElement.nodeName&&function(){var menuEl=angular.element(proxyElement),xAxisPosition="left";(menuEl.parent().hasClass("md-secondary-container")||proxyElement.parentNode.firstElementChild!==proxyElement)&&(xAxisPosition="right");menuEl.attr("md-position-mode")||menuEl.attr("md-position-mode",xAxisPosition+" target");var menuOpenButton=menuEl.children().eq(0);hasClickEvent(menuOpenButton[0])||menuOpenButton.attr("ng-click","$mdMenu.open($event)");menuOpenButton.attr("aria-label")||menuOpenButton.attr("aria-label","Open List Menu")}(),function($scope,$element,$attr,ctrl){$element.addClass("_md");var proxies=[],firstElement=$element[0].firstElementChild,clickChild=$element.hasClass("_md-button-wrap")?firstElement.firstElementChild:firstElement,hasClick=clickChild&&hasClickEvent(clickChild),noProxies=$element.hasClass("md-no-proxy");firstElement&&firstElement.children&&!hasClick&&!noProxies&&angular.forEach(proxiedTypes,function(type){angular.forEach(firstElement.querySelectorAll(type+":not(.md-secondary)"),function(child){proxies.push(child)})}),(1===proxies.length||hasClick)&&($element.addClass("md-clickable"),hasClick||ctrl.attachRipple($scope,angular.element($element[0].querySelector(".md-no-style")))),proxies.length&&angular.forEach(proxies,function(proxy){proxy=angular.element(proxy),$scope.mouseActive=!1,proxy.on("mousedown",function(){$scope.mouseActive=!0,$timeout(function(){$scope.mouseActive=!1},100)}).on("focus",function(){!1===$scope.mouseActive&&$element.addClass("md-focused"),proxy.on("blur",function proxyOnBlur(){$element.removeClass("md-focused"),proxy.off("blur",proxyOnBlur)})})});var clickChildKeypressListener=function(keypressEvent){if("INPUT"!==keypressEvent.target.nodeName&&"TEXTAREA"!==keypressEvent.target.nodeName&&!keypressEvent.target.isContentEditable){var keyCode=keypressEvent.which||keypressEvent.keyCode;keyCode===$mdConstant.KEY_CODE.SPACE&&clickChild&&(clickChild.click(),keypressEvent.preventDefault(),keypressEvent.stopPropagation())}};hasClick||proxies.length||clickChild&&clickChild.addEventListener("keypress",clickChildKeypressListener);$element.off("click"),$element.off("keypress"),$element.off("keydown"),1===proxies.length&&clickChild&&$element.children().eq(0).on("click",function(clickEvent){if(!function(event){var forbiddenControls=["md-slider"],eventBubblePath=$mdUtil.getEventPath(event);if(!eventBubblePath||0===eventBubblePath.length)return-1!==forbiddenControls.indexOf(event.target.tagName.toLowerCase());for(var maxPath=eventBubblePath.indexOf($element.children()[0]),i=0;i<maxPath;i++)if(-1!==forbiddenControls.indexOf(eventBubblePath[i].tagName.toLowerCase()))return!0;return!1}(clickEvent)){var parentButton=$mdUtil.getClosest(clickEvent.target,"BUTTON");!parentButton&&clickChild.contains(clickEvent.target)&&angular.forEach(proxies,function(proxy){clickEvent.target===proxy||proxy.contains(clickEvent.target)||("MD-MENU"===proxy.nodeName&&(proxy=proxy.children[0]),angular.element(proxy).triggerHandler("click"))})}});$scope.$on("$destroy",function(){clickChild&&clickChild.removeEventListener("keypress",clickChildKeypressListener)})}}}}function MdListController($scope,$element,$mdListInkRipple){this.attachRipple=function(scope,element){$mdListInkRipple.attach(scope,element,{})}}MdListController.$inject=["$scope","$element","$mdListInkRipple"],mdListDirective.$inject=["$mdTheming"],mdListItemDirective.$inject=["$mdAria","$mdConstant","$mdUtil","$timeout"],angular.module("material.components.list",["material.core"]).controller("MdListController",MdListController).directive("mdList",mdListDirective).directive("mdListItem",mdListItemDirective)}(),angular.module("material.components.menu",["material.core","material.components.backdrop"]),function(){function MenuController($mdMenu,$attrs,$element,$scope,$mdUtil,$timeout,$rootScope,$q,$log){var menuContainer,triggerElement,prefixer=$mdUtil.prefixer(),self=this;this.nestLevel=parseInt($attrs.mdNestLevel,10)||0,this.init=function(setMenuContainer,opts){opts=opts||{},menuContainer=setMenuContainer,(triggerElement=$element[0].querySelector(prefixer.buildSelector(["ng-click","ng-mouseenter"]))).setAttribute("aria-expanded","fal
1se"),this.isInMenuBar=opts.isInMenuBar,this.mdMenuBarCtrl=opts.mdMenuBarCtrl,this.nestedMenus=$mdUtil.nodesToArray(menuContainer[0].querySelectorAll(".md-nested-menu")),menuContainer.on("$mdInterimElementRemove",function(){self.isOpen=!1,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)})}),$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)});var menuContainerId="menu_container_"+$mdUtil.nextUid();menuContainer.attr("id",menuContainerId),angular.element(triggerElement).attr({"aria-owns":menuContainerId,"aria-haspopup":"true"}),$scope.$on("$destroy",angular.bind(this,function(){this.disableHoverListener(),$mdMenu.destroy()})),menuContainer.on("$destroy",function(){$mdMenu.destroy()})};var openMenuTimeout,menuItems,deregisterScopeListeners=[];this.enableHoverListener=function(){deregisterScopeListeners.push($rootScope.$on("$mdMenuOpen",function(event,el){menuContainer[0].contains(el[0])&&(self.currentlyOpenMenu=el.controller("mdMenu"),self.isAlreadyOpening=!1,self.currentlyOpenMenu.registerContainerProxy(self.triggerContainerProxy.bind(self)))})),deregisterScopeListeners.push($rootScope.$on("$mdMenuClose",function(event,el){menuContainer[0].contains(el[0])&&(self.currentlyOpenMenu=undefined)})),(menuItems=angular.element($mdUtil.nodesToArray(menuContainer[0].children[0].children))).on("mouseenter",self.handleMenuItemHover),menuItems.on("mouseleave",self.handleMenuItemMouseLeave)},this.disableHoverListener=function(){for(;deregisterScopeListeners.length;)deregisterScopeListeners.shift()();menuItems&&menuItems.off("mouseenter",self.handleMenuItemHover),menuItems&&menuItems.off("mouseleave",self.handleMenuItemMouseLeave)},this.handleMenuItemHover=function(event){if(!self.isAlreadyOpening){var nestedMenu=event.target.querySelector("md-menu")||$mdUtil.getClosest(event.target,"MD-MENU");openMenuTimeout=$timeout(function(){if(nestedMenu&&(nestedMenu=angular.element(nestedMenu).controller("mdMenu")),self.currentlyOpenMenu&&self.currentlyOpenMenu!=nestedMenu){var closeTo=self.nestLevel+1;self.currentlyOpenMenu.close(!0,{closeTo:closeTo}),self.isAlreadyOpening=!!nestedMenu,nestedMenu&&nestedMenu.open()}else nestedMenu&&!nestedMenu.isOpen&&nestedMenu.open&&(self.isAlreadyOpening=!!nestedMenu,nestedMenu&&nestedMenu.open())},nestedMenu?100:250);var focusableTarget=event.currentTarget.querySelector(".md-button:not([disabled])");focusableTarget&&focusableTarget.focus()}},this.handleMenuItemMouseLeave=function(){openMenuTimeout&&($timeout.cancel(openMenuTimeout),openMenuTimeout=undefined)},this.open=function(ev){ev&&ev.stopPropagation(),ev&&ev.preventDefault(),self.isOpen||(self.enableHoverListener(),self.isOpen=!0,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)}),(triggerElement=triggerElement||(ev?ev.target:$element[0])).setAttribute("aria-expanded","true"),$scope.$emit("$mdMenuOpen",$element),$mdMenu.show({scope:$scope,mdMenuCtrl:self,nestLevel:self.nestLevel,element:menuContainer,target:triggerElement,preserveElement:!0,parent:"body"}).finally(function(){triggerElement.setAttribute("aria-expanded","false"),self.disableHoverListener()}))},this.onIsOpenChanged=function(isOpen){isOpen?(menuContainer.attr("aria-hidden","false"),$element[0].classList.add("md-open"),angular.forEach(self.nestedMenus,function(el){el.classList.remove("md-open")})):(menuContainer.attr("aria-hidden","true"),$element[0].classList.remove("md-open")),$scope.$mdMenuIsOpen=self.isOpen},this.focusMenuContainer=function(){var focusTarget=menuContainer[0].querySelector(prefixer.buildSelector(["md-menu-focus-target","md-autofocus"]));focusTarget||(focusTarget=menuContainer[0].querySelector(".md-button:not([disabled])")),focusTarget.focus()},this.registerContainerProxy=function(handler){this.containerProxy=handler},this.triggerContainerProxy=function(ev){this.containerProxy&&this.containerProxy(ev)},this.destroy=function(){return self.isOpen?$mdMenu.destroy():$q.when(!1)},this.close=function(skipFocus,closeOpts){if(self.isOpen){self.isOpen=!1,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)});var eventDetails=angular.extend({},closeOpts,{skipFocus:skipFocus});if($scope.$emit("$mdMenuClose",$element,eventDetails),$mdMenu.hide(null,closeOpts),!skipFocus){var el=self.restoreFocusTo||$element.find("button")[0];el instanceof angular.element&&(el=el[0]),el&&el.focus()}}},this.positionMode=function(){var attachment=($attrs.mdPositionMode||"target").split(" ");return 1===attachment.length&&attachment.push(attachment[0]),{left:attachment[0],top:attachment[1]}},this.offsets=function(){var position=($attrs.mdOffset||"0 0").split(" ").map(parseFloat);if(2===position.length)return{left:position[0],top:position[1]};if(1===position.length)return{top:position[0],left:position[0]};throw Error("Invalid offsets specified. Please follow format <x, y> or <n>")},$scope.$mdMenu={open:this.open,close:this.close}}MenuController.$inject=["$mdMenu","$attrs","$element","$scope","$mdUtil","$timeout","$rootScope","$q","$log"],angular.module("material.components.menu").controller("mdMenuCtrl",MenuController)}(),function(){function MenuDirective($mdUtil){var INVALID_PREFIX="Invalid HTML for md-menu: ";return{restrict:"E",require:["mdMenu","?^mdMenuBar"],controller:"mdMenuCtrl",scope:!0,compile:function(templateElement){templateElement.addClass("md-menu");var triggerEl=templateElement.children()[0],prefixer=$mdUtil.prefixer();prefixer.hasAttribute(triggerEl,"ng-click")||(triggerEl=triggerEl.querySelector(prefixer.buildSelector(["ng-click","ng-mouseenter"]))||triggerEl);var isButtonTrigger="MD-BUTTON"===triggerEl.nodeName||"BUTTON"===triggerEl.nodeName;triggerEl&&isButtonTrigger&&!triggerEl.hasAttribute("type")&&triggerEl.setAttribute("type","button");if(!triggerEl)throw Error(INVALID_PREFIX+"Expected the menu to have a trigger element.");if(2!==templateElement.children().length)throw Error(INVALID_PREFIX+"Expected two children elements. The second element must have a `md-menu-content` element.");triggerEl&&triggerEl.setAttribute("aria-haspopup","true");var nestedMenus=templateElement[0].querySelectorAll("md-menu"),nestingDepth=parseInt(templateElement[0].getAttribute("md-nest-level"),10)||0;nestedMenus&&angular.forEach($mdUtil.nodesToArray(nestedMenus),function(menuEl){menuEl.hasAttribute("md-position-mode")||menuEl.setAttribute("md-position-mode","cascade"),menuEl.classList.add("_md-nested-menu"),menuEl.setAttribute("md-nest-level",nestingDepth+1)});return link}};function link(scope,element,attr,ctrls){var mdMenuCtrl=ctrls[0],isInMenuBar=!!ctrls[1],mdMenuBarCtrl=ctrls[1],menuContainer=angular.element('<div class="_md md-open-menu-container md-whiteframe-z2"></div>'),menuContents=element.children()[1];element.addClass("_md"),menuContents.hasAttribute("role")||menuContents.setAttribute("role","menu"),menuContainer.append(menuContents),element.on("$destroy",function(){menuContainer.remove()}),element.append(menuContainer),menuContainer[0].style.display="none",mdMenuCtrl.init(menuContainer,{isInMenuBar:isInMenuBar,mdMenuBarCtrl:mdMenuBarCtrl})}}MenuDirective.$inject=["$mdUtil"],angular.module("material.components.menu").directive("mdMenu",MenuDirective)}(),function(){function MenuProvider($$interimElementProvider){menuDefaultOptions.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate","$log"];var MENU_EDGE_MARGIN=8;return $$interimElementProvider("$mdMenu").setDefaults({methods:["target"],options:menuDefaultOptions});function menuDefaultOptions($mdUtil,$mdTheming,$mdConstant,$document,$window,$q,$$rAF,$animateCss,$animate,$log){var prefixer=$mdUtil.prefixer(),animator=$mdUtil.dom.animator;return{parent:"body",onShow:function(scope,element,opts){(function(){if(!opts.target)throw Error("$mdMenu.show() expected a target to animate from in options.target");angular.extend(opts,{alreadyOpen:!1,isRemoved:!1,target:angular.element(opts.target),parent:angular.element(opts.parent),menuContentEl:angular.element(element[0].querySelector("md-menu-content"))})})(),opts.menuContentEl[0]?$mdTheming.inherit(opts.menuContentEl,opts.target):$log.warn("$mdMenu: Menu elements should always contain a `md-menu-content` element,otherwise interactivity features will not work properly.",element);return opts.cleanupResizing=(target=element,options=opts,repositionMenu=$$rAF.throttle(function(){if(!opts.isRemoved){var position=calculateMenuPosition(target,options);target.css(animator.toCss(position))}}),$window.addEventListener("resize",repositionMenu),$window.addEventListener("orientationchange",repositionMenu),function(){$window.removeEventListener("resize",repositionMenu),$window.removeEventListener("orientationchange",repositionMenu)}),opts.hideBackdrop=function(scope,element,options){return options.nestLevel?angular.noop:(options.disableParentScroll&&!$mdUtil.getClosest(options.target,"MD-DIALOG")?options.restoreScroll=$mdUtil.disableScrollAround(options.element,options.parent):options.disableParentScroll=!1,options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-menu-backdrop md-click-catcher"),$animate.enter(options.backdrop,options.backdropParent||$document[0].body)),function(){options.backdrop&&options.backdrop.remove(),options.disableParentScroll&&options.restoreScroll()})}(scope,0,opts),(opts.parent.append(element),element[0].style.display="",$q(function(resolve){var position=calculateMenuPosition(element,opts);element.removeClass("md-leave"),$animateCss(element,{addClass:"md-active",from:animator.toCss(position),to:animator.toCss({transform:""})}).start().then(resolve)})).then(function(response){return opts.alreadyOpen=!0,opts.cleanupInteraction=function(){if(!opts.menuContentEl[0])return angular.noop;
vendor: 20,765 bytes, line 1
1opts.menuContentEl.on("keydown",onMenuKeyDown),opts.menuContentEl[0].addEventListener("click",captureClickListener,!0);var focusTarget=opts.menuContentEl[0].querySelector(prefixer.buildSelector(["md-menu-focus-target","md-autofocus"]));if(!focusTarget)for(var childrenLen=opts.menuContentEl[0].children.length,childIndex=0;childIndex<childrenLen;childIndex++){var child=opts.menuContentEl[0].children[childIndex];if(focusTarget=child.querySelector(".md-button:not([disabled])"))break;if(child.firstElementChild&&!child.firstElementChild.disabled&&!child.firstElementChild.getAttribute("disabled")){focusTarget=child.firstElementChild;break}}return focusTarget&&focusTarget.focus(),function(){opts.menuContentEl.off("keydown",onMenuKeyDown),opts.menuContentEl[0].removeEventListener("click",captureClickListener,!0)};function onMenuKeyDown(ev){var handled;switch(ev.keyCode){case $mdConstant.KEY_CODE.ESCAPE:opts.nestLevel?opts.mdMenuCtrl.close():opts.mdMenuCtrl.close(!1,{closeAll:!0}),handled=!0;break;case $mdConstant.KEY_CODE.TAB:opts.mdMenuCtrl.close(!1,{closeAll:!0}),handled=!1;break;case $mdConstant.KEY_CODE.UP_ARROW:focusMenuItem(ev,opts.menuContentEl,opts,-1)||opts.nestLevel||opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.DOWN_ARROW:focusMenuItem(ev,opts.menuContentEl,opts,1)||opts.nestLevel||opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.LEFT_ARROW:opts.nestLevel?opts.mdMenuCtrl.close():opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.RIGHT_ARROW:var parentMenu=$mdUtil.getClosest(ev.target,"MD-MENU");parentMenu&&parentMenu!=opts.parent[0]?ev.target.click():opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0}handled&&(ev.preventDefault(),ev.stopImmediatePropagation())}function captureClickListener(e){var target=e.target;do{if(target==opts.menuContentEl[0])return;if((hasAnyAttribute(target,["ng-click","ng-href","ui-sref"])||"BUTTON"==target.nodeName||"MD-BUTTON"==target.nodeName)&&!hasAnyAttribute(target,["md-prevent-menu-close"])){var closestMenu=$mdUtil.getClosest(target,"MD-MENU");target.hasAttribute("disabled")||closestMenu&&closestMenu!=opts.parent[0]||scope.$apply(function(){opts.mdMenuCtrl.close(!0,{closeAll:!0})});break}}while(target=target.parentNode);function hasAnyAttribute(target,attrs){if(!target)return!1;for(var attr,i=0;attr=attrs[i];++i)if(prefixer.hasAttribute(target,attr))return!0;return!1}}}(),opts.cleanupBackdrop=opts.backdrop?(opts.backdrop.on("click",onBackdropClick),function(){opts.backdrop.off("click",onBackdropClick)}):angular.noop,element.addClass("md-clickable"),response});var target,options,repositionMenu;function onBackdropClick(event){event.preventDefault(),event.stopPropagation(),scope.$apply(function(){opts.mdMenuCtrl.close(!0,{closeAll:!0})})}},onRemove:function(scope,element,opts){return opts.cleanupInteraction(),opts.cleanupBackdrop(),opts.cleanupResizing(),opts.hideBackdrop(),element.removeClass("md-clickable"),!0===opts.$destroy?detachAndClean():$animateCss(element,{addClass:"md-leave"}).start().then(detachAndClean);function detachAndClean(){element.removeClass("md-active"),function(element,opts){opts.preserveElement?toNode(element).style.display="none":toNode(element).parentNode===toNode(opts.parent)&&toNode(opts.parent).removeChild(toNode(element))}(element,opts),opts.alreadyOpen=!1}},hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,multiple:!0,themable:!0};function focusMenuItem(e,menuEl,opts,direction){for(var didFocus,currentItem=$mdUtil.getClosest(e.target,"MD-MENU-ITEM"),items=$mdUtil.nodesToArray(menuEl[0].children),i=items.indexOf(currentItem)+direction;i>=0&&i<items.length;i+=direction){if(didFocus=attemptFocus(items[i].querySelector(".md-button")))break}return didFocus}function attemptFocus(el){if(el&&-1!=el.getAttribute("tabindex"))return el.focus(),$document[0].activeElement==el}function calculateMenuPosition(el,opts){var alignTarget,containerNode=el[0],openMenuNode=el[0].firstElementChild,openMenuNodeRect=openMenuNode.getBoundingClientRect(),boundryNodeRect=$document[0].body.getBoundingClientRect(),menuStyle=$window.getComputedStyle(openMenuNode),originNode=opts.target[0].querySelector(prefixer.buildSelector("md-menu-origin"))||opts.target[0],originNodeRect=originNode.getBoundingClientRect(),bounds={left:boundryNodeRect.left+MENU_EDGE_MARGIN,top:Math.max(boundryNodeRect.top,0)+MENU_EDGE_MARGIN,bottom:Math.max(boundryNodeRect.bottom,Math.max(boundryNodeRect.top,0)+boundryNodeRect.height)-MENU_EDGE_MARGIN,right:boundryNodeRect.right-MENU_EDGE_MARGIN},alignTargetRect={top:0,left:0,right:0,bottom:0},existingOffsets={top:0,left:0,right:0,bottom:0},positionMode=opts.mdMenuCtrl.positionMode();"target"!==positionMode.top&&"target"!==positionMode.left&&"target-right"!==positionMode.left||(alignTarget=function(){for(var i=0;i<openMenuNode.children.length;++i)if("none"!=$window.getComputedStyle(openMenuNode.children[i]).display)return openMenuNode.children[i]}())&&(alignTargetRect=(alignTarget=(alignTarget=alignTarget.firstElementChild||alignTarget).querySelector(prefixer.buildSelector("md-menu-align-target"))||alignTarget).getBoundingClientRect(),existingOffsets={top:parseFloat(containerNode.style.top||0),left:parseFloat(containerNode.style.left||0)});var position={},transformOrigin="top ";switch(positionMode.top){case"target":position.top=existingOffsets.top+originNodeRect.top-alignTargetRect.top;break;case"cascade":position.top=originNodeRect.top-parseFloat(menuStyle.paddingTop)-originNode.style.top;break;case"bottom":position.top=originNodeRect.top+originNodeRect.height;break;default:throw new Error('Invalid target mode "'+positionMode.top+'" specified for md-menu on Y axis.')}var rtl=$mdUtil.isRtl(el);switch(positionMode.left){case"target":position.left=existingOffsets.left+originNodeRect.left-alignTargetRect.left,transformOrigin+=rtl?"right":"left";break;case"target-left":position.left=originNodeRect.left,transformOrigin+="left";break;case"target-right":position.left=originNodeRect.right-openMenuNodeRect.width+(openMenuNodeRect.right-alignTargetRect.right),transformOrigin+="right";break;case"cascade":var willFitRight=rtl?originNodeRect.left-openMenuNodeRect.width<bounds.left:originNodeRect.right+openMenuNodeRect.width<bounds.right;position.left=willFitRight?originNodeRect.right-originNode.style.left:originNodeRect.left-originNode.style.left-openMenuNodeRect.width,transformOrigin+=willFitRight?"left":"right";break;case"right":rtl?(position.left=originNodeRect.right-originNodeRect.width,transformOrigin+="left"):(position.left=originNodeRect.right-openMenuNodeRect.width,transformOrigin+="right");break;case"left":rtl?(position.left=originNodeRect.right-openMenuNodeRect.width,transformOrigin+="right"):(position.left=originNodeRect.left,transformOrigin+="left");break;default:throw new Error('Invalid target mode "'+positionMode.left+'" specified for md-menu on X axis.')}var pos,offsets=opts.mdMenuCtrl.offsets();position.top+=offsets.top,position.left+=offsets.left,(pos=position).top=Math.max(Math.min(pos.top,bounds.bottom-containerNode.offsetHeight),bounds.top),pos.left=Math.max(Math.min(pos.left,bounds.right-containerNode.offsetWidth),bounds.left);var scaleX=Math.round(100*Math.min(originNodeRect.width/containerNode.offsetWidth,1))/100,scaleY=Math.round(100*Math.min(originNodeRect.height/containerNode.offsetHeight,1))/100;return{top:Math.round(position.top),left:Math.round(position.left),transform:opts.alreadyOpen?undefined:$mdUtil.supplant("scale({0},{1})",[scaleX,scaleY]),transformOrigin:transformOrigin}}}function toNode(el){return el instanceof angular.element&&(el=el[0]),el}}MenuProvider.$inject=["$$interimElementProvider"],angular.module("material.components.menu").provider("$mdMenu",MenuProvider)}(),angular.module("material.components.menuBar",["material.core","material.components.icon","material.components.menu"]),function(){MenuBarController.$inject=["$scope","$rootScope","$element","$attrs","$mdConstant","$document","$mdUtil","$timeout"],angular.module("material.components.menuBar").controller("MenuBarController",MenuBarController);var BOUND_MENU_METHODS=["handleKeyDown","handleMenuHover","scheduleOpenHoveredMenu","cancelScheduledOpen"];function MenuBarController($scope,$rootScope,$element,$attrs,$mdConstant,$document,$mdUtil,$timeout){this.$element=$element,this.$attrs=$attrs,this.$mdConstant=$mdConstant,this.$mdUtil=$mdUtil,this.$document=$document,this.$scope=$scope,this.$rootScope=$rootScope,this.$timeout=$timeout;var self=this;angular.forEach(BOUND_MENU_METHODS,function(methodName){self[methodName]=angular.bind(self,self[methodName])})}MenuBarController.prototype.init=function(){var $element=this.$element,$mdUtil=this.$mdUtil,$scope=this.$scope,self=this,deregisterFns=[];$element.on("keydown",this.handleKeyDown),this.parentToolbar=$mdUtil.getClosest($element,"MD-TOOLBAR"),deregisterFns.push(this.$rootScope.$on("$mdMenuOpen",function(event,el){-1!=self.getMenus().indexOf(el[0])&&($element[0].classList.add("md-open"),el[0].classList.add("md-open"),self.currentlyOpenMenu=el.controller("mdMenu"),self.currentlyOpenMenu.registerContainerProxy(self.handleKeyDown),self.enableOpenOnHover())})),deregisterFns.push(this.$rootScope.$on("$mdMenuClose",function(event,el,opts){var rootMenus=self.getMenus();-1!=rootMenus.indexOf(el[0])&&($element[0].classList.remove("md-open"),el[0].classList.remove("md-open"));var ctrl=angular.element(el[0]).controller("mdMenu");if(ctrl.isInMenuBar&&ctrl.mdMenuBarCtrl===self){for(var parentMenu=el[0];parentMenu&&-1==rootMenus.indexOf(parentMenu);)parentMenu=$mdUtil.getClosest(parentMenu,"MD-MENU",!0);parentMenu&&(opts.skipFocus||parentMenu.querySelector("button:not([disabled])").focus(),self.currentlyOpenMenu=undefined),self.disableOpenOnHover(),self.setKeyboardMode(!0)}})),$scope.$on("$destroy",function(){for(self.disableOpenOnHover();deregisterFns.length;)deregisterFns.shift()()}),this.setKeyboardMode(!0)},MenuBarController.prototype.setKeyboardMode=function(enabled){enabled?this.$element[0].classList.add("md-keyboard-mode"):this.$element[0].classList.remove("md-keyboard-mode")},MenuBarController.prototype.enableOpenOnHover=function(){if(!this.openOnHoverEnabled){var self=this;self.openOnHoverEnabled=!0,self.parentToolbar&&(self.parentToolbar.classList.add("md-has-open-menu"),self.$mdUtil.nextTick(function(){angular.element(self.parentToolbar).on("click",self.handleParentClick)},!1)),angular.element(self.getMenus()).on("mouseenter",self.handleMenuHover)}},MenuBarController.prototype.handleMenuHover=function(e){this.setKeyboardMode(!1),this.openOnHoverEnabled&&this.scheduleOpenHoveredMenu(e)},MenuBarController.prototype.disableOpenOnHover=function(){this.openOnHoverEnabled&&(this.openOnHoverEnabled=!1,this.parentToolbar&&(this.parentToolbar.classList.remove("md-has-open-menu"),angular.element(this.parentToolbar).off("click",this.handleParentClick)),angular.element(this.getMenus()).off("mouseenter",this.handleMenuHover))},MenuBarController.prototype.scheduleOpenHoveredMenu=function(e){var menuCtrl=angular.element(e.currentTarget).controller("mdMenu");this.setKeyboardMode(!1),this.scheduleOpenMenu(menuCtrl)},MenuBarController.prototype.scheduleOpenMenu=function(menuCtrl){var self=this,$timeout=this.$timeout;menuCtrl!=self.currentlyOpenMenu&&($timeout.cancel(self.pendingMenuOpen),self.pendingMenuOpen=$timeout(function(){self.pendingMenuOpen=undefined,self.currentlyOpenMenu&&self.currentlyOpenMenu.close(!0,{closeAll:!0}),menuCtrl.open()},200,!1))},MenuBarController.prototype.handleKeyDown=function(e){var handled,newMenu,newMenuCtrl,keyCodes=this.$mdConstant.KEY_CODE,currentMenu=this.currentlyOpenMenu,wasOpen=currentMenu&&currentMenu.isOpen;switch(this.setKeyboardMode(!0),e.keyCode){case keyCodes.DOWN_ARROW:currentMenu?currentMenu.focusMenuContainer():this.openFocusedMenu(),handled=!0;break;case keyCodes.UP_ARROW:currentMenu&&currentMenu.close(),handled=!0;break;case keyCodes.LEFT_ARROW:newMenu=this.focusMenu(-1),wasOpen&&(newMenuCtrl=angular.element(newMenu).controller("mdMenu"),this.scheduleOpenMenu(newMenuCtrl)),handled=!0;break;case keyCodes.RIGHT_ARROW:newMenu=this.focusMenu(1),wasOpen&&(newMenuCtrl=angular.element(newMenu).controller("mdMenu"),this.scheduleOpenMenu(newMenuCtrl)),handled=!0}handled&&(e&&e.preventDefault&&e.preventDefault(),e&&e.stopImmediatePropagation&&e.stopImmediatePropagation())},MenuBarController.prototype.focusMenu=function(direction){var menus=this.getMenus(),focusedIndex=this.getFocusedMenuIndex();-1==focusedIndex&&(focusedIndex=this.getOpenMenuIndex());var changed=!1;if(-1==focusedIndex?(focusedIndex=0,changed=!0):(direction<0&&focusedIndex>0||direction>0&&focusedIndex<menus.length-direction)&&(focusedIndex+=direction,changed=!0),changed)return menus[focusedIndex].querySelector("button").focus(),menus[focusedIndex]},MenuBarController.prototype.openFocusedMenu=function(){var menu=this.getFocusedMenu();menu&&angular.element(menu).controller("mdMenu").open()},MenuBarController.prototype.getMenus=function(){var $element=this.$element;return this.$mdUtil.nodesToArray($element[0].children).filter(function(el){return"MD-MENU"==el.nodeName})},MenuBarController.prototype.getFocusedMenu=function(){return this.getMenus()[this.getFocusedMenuIndex()]},MenuBarController.prototype.getFocusedMenuIndex=function(){var focusedEl=this.$mdUtil.getClosest(this.$document[0].activeElement,"MD-MENU");return focusedEl?this.getMenus().indexOf(focusedEl):-1},MenuBarController.prototype.getOpenMenuIndex=function(){for(var menus=this.getMenus(),i=0;i<menus.length;++i)if(menus[i].classList.contains("md-open"))return i;return-1},MenuBarController.prototype.handleParentClick=function(event){var openMenu=this.querySelector("md-menu.md-open");openMenu&&!openMenu.contains(event.target)&&angular.element(openMenu).controller("mdMenu").close(!0,{closeAll:!0})}}(),function(){function MenuBarDirective($mdUtil,$mdTheming){return{restrict:"E",require:"mdMenuBar",controller:"MenuBarController",compile:function(templateEl,templateAttrs){return templateAttrs.ariaRole||templateEl[0].setAttribute("role","menubar"),angular.forEach(templateEl[0].children,function(menuEl){if("MD-MENU"==menuEl.nodeName){menuEl.hasAttribute("md-position-mode")||(menuEl.setAttribute("md-position-mode","left bottom"),menuEl.querySelector("button, a, md-button").setAttribute("role","menuitem"));var contentEls=$mdUtil.nodesToArray(menuEl.querySelectorAll("md-menu-content"));angular.forEach(contentEls,function(contentEl){contentEl.classList.add("md-menu-bar-menu"),contentEl.classList.add("md-dense"),contentEl.hasAttribute("width")||contentEl.setAttribute("width",5)})}}),templateEl.find("md-menu-item").addClass("md-in-menu-bar"),function(scope,el,attr,ctrl){el.addClass("_md"),$mdTheming(scope,el),ctrl.init()}}}}MenuBarDirective.$inject=["$mdUtil","$mdTheming"],angular.module("material.components.menuBar").directive("mdMenuBar",MenuBarDirective)}(),function(){angular.module("material.components.menuBar").directive("mdMenuDivider",function(){return{restrict:"E",compile:function(templateEl,templateAttrs){templateAttrs.role||templateEl[0].setAttribute("role","separator")}}})}(),function(){function MenuItemController($scope,$element,$attrs){this.$element=$element,this.$attrs=$attrs,this.$scope=$scope}MenuItemController.$inject=["$scope","$element","$attrs"],angular.module("material.components.menuBar").controller("MenuItemController",MenuItemController),MenuItemController.prototype.init=function(ngModel){var $element=this.$element,$attrs=this.$attrs;this.ngModel=ngModel,"checkbox"!=$attrs.type&&"radio"!=$attrs.type||(this.mode=$attrs.type,this.iconEl=$element[0].children[0],this.buttonEl=$element[0].children[1],ngModel&&this.initClickListeners())},MenuItemController.prototype.clearNgAria=function(){var el=this.$element[0];angular.forEach(["role","tabindex","aria-invalid","aria-checked"],function(attr){el.removeAttribute(attr)})},MenuItemController.prototype.initClickListeners=function(){var self=this,ngModel=this.ngModel,$scope=this.$scope,$attrs=this.$attrs,mode=(this.$element,this.mode);this.handleClick=angular.bind(this,this.handleClick);var icon=this.iconEl,button=angular.element(this.buttonEl),handleClick=this.handleClick;function setDisabled(disabled){disabled?button.off("click",handleClick):button.on("click",handleClick)}$attrs.$observe("disabled",setDisabled),setDisabled($attrs.disabled),ngModel.$render=function(){self.clearNgAria(),!function(){if("radio"==mode){var val=$attrs.ngValue?$scope.$eval($attrs.ngValue):$attrs.value;return ngModel.$modelValue==val}return ngModel.$modelValue}()?(icon.style.display="none",button.attr("aria-checked","false")):(icon.style.display="",button.attr("aria-checked","true"))},$scope.$$postDigest(ngModel.$render)},MenuItemController.prototype.handleClick=function(e){var newVal,mode=this.mode,ngModel=this.ngModel,$attrs=this.$attrs;"checkbox"==mode?newVal=!ngModel.$modelValue:"radio"==mode&&(newVal=$attrs.ngValue?this.$scope.$eval($attrs.ngValue):$attrs.value),ngModel.$setViewValue(newVal),ngModel.$render()}}(),function(){function MenuItemDirective($mdUtil,$mdConstant,$$mdSvgRegistry){return{controller:"MenuItemController",require:["mdMenuItem","?ngModel"],priority:$mdConstant.BEFORE_NG_ARIA,compile:function(templateEl,templateAttrs){var attribute,attributes,type=templateAttrs.type;if("checkbox"!==type&&"radio"!==type||!templateEl.hasClass("md-in-menu-bar"))setDefault("role","menuitem",templateEl[0].querySelector("md-button, button, a"));else{var text=templateEl[0].textContent,buttonEl=angular.element('<md-button type="button"></md-button>'),iconTemplate='<md-icon md-svg-src="'+$$mdSvgRegistry.mdChecked+'"></md-icon>';buttonEl.html(text),buttonEl.attr("tabindex","0"),angular.isDefined(templateAttrs.mdPreventMenuClose)&&buttonEl.attr("md-prevent-menu-close",templateAttrs.mdPreventMenuClose),templateEl.html(""),templateEl.append(angular.element(iconTemplate)),templateEl.append(buttonEl),templateEl.addClass("md-indent").removeClass("md-in-menu-bar"),setDefault("role","checkbox"===type?"menuitemcheckbox":"menuitemradio",buttonEl),attribute="ng-disabled",attributes=$mdUtil.prefixer(attribute),angular.forEach(attributes,function(attr){if(templateEl[0].hasAttribute(attr)){var val=templateEl[0].getAttribute(attr);buttonEl[0].setAttribute(attr,val),templateEl[0].removeAttribute(attr)}})}return function(scope,el,attrs,ctrls){var ctrl=ctrls[0],ngModel=ctrls[1];ctrl.init(ngModel)};function setDefault(attr,val,el){(el=el||templateEl)instanceof angular.element&&(el=el[0]),el.hasAttribute(attr)||el.setAttribute(attr,val)}}}}MenuItemDirective.$inject=["$mdUtil","$mdConstant","$$mdSvgRegistry"],angular.module("material.components.menuBar").directive("mdMenuItem",MenuItemDirective)}(),function(){function MdNavBar($mdAria,$mdTheming,$window,$mdUtil){return{restrict:"E",transclude:!0,controller:MdNavBarController,controllerAs:"ctrl",bindToController:!0,scope:{mdSelectedNavItem:"=?",mdNoInkBar:"=?",navBarAriaLabel:"@?"},template:'<div class="md-nav-bar"><nav role="navigation"><ul class="_md-nav-bar-list" ng-transclude role="tablist" ng-focus="ctrl.onFocus()" aria-label="{{ctrl.navBarAriaLabel}}"></ul></nav><md-nav-ink-bar ng-hide="ctrl.mdNoInkBar"></md-nav-ink-bar></div>',link:function(scope,element,attrs,ctrl){function onResize(){ctrl.width!==$window.innerWidth&&(ctrl.updateSelectedTabInkBar(),ctrl.width=$window.innerWidth,scope.$digest())}ctrl.width=$window.innerWidth,angular.element($window).on("resize",$mdUtil.debounce(onResize,300)),scope.$on("$destroy",function(){angular.element($window).off("resize",onResize)}),$mdTheming(element),ctrl.navBarAriaLabel||$mdAria.expectAsync(element,"aria-label",angular.noop)}}}function MdNavBarController($element,$scope,$timeout,$mdConstant){this._$timeout=$timeout,this._$scope=$scope,this._$mdConstant=$mdConstant,this.mdSelectedNavItem,this.navBarAriaLabel,this._navBarEl=$element[0],this._inkbar;var self=this,deregisterTabWatch=this._$scope.$watch(function(){return self._navBarEl.querySelectorAll("._md-nav-button").length},function(newLength){newLength>0&&(self._initTabs(),deregisterTabWatch())})}function MdNavItem($mdAria,$$rAF,$mdUtil,$window){return{restrict:"E",require:["mdNavItem","^mdNavBar"],controller:MdNavItemController,bindToController:!0,controllerAs:"ctrl",replace:!0,transclude:!0,template:function(tElement,tAttrs){var navigationAttribute,buttonTemplate,hasNavClick=tAttrs.mdNavClick,hasNavHref=tAttrs.mdNavHref,hasNavSref=tAttrs.mdNavSref,hasSrefOpts=tAttrs.srefOpts;if((hasNavClick?1:0)+(hasNavHref?1:0)+(hasNavSref?1:0)>1)throw Error("Please do not specify more than one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");
vendor: 7,031 bytes, line 1
1if(hasNavClick!==undefined&&null!==hasNavClick)navigationAttribute='ng-click="ctrl.mdNavClick()"';else if(hasNavHref!==undefined&&null!==hasNavHref)navigationAttribute='ng-href="{{ctrl.mdNavHref}}"';else{if(hasNavSref===undefined||null===hasNavSref)throw Error("Please specify at least one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");navigationAttribute='ui-sref="{{ctrl.mdNavSref}}"'}return navigationAttribute&&(buttonTemplate='<md-button class="_md-nav-button md-accent" ng-class="ctrl.getNgClassMap()" ng-blur="ctrl.setFocused(false)" ng-disabled="ctrl.disabled" tabindex="-1" role="tab" ng-attr-aria-label="{{ctrl.navItemAriaLabel ? ctrl.navItemAriaLabel : undefined}}" aria-selected="{{ctrl.isSelected()}}" '+(hasSrefOpts?'ui-sref-opts="{{ctrl.srefOpts}}" ':"")+navigationAttribute+'><span ng-transclude class="_md-nav-button-text"></span></md-button>'),'<li class="md-nav-item" role="presentation">'+(buttonTemplate||"")+"</li>"},scope:{mdNavClick:"&?",mdNavHref:"@?",mdNavSref:"@?",srefOpts:"=?",name:"@",navItemAriaLabel:"@?"},link:function(scope,element,attrs,controllers){var disconnect,mdNavItem,mdNavBar,navButton;$$rAF(function(){if(mdNavItem=controllers[0],mdNavBar=controllers[1],navButton=angular.element(element[0].querySelector("._md-nav-button")),mdNavItem.name||(mdNavItem.name=angular.element(element[0].querySelector("._md-nav-button-text")).text().trim()),navButton.on("keydown",function($event){mdNavBar.onKeydown($event)}),navButton.on("focus",function(){mdNavItem._focused=!0}),navButton.on("click",function(){mdNavBar.mdSelectedNavItem=mdNavItem.name,scope.$apply()}),mdNavItem.disabled=$mdUtil.parseAttributeBoolean(attrs.disabled,!1),"MutationObserver"in $window){var targetNode=element[0],observer=new MutationObserver(function(mutationList){$mdUtil.nextTick(function(){mdNavItem.disabled=$mdUtil.parseAttributeBoolean(attrs[mutationList[0].attributeName],!1)})});observer.observe(targetNode,{attributes:!0,attributeFilter:["disabled"]}),disconnect=observer.disconnect.bind(observer)}else attrs.$observe("disabled",function(value){mdNavItem.disabled=$mdUtil.parseAttributeBoolean(value,!1)});mdNavItem.navItemAriaLabel||$mdAria.expectWithText(navButton,"aria-label")}),scope.$on("destroy",function(){navButton.off("keydown"),navButton.off("focus"),navButton.off("click"),disconnect()})}}}function MdNavItemController($element){this._$element=$element,this.mdNavClick,this.mdNavHref,this.mdNavSref,this.srefOpts,this.name,this.navItemAriaLabel,this._selected=!1,this.isFocused=!1}MdNavBar.$inject=["$mdAria","$mdTheming","$window","$mdUtil"],MdNavBarController.$inject=["$element","$scope","$timeout","$mdConstant"],MdNavItem.$inject=["$mdAria","$$rAF","$mdUtil","$window"],MdNavItemController.$inject=["$element"],angular.module("material.components.navBar",["material.core"]).controller("MdNavBarController",MdNavBarController).directive("mdNavBar",MdNavBar).controller("MdNavItemController",MdNavItemController).directive("mdNavItem",MdNavItem),MdNavBarController.prototype._initTabs=function(){this._inkbar=angular.element(this._navBarEl.querySelector("md-nav-ink-bar"));var self=this;this._$timeout(function(){self._updateTabs(self.mdSelectedNavItem,null)}),this._$scope.$watch("ctrl.mdSelectedNavItem",function(newValue,oldValue){self._$timeout(function(){self._updateTabs(newValue,oldValue)})})},MdNavBarController.prototype._updateTabs=function(newValue,oldValue){var self=this,tabs=this._getTabs(),sameTab=newValue===oldValue;if(tabs){var newIndex=-1,newTab=this._getTabByName(newValue),oldTab=this._getTabByName(oldValue);oldTab&&oldTab.setSelected(!1),newTab&&(newTab.setSelected(!0),newIndex=tabs.indexOf(newTab)),this._$timeout(function(){self._updateInkBarStyles(newTab,newIndex),newTab&&oldTab&&!sameTab&&self._moveFocus(oldTab,newTab)})}},MdNavBarController.prototype._updateInkBarStyles=function(tab,newIndex){if(this._inkbar.css({display:newIndex<0?"none":""}),tab){var tabEl=tab.getButtonEl(),left=tabEl.offsetLeft,tabWidth=tabEl.offsetWidth,navBarWidth=this._navBarEl.getBoundingClientRect().width,scale=tabWidth/navBarWidth,translate=left/navBarWidth*100;this._inkbar.css({transform:"translateX("+translate+"%) scaleX("+scale+")"})}},MdNavBarController.prototype.updateSelectedTabInkBar=function(){this._updateInkBarStyles(this._getSelectedTab())},MdNavBarController.prototype._getTabs=function(){var controllers=Array.prototype.slice.call(this._navBarEl.querySelectorAll(".md-nav-item")).map(function(el){return angular.element(el).controller("mdNavItem")});return controllers.indexOf(undefined)?controllers:[]},MdNavBarController.prototype._getTabByName=function(name){return this._findTab(function(tab){return tab.getName()===name})},MdNavBarController.prototype._getSelectedTab=function(){return this._findTab(function(tab){return tab.isSelected()})},MdNavBarController.prototype.getFocusedTab=function(){return this._findTab(function(tab){return tab.hasFocus()})},MdNavBarController.prototype._findTab=function(fn,startIndex){var i,tabs=this._getTabs();for(null==startIndex&&(startIndex=0),i=startIndex;i<tabs.length;i++)if(fn(tabs[i]))return tabs[i];return null},MdNavBarController.prototype._findTabReverse=function(fn,startIndex){var tabs=this._getTabs();startIndex!==undefined&&null!==startIndex||(startIndex=tabs.length-1);for(var i=startIndex;i>=0;i--)if(fn(tabs[i]))return tabs[i];return null},MdNavBarController.prototype.onFocus=function(){var tab=this._getSelectedTab();tab&&!tab.isFocused&&tab.setFocused(!0)},MdNavBarController.prototype._moveFocus=function(oldTab,newTab){oldTab.setFocused(!1),newTab.setFocused(!0)},MdNavBarController.prototype._focusFirstTab=function(){if(this._getTabs()){var tabToFocus=this._findTab(function(tab){return tab._isEnabled()});tabToFocus&&this._moveFocus(this.getFocusedTab(),tabToFocus)}},MdNavBarController.prototype._focusLastTab=function(){if(this._getTabs()){var tabToFocus=this._findTabReverse(function(tab){return tab._isEnabled()});tabToFocus&&this._moveFocus(this.getFocusedTab(),tabToFocus)}},MdNavBarController.prototype._focusNextTab=function(focusedTabIndex){if(this._getTabs()){var tabToFocus=this._findTab(function(tab){return tab._isEnabled()},focusedTabIndex+1);tabToFocus?this._moveFocus(this.getFocusedTab(),tabToFocus):this._focusFirstTab()}},MdNavBarController.prototype._focusPreviousTab=function(focusedTabIndex){if(this._getTabs()){var tabToFocus=this._findTabReverse(function(tab){return tab._isEnabled()},focusedTabIndex-1);tabToFocus?this._moveFocus(this.getFocusedTab(),tabToFocus):this._focusLastTab()}},MdNavBarController.prototype.onKeydown=function(e){var keyCodes=this._$mdConstant.KEY_CODE,tabs=this._getTabs(),focusedTab=this.getFocusedTab();if(focusedTab&&tabs){var focusedTabIndex=tabs.indexOf(focusedTab);switch(e.keyCode){case keyCodes.UP_ARROW:case keyCodes.LEFT_ARROW:e.preventDefault(),this._focusPreviousTab(focusedTabIndex);break;case keyCodes.DOWN_ARROW:case keyCodes.RIGHT_ARROW:e.preventDefault(),this._focusNextTab(focusedTabIndex);break;
vendor: 19,875 bytes, line 1
1case keyCodes.SPACE:case keyCodes.ENTER:this._$timeout(function(){focusedTab.getButtonEl().click()});break;case keyCodes.HOME:e.preventDefault(),this._focusFirstTab();break;case keyCodes.END:e.preventDefault(),this._focusLastTab()}}},MdNavItemController.prototype.getNgClassMap=function(){return{"md-active":this._selected,"md-primary":this._selected,"md-unselected":!this._selected,"md-focused":this.isFocused}},MdNavItemController.prototype.getName=function(){return this.name},MdNavItemController.prototype.getButtonEl=function(){return this._$element[0].querySelector("._md-nav-button")},MdNavItemController.prototype.setSelected=function(isSelected){this._selected=isSelected,isSelected?this.getButtonEl().setAttribute("tabindex","0"):this.getButtonEl().setAttribute("tabindex","-1")},MdNavItemController.prototype.isSelected=function(){return this._selected},MdNavItemController.prototype.setFocused=function(isFocused){this.isFocused=isFocused,isFocused&&this.getButtonEl().focus()},MdNavItemController.prototype.hasFocus=function(){return this.isFocused},MdNavItemController.prototype._isEnabled=function(){return!this._$element.attr("disabled")}}(),function(){MdPanelService.$inject=["presets","$rootElement","$rootScope","$injector","$window"],angular.module("material.components.panel",["material.core","material.components.backdrop"]).provider("$mdPanel",function(){return{definePreset:definePreset,getAllPresets:getAllPresets,clearPresets:clearPresets,$get:["$rootElement","$rootScope","$injector","$window",function($rootElement,$rootScope,$injector,$window){return new MdPanelService(_presets,$rootElement,$rootScope,$injector,$window)}]}});var FOCUS_TRAP_TEMPLATE,MD_PANEL_Z_INDEX=80,_presets={};function definePreset(name,preset){if(!name||!preset)throw new Error("mdPanelProvider: The panel preset definition is malformed. The name and preset object are required.");if(_presets.hasOwnProperty(name))throw new Error("mdPanelProvider: The panel preset you have requested has already been defined.");delete preset.id,delete preset.position,delete preset.animation,_presets[name]=preset}function getAllPresets(){return angular.copy(_presets)}function clearPresets(){_presets={}}function coerceToArray(value){return angular.isString(value)&&(value=[value]),value}function MdPanelService(presets,$rootElement,$rootScope,$injector,$window){this._defaultConfigOptions={bindToController:!0,clickOutsideToClose:!1,disableParentScroll:!1,escapeToClose:!1,focusOnOpen:!0,fullscreen:!1,hasBackdrop:!1,propagateContainerEvents:!1,transformTemplate:angular.bind(this,this._wrapTemplate),trapFocus:!1,zIndex:MD_PANEL_Z_INDEX},this._config={},this._presets=presets,this._$rootElement=$rootElement,this._$rootScope=$rootScope,this._$injector=$injector,this._$window=$window,this._$mdUtil=this._$injector.get("$mdUtil"),this._trackedPanels={},this._groups=Object.create(null),this.animation=MdPanelAnimation.animation,this.xPosition=MdPanelPosition.xPosition,this.yPosition=MdPanelPosition.yPosition,this.interceptorTypes=MdPanelRef.interceptorTypes,this.closeReasons=MdPanelRef.closeReasons,this.absPosition=MdPanelPosition.absPosition}function MdPanelRef(config,$injector){this._$q=$injector.get("$q"),this._$mdCompiler=$injector.get("$mdCompiler"),this._$mdConstant=$injector.get("$mdConstant"),this._$mdUtil=$injector.get("$mdUtil"),this._$mdTheming=$injector.get("$mdTheming"),this._$rootScope=$injector.get("$rootScope"),this._$animate=$injector.get("$animate"),this._$mdPanel=$injector.get("$mdPanel"),this._$log=$injector.get("$log"),this._$window=$injector.get("$window"),this._$$rAF=$injector.get("$$rAF"),this.id=config.id,this.config=config,this.panelContainer=undefined,this.panelEl=undefined,this.innerWrapper=undefined,this.isAttached=!1,this._removeListeners=[],this._topFocusTrap=undefined,this._bottomFocusTrap=undefined,this._backdropRef=undefined,this._restoreScroll=null,this._interceptors=Object.create(null),this._compilerCleanup=null,this._restoreCache={styles:"",classes:""}}function MdPanelPosition($injector){this._$window=$injector.get("$window"),this._isRTL=$injector.get("$mdUtil").isRtl(),this._$mdConstant=$injector.get("$mdConstant"),this._absolute=!1,this._relativeToEl=undefined,this._top="",this._bottom="",this._left="",this._right="",this._translateX=[],this._translateY=[],this._positions=[],this._actualPosition=undefined}function MdPanelAnimation($injector){this._$mdUtil=$injector.get("$mdUtil"),this._openFrom,this._closeTo,this._animationClass="",this._openDuration,this._closeDuration,this._rawDuration}function getElement(el){var queryResult=angular.isString(el)?document.querySelector(el):el;return angular.element(queryResult)}function validatePosition(positionMap,value){if(null!==value&&!angular.isUndefined(value)){for(var key,positionKeys=Object.keys(positionMap),positionValues=[],i=0;key=positionKeys[i];i++){var position=positionMap[key];if(positionValues.push(position),position===value)return}throw new Error("Panel position only accepts the following values:\n"+positionValues.join(" | "))}}function addUnits(value){return angular.isNumber(value)?value+"px":value}MdPanelService.prototype.create=function(preset,config){if("string"==typeof preset?preset=this._getPresetByName(preset):"object"!=typeof preset||!angular.isUndefined(config)&&config||(config=preset,preset={}),preset=preset||{},config=config||{},angular.isDefined(config.id)&&this._trackedPanels[config.id]){var trackedPanel=this._trackedPanels[config.id];return angular.extend(trackedPanel.config,config),trackedPanel}this._config=angular.extend({id:config.id||"panel_"+this._$mdUtil.nextUid(),scope:this._$rootScope.$new(!0),attachTo:this._$rootElement},this._defaultConfigOptions,config,preset);var panelRef=new MdPanelRef(this._config,this._$injector);return this._trackedPanels[this._config.id]=panelRef,this._config.groupName&&(this._config.groupName=coerceToArray(this._config.groupName),angular.forEach(this._config.groupName,function(group){panelRef.addToGroup(group)})),this._config.scope.$on("$destroy",angular.bind(panelRef,panelRef.detach)),panelRef},MdPanelService.prototype.open=function(preset,config){var panelRef=this.create(preset,config);return panelRef.open().then(function(){return panelRef})},MdPanelService.prototype._getPresetByName=function(preset){if(!this._presets[preset])throw new Error("mdPanel: The panel preset configuration that you requested does not exist. Use the $mdPanelProvider to create a preset before requesting one.");return this._presets[preset]},MdPanelService.prototype.newPanelPosition=function(){return new MdPanelPosition(this._$injector)},MdPanelService.prototype.newPanelAnimation=function(){return new MdPanelAnimation(this._$injector)},MdPanelService.prototype.newPanelGroup=function(groupName,config){return this._groups[groupName]||(config=config||{},this._groups[groupName]={panels:[],openPanels:[],maxOpen:config.maxOpen>0?config.maxOpen:1/0}),this._groups[groupName]},MdPanelService.prototype.setGroupMaxOpen=function(groupName,maxOpen){if(!this._groups[groupName])throw new Error("mdPanel: Group does not exist yet. Call newPanelGroup().");this._groups[groupName].maxOpen=maxOpen},MdPanelService.prototype._openCountExceedsMaxOpen=function(groupName){if(this._groups[groupName]){var group=this._groups[groupName];return group.maxOpen>0&&group.openPanels.length>group.maxOpen}return!1},MdPanelService.prototype._closeFirstOpenedPanel=function(groupName){var group=this._groups[groupName];group&&group.openPanels.length&&group.openPanels[0].close()},MdPanelService.prototype._wrapTemplate=function(origTemplate){return'<div class="md-panel-outer-wrapper"><div class="md-panel-inner-wrapper _md-panel-offscreen"><div class="md-panel _md-panel-offscreen">'+(origTemplate||"")+"</div></div></div>"},MdPanelService.prototype._wrapContentElement=function(contentElement){var outerWrapper=angular.element('<div class="md-panel-outer-wrapper"><div class="md-panel-inner-wrapper _md-panel-offscreen"></div></div>');return contentElement.addClass("md-panel _md-panel-offscreen"),outerWrapper.children().eq(0).append(contentElement),outerWrapper},MdPanelRef.interceptorTypes={CLOSE:"onClose"},MdPanelRef.prototype.open=function(){var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),show=self._simpleBind(self.show,self);self.attach().then(show).then(function(){self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){self._$mdPanel._openCountExceedsMaxOpen(group)&&self._$mdPanel._closeFirstOpenedPanel(group)}))}).then(done).catch(reject)})},MdPanelRef.prototype.close=function(closeReason){var self=this;return this._$q(function(resolve,reject){self._callInterceptors(MdPanelRef.interceptorTypes.CLOSE).then(function(){var done=self._done(resolve,self),detach=self._simpleBind(self.detach,self),onCloseSuccess=self.config.onCloseSuccess||angular.noop;onCloseSuccess=angular.bind(self,onCloseSuccess,self,closeReason),self.hide().then(detach).then(done).then(onCloseSuccess).catch(reject)},reject)})},MdPanelRef.prototype.attach=function(){if(this.isAttached&&this.panelEl)return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onDomAdded=self.config.onDomAdded||angular.noop;self._$q.all([self._createBackdrop(),self._createPanel().then(function(response){return self.isAttached=!0,self._addEventListeners(),response}).catch(reject)]).then(onDomAdded).then(done).catch(reject)})},MdPanelRef.prototype.detach=function(){if(!this.isAttached)return this._$q.when(this);var self=this,onDomRemoved=self.config.onDomRemoved||angular.noop;return this._restoreScroll&&(this._restoreScroll(),this._restoreScroll=null),this._$q(function(resolve,reject){var done=self._done(resolve,self);self._$q.all([(self._removeEventListeners(),self._topFocusTrap&&self._topFocusTrap.parentNode&&self._topFocusTrap.parentNode.removeChild(self._topFocusTrap),self._bottomFocusTrap&&self._bottomFocusTrap.parentNode&&self._bottomFocusTrap.parentNode.removeChild(self._bottomFocusTrap),self._restoreCache.classes&&(self.panelEl[0].className=self._restoreCache.classes),self.panelEl[0].style.cssText=self._restoreCache.styles||"",self._compilerCleanup(),self.panelContainer.remove(),self.isAttached=!1,self._$q.when(self)),!self._backdropRef||self._backdropRef.detach()]).then(onDomRemoved).then(done).catch(reject)})},MdPanelRef.prototype.destroy=function(){var self=this;this.config.groupName&&(this.config.groupName=coerceToArray(this.config.groupName),angular.forEach(this.config.groupName,function(group){self.removeFromGroup(group)})),this.config.scope.$destroy(),this.config.locals=null,this.config.onDomAdded=null,this.config.onDomRemoved=null,this.config.onRemoving=null,this.config.onOpenComplete=null,this._interceptors=undefined},MdPanelRef.prototype.show=function(){if(!this.panelContainer)return this._$q(function(resolve,reject){reject("mdPanel: Panel does not exist yet. Call open() or attach().")});if(!this.panelContainer.hasClass("_md-panel-hidden"))return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onOpenComplete=self.config.onOpenComplete||angular.noop;self._$q.all([self._backdropRef?self._backdropRef.show():self,(self.panelContainer.removeClass("_md-panel-hidden"),self._animateOpen()).then(function(){self._focusOnOpen()},reject)]).then(onOpenComplete).then(function(){self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){(group=self._$mdPanel._groups[group])&&group.openPanels.push(self)}))}).then(done).catch(reject)})},MdPanelRef.prototype.hide=function(){if(!this.panelContainer)return this._$q(function(resolve,reject){reject("mdPanel: Panel does not exist yet. Call open() or attach().")});if(this.panelContainer.hasClass("_md-panel-hidden"))return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onRemoving=self.config.onRemoving||angular.noop;self._$q.all([self._backdropRef?self._backdropRef.hide():self,self._animateClose().then(onRemoving).then(function(){self.panelContainer.addClass("_md-panel-hidden")}).then(function(){var index;self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){group=self._$mdPanel._groups[group],(index=group.openPanels.indexOf(self))>-1&&group.openPanels.splice(index,1)}))}).then(function(){var origin=self.config.origin;origin&&getElement(origin).focus()}).catch(reject)]).then(done,reject)})},MdPanelRef.prototype._compile=function(){var self=this;return self._$mdCompiler.compile(self.config).then(function(compileData){var config=self.config;if(config.contentElement){var panelEl=compileData.element;self._restoreCache.styles=panelEl[0].style.cssText,self._restoreCache.classes=panelEl[0].className,self.panelContainer=self._$mdPanel._wrapContentElement(panelEl),self.panelEl=panelEl}else self.panelContainer=compileData.link(config.scope),self.panelEl=angular.element(self.panelContainer[0].querySelector(".md-panel"));return self.innerWrapper=angular.element(self.panelContainer[0].querySelector(".md-panel-inner-wrapper")),self._compilerCleanup=compileData.cleanup,getElement(self.config.attachTo).append(self.panelContainer),self})},MdPanelRef.prototype._createPanel=function(){var self=this;return this._$q(function(resolve,reject){self.config.locals||(self.config.locals={}),self.config.locals.mdPanelRef=self,self._compile().then(function(){self.config.disableParentScroll&&(self._restoreScroll=self._$mdUtil.disableScrollAround(null,self.panelContainer,{disableScrollMask:!0})),self.config.panelClass&&self.panelEl.addClass(self.config.panelClass),self.config.propagateContainerEvents&&(self.panelContainer.css("pointer-events","none"),self.panelEl.css("pointer-events","all")),self._$animate.pin&&self._$animate.pin(self.panelContainer,getElement(self.config.attachTo)),self._configureTrapFocus(),self._addStyles().then(function(){resolve(self)},reject)},reject)})},MdPanelRef.prototype._addStyles=function(){var self=this;return this._$q(function(resolve){self.panelContainer.css("z-index",self.config.zIndex),self.innerWrapper.css("z-index",self.config.zIndex+1);var hideAndResolve=function(){self._setTheming(),self.panelEl.removeClass("_md-panel-offscreen"),self.innerWrapper.removeClass("_md-panel-offscreen"),self.panelContainer.addClass("_md-panel-hidden"),resolve(self)};if(self.config.fullscreen)return self.panelEl.addClass("_md-panel-fullscreen"),void hideAndResolve();self.config.position?self._$rootScope.$$postDigest(function(){self._updatePosition(!0),self._setTheming(),resolve(self)}):hideAndResolve()})},MdPanelRef.prototype._setTheming=function(){this._$mdTheming(this.panelEl),this._$mdTheming(this.panelContainer)},MdPanelRef.prototype.updatePosition=function(position){if(!this.panelContainer)throw new Error("mdPanel: Panel does not exist yet. Call open() or attach().");this.config.position=position,this._updatePosition()},MdPanelRef.prototype._updatePosition=function(init){var positionConfig=this.config.position;positionConfig&&(positionConfig._setPanelPosition(this.innerWrapper),init&&(this.panelEl.removeClass("_md-panel-offscreen"),this.innerWrapper.removeClass("_md-panel-offscreen"),this.panelContainer.addClass("_md-panel-hidden")),this.innerWrapper.css(MdPanelPosition.absPosition.TOP,positionConfig.getTop()),this.innerWrapper.css(MdPanelPosition.absPosition.BOTTOM,positionConfig.getBottom()),this.innerWrapper.css(MdPanelPosition.absPosition.LEFT,positionConfig.getLeft()),this.innerWrapper.css(MdPanelPosition.absPosition.RIGHT,positionConfig.getRight()))},MdPanelRef.prototype._focusOnOpen=function(){if(this.config.focusOnOpen){var self=this;this._$rootScope.$$postDigest(function(){(self._$mdUtil.findFocusTarget(self.panelEl)||self.panelEl).focus()})}},MdPanelRef.prototype._createBackdrop=function(){if(this.config.hasBackdrop){if(!this._backdropRef){var backdropAnimation=this._$mdPanel.newPanelAnimation().openFrom(this.config.attachTo).withAnimation({open:"_md-opaque-enter",close:"_md-opaque-leave"});this.config.animation&&backdropAnimation.duration(this.config.animation._rawDuration);var backdropConfig={animation:backdropAnimation,attachTo:this.config.attachTo,focusOnOpen:!1,panelClass:"_md-panel-backdrop",zIndex:this.config.zIndex-1};this._backdropRef=this._$mdPanel.create(backdropConfig)}if(!this._backdropRef.isAttached)return this._backdropRef.attach()}},MdPanelRef.prototype._addEventListeners=function(){this._configureEscapeToClose(),this._configureClickOutsideToClose(),this._configureScrollListener()},MdPanelRef.prototype._removeEventListeners=function(){this._removeListeners&&this._removeListeners.forEach(function(removeFn){removeFn()}),this._removeListeners=[]},MdPanelRef.prototype._configureEscapeToClose=function(){if(this.config.escapeToClose){var parentTarget=getElement(this.config.attachTo),self=this,keyHandlerFn=function(ev){ev.keyCode===self._$mdConstant.KEY_CODE.ESCAPE&&(ev.stopPropagation(),ev.preventDefault(),self.close(MdPanelRef.closeReasons.ESCAPE))};this.panelContainer.on("keydown",keyHandlerFn),parentTarget.on("keydown",keyHandlerFn),this._removeListeners.push(function(){self.panelContainer.off("keydown",keyHandlerFn),parentTarget.off("keydown",keyHandlerFn)})}},MdPanelRef.prototype._configureClickOutsideToClose=function(){if(this.config.clickOutsideToClose){var sourceEl,target=this.config.propagateContainerEvents?angular.element(document.body):this.panelContainer,mousedownHandler=function(ev){sourceEl=ev.target},self=this,mouseupHandler=function(ev){self.config.propagateContainerEvents?sourceEl===self.panelEl[0]||self.panelEl[0].contains(sourceEl)||self.close():sourceEl===target[0]&&ev.target===target[0]&&(ev.stopPropagation(),ev.preventDefault(),self.close(MdPanelRef.closeReasons.CLICK_OUTSIDE))};target.on("mousedown",mousedownHandler),target.on("mouseup",mouseupHandler),this._removeListeners.push(function(){target.off("mousedown",mousedownHandler),target.off("mouseup",mouseupHandler)})}},MdPanelRef.prototype._configureScrollListener=function(){if(!this.config.disableParentScroll){var updatePosition=angular.bind(this,this._updatePosition),debouncedUpdatePosition=this._$$rAF.throttle(updatePosition),self=this,onScroll=function(){debouncedUpdatePosition()};this._$window.addEventListener("scroll",onScroll,!0),this._removeListeners.push(function(){self._$window.removeEventListener("scroll",onScroll,!0)})}},MdPanelRef.prototype._configureTrapFocus=function(){if(this.panelEl.attr("tabIndex","-1"),this.config.trapFocus){var element=this.panelEl;if(!FOCUS_TRAP_TEMPLATE){var template=document.createElement("div");template.className="_md-panel-focus-trap",template.tabIndex=0,FOCUS_TRAP_TEMPLATE=angular.element(template)}this._topFocusTrap=FOCUS_TRAP_TEMPLATE.clone()[0],this._bottomFocusTrap=FOCUS_TRAP_TEMPLATE.clone()[0];var focusHandler=function(){element.focus()};this._topFocusTrap.addEventListener("focus",focusHandler),this._bottomFocusTrap.addEventListener("focus",focusHandler),this._removeListeners.push(this._simpleBind(function(){this._topFocusTrap.removeEventListener("focus",focusHandler),this._bottomFocusTrap.removeEventListener("focus",focusHandler)},this)),element[0].parentNode.insertBefore(this._topFocusTrap,element[0]),element.after(this._bottomFocusTrap)}},MdPanelRef.prototype.updateAnimation=function(animation){this.config.animation=animation,this._backdropRef&&this._backdropRef.config.animation.duration(animation._rawDuration)},MdPanelRef.prototype._animateOpen=function(){this.panelContainer.addClass("md-panel-is-showing");var animationConfig=this.config.animation;if(!animationConfig)return this.panelContainer.addClass("_md-panel-sh
1own"),this._$q.when(this);var self=this;return this._$q(function(resolve){var done=self._done(resolve,self);animationConfig.animateOpen(self.panelEl).then(done,function(){self._$log.warn("mdPanel: MdPanel Animations failed. Showing panel without animating."),done()})})},MdPanelRef.prototype._animateClose=function(){var self=this,animationConfig=this.config.animation;return animationConfig?this._$q(function(resolve){var done=function(){self.panelContainer.removeClass("md-panel-is-showing"),self.panelEl.css("transform",""),resolve(self)};animationConfig.animateClose(self.panelEl).then(done,function(){self._$log.warn("mdPanel: MdPanel Animations failed. Hiding panel without animating."),done()})}):(this.panelContainer.removeClass("md-panel-is-showing"),this.panelContainer.removeClass("_md-panel-shown"),this._$q.when(this))},MdPanelRef.prototype.registerInterceptor=function(type,callback){var error=null;if(angular.isString(type)?angular.isFunction(callback)||(error="Interceptor callback must be a function, instead got "+typeof callback):error="Interceptor type must be a string, instead got "+typeof type,error)throw new Error("MdPanel: "+error);var interceptors=this._interceptors[type]=this._interceptors[type]||[];return-1===interceptors.indexOf(callback)&&interceptors.push(callback),this},MdPanelRef.prototype.removeInterceptor=function(type,callback){var index=this._interceptors[type]?this._interceptors[type].indexOf(callback):-1;return index>-1&&this._interceptors[type].splice(index,1),this},MdPanelRef.prototype.removeAllInterceptors=function(type){return type?this._interceptors[type]=[]:this._interceptors=Object.create(null),this},MdPanelRef.prototype._callInterceptors=function(type){var self=this,$q=self._$q;return(self._interceptors&&self._interceptors[type]||[]).reduceRight(function(promise,interceptor){var response=interceptor&&angular.isFunction(interceptor.then)?interceptor:null;return promise.then(function(){if(!response)try{response=interceptor(self)}catch(e){response=$q.reject(e)}return response})},$q.resolve(self))},MdPanelRef.prototype._simpleBind=function(callback,self){return function(value){return callback.apply(self,value)}},MdPanelRef.prototype._done=function(callback,self){return function(){callback(self)}},MdPanelRef.prototype.addToGroup=function(groupName){this._$mdPanel._groups[groupName]||this._$mdPanel.newPanelGroup(groupName);var group=this._$mdPanel._groups[groupName];group.panels.indexOf(this)<0&&group.panels.push(this)},MdPanelRef.prototype.removeFromGroup=function(groupName){if(!this._$mdPanel._groups[groupName])throw new Error("mdPanel: The group "+groupName+" does not exist.");var group=this._$mdPanel._groups[groupName],index=group.panels.indexOf(this);index>-1&&group.panels.splice(index,1)},MdPanelRef.closeReasons={CLICK_OUTSIDE:"clickOutsideToClose",ESCAPE:"escapeToClose"},MdPanelPosition.xPosition={CENTER:"center",ALIGN_START:"align-start",ALIGN_END:"align-end",OFFSET_START:"offset-start",OFFSET_END:"offset-end"},MdPanelPosition.yPosition={CENTER:"center",ALIGN_TOPS:"align-tops",ALIGN_BOTTOMS:"align-bottoms",ABOVE:"above",BELOW:"below"},MdPanelPosition.absPosition={TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},MdPanelPosition.viewportMargin=8,MdPanelPosition.prototype.absolute=function(){return this._absolute=!0,this},MdPanelPosition.prototype._setPosition=function(position,value){if(position===MdPanelPosition.absPosition.RIGHT||position===MdPanelPosition.absPosition.LEFT)this._left=this._right="";else{if(position!==MdPanelPosition.absPosition.BOTTOM&&position!==MdPanelPosition.absPosition.TOP){var positions=Object.keys(MdPanelPosition.absPosition).join().toLowerCase();throw new Error("mdPanel: Position must be one of "+positions+".")}this._top=this._bottom=""}return this["_"+position]=angular.isString(value)?value:"0",this},MdPanelPosition.prototype.top=function(top){return this._setPosition(MdPanelPosition.absPosition.TOP,top)},MdPanelPosition.prototype.bottom=function(bottom){return this._setPosition(MdPanelPosition.absPosition.BOTTOM,bottom)},MdPanelPosition.prototype.start=function(start){var position=this._isRTL?MdPanelPosition.absPosition.RIGHT:MdPanelPosition.absPosition.LEFT;return this._setPosition(position,start)}
vendor: 34,801 bytes, line 1
1,MdPanelPosition.prototype.end=function(end){var position=this._isRTL?MdPanelPosition.absPosition.LEFT:MdPanelPosition.absPosition.RIGHT;return this._setPosition(position,end)},MdPanelPosition.prototype.left=function(left){return this._setPosition(MdPanelPosition.absPosition.LEFT,left)},MdPanelPosition.prototype.right=function(right){return this._setPosition(MdPanelPosition.absPosition.RIGHT,right)},MdPanelPosition.prototype.centerHorizontally=function(){return this._left="50%",this._right="",this._translateX=["-50%"],this},MdPanelPosition.prototype.centerVertically=function(){return this._top="50%",this._bottom="",this._translateY=["-50%"],this},MdPanelPosition.prototype.center=function(){return this.centerHorizontally().centerVertically()},MdPanelPosition.prototype.relativeTo=function(element){return this._absolute=!1,this._relativeToEl=getElement(element),this},MdPanelPosition.prototype.addPanelPosition=function(xPosition,yPosition){if(!this._relativeToEl)throw new Error("mdPanel: addPanelPosition can only be used with relative positioning. Set relativeTo first.");return validatePosition(MdPanelPosition.xPosition,xPosition),validatePosition(MdPanelPosition.yPosition,yPosition),this._positions.push({x:xPosition,y:yPosition}),this},MdPanelPosition.prototype.withOffsetX=function(offsetX){return this._translateX.push(addUnits(offsetX)),this},MdPanelPosition.prototype.withOffsetY=function(offsetY){return this._translateY.push(addUnits(offsetY)),this},MdPanelPosition.prototype.getTop=function(){return this._top},MdPanelPosition.prototype.getBottom=function(){return this._bottom},MdPanelPosition.prototype.getLeft=function(){return this._left},MdPanelPosition.prototype.getRight=function(){return this._right},MdPanelPosition.prototype.getTransform=function(){return(this._reduceTranslateValues("translateX",this._translateX)+" "+this._reduceTranslateValues("translateY",this._translateY)).trim()},MdPanelPosition.prototype._setTransform=function(el){return el.css(this._$mdConstant.CSS.TRANSFORM,this.getTransform())},MdPanelPosition.prototype._isOnscreen=function(el){var left=parseInt(this.getLeft()),top=parseInt(this.getTop());if(this._translateX.length||this._translateY.length){var offsets=function(el,property){var transform=getComputedStyle(el[0]||el)[property],openIndex=transform.indexOf("("),closeIndex=transform.lastIndexOf(")"),output={x:0,y:0};if(openIndex>-1&&closeIndex>-1){var parsedValues=transform.substring(openIndex+1,closeIndex).split(", ").slice(-2);output.x=parseInt(parsedValues[0]),output.y=parseInt(parsedValues[1])}return output}(el,this._$mdConstant.CSS.TRANSFORM);left+=offsets.x,top+=offsets.y}var right=left+el[0].offsetWidth,bottom=top+el[0].offsetHeight;return left>=0&&top>=0&&bottom<=this._$window.innerHeight&&right<=this._$window.innerWidth},MdPanelPosition.prototype.getActualPosition=function(){return this._actualPosition},MdPanelPosition.prototype._reduceTranslateValues=function(translateFn,values){return values.map(function(translation){var translationValue=angular.isFunction(translation)?addUnits(translation(this)):translation;return translateFn+"("+translationValue+")"},this).join(" ")},MdPanelPosition.prototype._setPanelPosition=function(el){if(el.removeClass("_md-panel-position-adjusted"),this._absolute)this._setTransform(el);else{if(this._actualPosition)return this._calculatePanelPosition(el,this._actualPosition),this._setTransform(el),void this._constrainToViewport(el);for(var i=0;i<this._positions.length;i++)if(this._actualPosition=this._positions[i],this._calculatePanelPosition(el,this._actualPosition),this._setTransform(el),this._isOnscreen(el))return;this._constrainToViewport(el)}},MdPanelPosition.prototype._constrainToViewport=function(el){var margin=MdPanelPosition.viewportMargin,initialTop=this._top,initialLeft=this._left;if(this.getTop()){var top=parseInt(this.getTop()),bottom=el[0].offsetHeight+top,viewportHeight=this._$window.innerHeight;top<margin?this._top=margin+"px":bottom>viewportHeight&&(this._top=top-(bottom-viewportHeight+margin)+"px")}if(this.getLeft()){var left=parseInt(this.getLeft()),right=el[0].offsetWidth+left,viewportWidth=this._$window.innerWidth;left<margin?this._left=margin+"px":right>viewportWidth&&(this._left=left-(right-viewportWidth+margin)+"px")}el.toggleClass("_md-panel-position-adjusted",this._top!==initialTop||this._left!==initialLeft)},MdPanelPosition.prototype._reverseXPosition=function(position){if(position===MdPanelPosition.xPosition.CENTER)return position;return position.indexOf("start")>-1?position.replace("start","end"):position.replace("end","start")},MdPanelPosition.prototype._bidi=function(position){return this._isRTL?this._reverseXPosition(position):position},MdPanelPosition.prototype._calculatePanelPosition=function(el,position){var panelBounds=el[0].getBoundingClientRect(),panelWidth=Math.max(panelBounds.width,el[0].clientWidth),panelHeight=Math.max(panelBounds.height,el[0].clientHeight),targetBounds=this._relativeToEl[0].getBoundingClientRect(),targetLeft=targetBounds.left,targetRight=targetBounds.right,targetWidth=targetBounds.width;switch(this._bidi(position.x)){case MdPanelPosition.xPosition.OFFSET_START:this._left=targetLeft-panelWidth+"px";break;case MdPanelPosition.xPosition.ALIGN_END:this._left=targetRight-panelWidth+"px";break;case MdPanelPosition.xPosition.CENTER:var left=targetLeft+.5*targetWidth-.5*panelWidth;this._left=left+"px";break;case MdPanelPosition.xPosition.ALIGN_START:this._left=targetLeft+"px";break;case MdPanelPosition.xPosition.OFFSET_END:this._left=targetRight+"px"}var targetTop=targetBounds.top,targetBottom=targetBounds.bottom,targetHeight=targetBounds.height;switch(position.y){case MdPanelPosition.yPosition.ABOVE:this._top=targetTop-panelHeight+"px";break;case MdPanelPosition.yPosition.ALIGN_BOTTOMS:this._top=targetBottom-panelHeight+"px";break;case MdPanelPosition.yPosition.CENTER:var top=targetTop+.5*targetHeight-.5*panelHeight;this._top=top+"px";break;case MdPanelPosition.yPosition.ALIGN_TOPS:this._top=targetTop+"px";break;case MdPanelPosition.yPosition.BELOW:this._top=targetBottom+"px"}},MdPanelAnimation.animation={SLIDE:"md-panel-animate-slide",SCALE:"md-panel-animate-scale",FADE:"md-panel-animate-fade"},MdPanelAnimation.prototype.openFrom=function(openFrom){return openFrom=openFrom.target?openFrom.target:openFrom,this._openFrom=this._getPanelAnimationTarget(openFrom),this._closeTo||(this._closeTo=this._openFrom),this},MdPanelAnimation.prototype.closeTo=function(closeTo){return this._closeTo=this._getPanelAnimationTarget(closeTo),this},MdPanelAnimation.prototype.duration=function(duration){return duration&&(angular.isNumber(duration)?this._openDuration=this._closeDuration=toSeconds(duration):angular.isObject(duration)&&(this._openDuration=toSeconds(duration.open),this._closeDuration=toSeconds(duration.close))),this._rawDuration=duration,this;function toSeconds(value){if(angular.isNumber(value))return value/1e3}},MdPanelAnimation.prototype._getPanelAnimationTarget=function(location){return angular.isDefined(location.top)||angular.isDefined(location.left)?{element:undefined,bounds:{top:location.top||0,left:location.left||0}}:this._getBoundingClientRect(getElement(location))},MdPanelAnimation.prototype.withAnimation=function(cssClass){return this._animationClass=cssClass,this},MdPanelAnimation.prototype.animateOpen=function(panelEl){var animator=this._$mdUtil.dom.animator;this._fixBounds(panelEl);var animationOptions={},panelTransform=panelEl[0].style.transform||"",openFrom=animator.toTransformCss(panelTransform),openTo=animator.toTransformCss(panelTransform);switch(this._animationClass){case MdPanelAnimation.animation.SLIDE:panelEl.css("opacity","1"),animationOptions={transitionInClass:"_md-panel-animate-enter",transitionOutClass:"_md-panel-animate-leave"};var openSlide=animator.calculateSlideToOrigin(panelEl,this._openFrom)||"";openFrom=animator.toTransformCss(openSlide+" "+panelTransform);break;case MdPanelAnimation.animation.SCALE:animationOptions={transitionInClass:"_md-panel-animate-enter"};var openScale=animator.calculateZoomToOrigin(panelEl,this._openFrom)||"";openFrom=animator.toTransformCss(panelTransform+" "+openScale);break;case MdPanelAnimation.animation.FADE:animationOptions={transitionInClass:"_md-panel-animate-enter"};break;default:animationOptions=angular.isString(this._animationClass)?{transitionInClass:this._animationClass}:{transitionInClass:this._animationClass.open,transitionOutClass:this._animationClass.close}}return animationOptions.duration=this._openDuration,animator.translate3d(panelEl,openFrom,openTo,animationOptions)},MdPanelAnimation.prototype.animateClose=function(panelEl){var animator=this._$mdUtil.dom.animator,reverseAnimationOptions={},panelTransform=panelEl[0].style.transform||"",closeFrom=animator.toTransformCss(panelTransform),closeTo=animator.toTransformCss(panelTransform);switch(this._animationClass){case MdPanelAnimation.animation.SLIDE:panelEl.css("opacity","1"),reverseAnimationOptions={transitionInClass:"_md-panel-animate-leave",transitionOutClass:"_md-panel-animate-enter _md-panel-animate-leave"};var closeSlide=animator.calculateSlideToOrigin(panelEl,this._closeTo)||"";closeTo=animator.toTransformCss(closeSlide+" "+panelTransform);break;case MdPanelAnimation.animation.SCALE:reverseAnimationOptions={transitionInClass:"_md-panel-animate-scale-out _md-panel-animate-leave",transitionOutClass:"_md-panel-animate-scale-out _md-panel-animate-enter _md-panel-animate-leave"};var closeScale=animator.calculateZoomToOrigin(panelEl,this._closeTo)||"";closeTo=animator.toTransformCss(panelTransform+" "+closeScale);break;case MdPanelAnimation.animation.FADE:reverseAnimationOptions={transitionInClass:"_md-panel-animate-fade-out _md-panel-animate-leave",transitionOutClass:"_md-panel-animate-fade-out _md-panel-animate-enter _md-panel-animate-leave"};break;default:reverseAnimationOptions=angular.isString(this._animationClass)?{transitionOutClass:this._animationClass}:{transitionInClass:this._animationClass.close,transitionOutClass:this._animationClass.open}}return reverseAnimationOptions.duration=this._closeDuration,animator.translate3d(panelEl,closeFrom,closeTo,reverseAnimationOptions)},MdPanelAnimation.prototype._fixBounds=function(panelEl){var panelWidth=panelEl[0].offsetWidth,panelHeight=panelEl[0].offsetHeight;this._openFrom&&null==this._openFrom.bounds.height&&(this._openFrom.bounds.height=panelHeight),this._openFrom&&null==this._openFrom.bounds.width&&(this._openFrom.bounds.width=panelWidth),this._closeTo&&null==this._closeTo.bounds.height&&(this._closeTo.bounds.height=panelHeight),this._closeTo&&null==this._closeTo.bounds.width&&(this._closeTo.bounds.width=panelWidth)},MdPanelAnimation.prototype._getBoundingClientRect=function(element){if(element instanceof angular.element)return{element:element,bounds:element[0].getBoundingClientRect()}}}(),angular.module("material.components.progressCircular",["material.core"]),function(){function MdProgressCircularDirective($window,$mdProgressCircular,$mdTheming,$mdUtil,$interval,$log){var rAF=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame||angular.noop,cAF=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame||angular.noop,MODE_DETERMINATE="determinate",MODE_INDETERMINATE="indeterminate",DISABLED_CLASS="_md-progress-circular-disabled",INDETERMINATE_CLASS="md-mode-indeterminate";return{restrict:"E",scope:{value:"@",mdDiameter:"@",mdMode:"@"},template:'<svg xmlns="http://www.w3.org/2000/svg"><path fill="none"/></svg>',compile:function(element,attrs){if(element.attr({"aria-valuemin":0,"aria-valuemax":100,role:"progressbar"}),angular.isUndefined(attrs.mdMode)){var mode=attrs.hasOwnProperty("value")?MODE_DETERMINATE:MODE_INDETERMINATE;attrs.$set("mdMode",mode)}else attrs.$set("mdMode",attrs.mdMode.trim());return MdProgressCircularLink}};function MdProgressCircularLink(scope,element,attrs){var lastDrawFrame,interval,node=element[0],svg=angular.element(node.querySelector("svg")),path=angular.element(node.querySelector("path")),startIndeterminate=$mdProgressCircular.startIndeterminate,endIndeterminate=$mdProgressCircular.endIndeterminate,iterationCount=0,lastAnimationId=0;function renderCircle(animateFrom,animateTo,easing,duration,iterationCount,maxValue){var id=++lastAnimationId,startTime=$mdUtil.now(),changeInValue=animateTo-animateFrom,diameter=getSize(scope.mdDiameter),strokeWidth=getStroke(diameter),ease=easing||$mdProgressCircular.easeFn,animationDuration=duration||$mdProgressCircular.duration,rotation=-90*(iterationCount||0),dashLimit=maxValue||100;function renderFrame(value){path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,value,dashLimit)),path.attr("transform","rotate("+rotation+" "+diameter/2+" "+diameter/2+")")}animateTo===animateFrom?renderFrame(animateTo):lastDrawFrame=rAF(function animation(){var currentTime=$window.Math.max(0,$window.Math.min($mdUtil.now()-startTime,animationDuration));renderFrame(ease(currentTime,animateFrom,changeInValue,animationDuration)),id===lastAnimationId&&currentTime<animationDuration&&(lastDrawFrame=rAF(animation))})}function animateIndeterminate(){renderCircle(startIndeterminate,endIndeterminate,$mdProgressCircular.easeFnIndeterminate,$mdProgressCircular.durationIndeterminate,iterationCount,75),iterationCount=++iterationCount%4}function startIndeterminateAnimation(){interval||(interval=$interval(animateIndeterminate,$mdProgressCircular.durationIndeterminate,0,!1),animateIndeterminate(),element.addClass(INDETERMINATE_CLASS).removeAttr("aria-valuenow"))}function cleanupIndeterminateAnimation(){interval&&($interval.cancel(interval),interval=null,element.removeClass(INDETERMINATE_CLASS))}$mdTheming(element),element.toggleClass(DISABLED_CLASS,attrs.hasOwnProperty("disabled")),scope.mdMode===MODE_INDETERMINATE&&startIndeterminateAnimation(),scope.$on("$destroy",function(){cleanupIndeterminateAnimation(),lastDrawFrame&&cAF(lastDrawFrame)}),scope.$watchGroup(["value","mdMode",function(){var isDisabled=node.disabled;return!0===isDisabled||!1===isDisabled?isDisabled:angular.isDefined(element.attr("disabled"))}],function(newValues,oldValues){var mode=newValues[1],isDisabled=newValues[2],diameter=0,strokeWidth=0;if(isDisabled!==oldValues[2]&&element.toggleClass(DISABLED_CLASS,!!isDisabled),isDisabled)cleanupIndeterminateAnimation();else if(mode!==MODE_DETERMINATE&&mode!==MODE_INDETERMINATE&&(mode=MODE_INDETERMINATE,attrs.$set("mdMode",mode)),mode===MODE_INDETERMINATE)oldValues[1]===MODE_DETERMINATE&&(strokeWidth=getStroke(diameter=getSize(scope.mdDiameter)),path.attr("d",getSvgArc(diameter,strokeWidth,!0)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,75))),startIndeterminateAnimation();else{var newValue=clamp(newValues[0]),oldValue=clamp(oldValues[0]);cleanupIndeterminateAnimation(),oldValues[1]===MODE_INDETERMINATE&&(strokeWidth=getStroke(diameter=getSize(scope.mdDiameter)),path.attr("d",getSvgArc(diameter,strokeWidth,!1)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,100))),element.attr("aria-valuenow",newValue),renderCircle(oldValue,newValue)}}),scope.$watch("mdDiameter",function(newValue){var diameter=getSize(newValue),strokeWidth=getStroke(diameter),value=clamp(scope.value),transformOrigin=diameter/2+"px",dimensions={width:diameter+"px",height:diameter+"px"};svg[0].setAttribute("viewBox","0 0 "+diameter+" "+diameter),svg.css(dimensions).css("transform-origin",transformOrigin+" "+transformOrigin+" "+transformOrigin),element.css(dimensions),path.attr("stroke-width",strokeWidth),path.attr("stroke-linecap","square"),scope.mdMode==MODE_INDETERMINATE?(path.attr("d",getSvgArc(diameter,strokeWidth,!0)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,75)),path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,1,75))):(path.attr("d",getSvgArc(diameter,strokeWidth,!1)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,100)),path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,0,100)),renderCircle(value,value))})}function getSvgArc(diameter,strokeWidth,indeterminate){var radius=diameter/2,offset=strokeWidth/2,start=radius+","+offset,arcRadius=radius-offset;return"M"+start+"A"+arcRadius+","+arcRadius+" 0 1 1 "+(offset+","+radius)+(indeterminate?"":"A"+arcRadius+","+arcRadius+" 0 0 1 "+start)}function getDashOffset(diameter,strokeWidth,value,maxArcLength){return getSpinnerCircumference(diameter,strokeWidth)*((maxArcLength-value)/100)}function clamp(value){return $window.Math.max(0,$window.Math.min(value||0,100))}function getSize(value){var defaultValue=$mdProgressCircular.progressSize;if(value){var parsed=parseFloat(value);return value.lastIndexOf("%")===value.length-1&&(parsed=parsed/100*defaultValue),parsed}return defaultValue}function getStroke(diameter){return $mdProgressCircular.strokeWidth/100*diameter}function getDashLength(diameter,strokeWidth,value){return getSpinnerCircumference(diameter,strokeWidth)*(value/100)}function getSpinnerCircumference(diameter,strokeWidth){return(diameter-strokeWidth)*$window.Math.PI}}MdProgressCircularDirective.$inject=["$window","$mdProgressCircular","$mdTheming","$mdUtil","$interval","$log"],angular.module("material.components.progressCircular").directive("mdProgressCircular",MdProgressCircularDirective)}(),function(){angular.module("material.components.progressCircular").provider("$mdProgressCircular",function(){var progressConfig={progressSize:50,strokeWidth:10,duration:100,easeFn:linearEase,durationIndeterminate:1333,startIndeterminate:1,endIndeterminate:149,easeFnIndeterminate:materialEase,easingPresets:{linearEase:linearEase,materialEase:materialEase}};return{configure:function(options){return progressConfig=angular.extend(progressConfig,options||{})},$get:function(){return progressConfig}};function linearEase(t,b,c,d){return c*t/d+b}function materialEase(t,b,c,d){var ts=(t/=d)*t,tc=ts*t;return b+c*(6*tc*ts+-15*ts*ts+10*tc)}})}(),function(){function MdProgressLinearDirective($mdTheming,$mdUtil,$log){var MODE_DETERMINATE="determinate",MODE_INDETERMINATE="indeterminate",MODE_BUFFER="buffer",MODE_QUERY="query",DISABLED_CLASS="_md-progress-linear-disabled";return{restrict:"E",template:'<div class="md-container"><div class="md-dashed"></div><div class="md-bar md-bar1"></div><div class="md-bar md-bar2"></div></div>',compile:function(tElement,tAttrs,transclude){return tElement.attr("aria-valuemin",0),tElement.attr("aria-valuemax",100),tElement.attr("role","progressbar"),postLink}};function postLink(scope,element,attr){var lastMode;$mdTheming(element);var isDisabled=attr.hasOwnProperty("disabled"),toVendorCSS=$mdUtil.dom.animator.toCss,bar1=angular.element(element[0].querySelector(".md-bar1")),bar2=angular.element(element[0].querySelector(".md-bar2")),container=angular.element(element[0].querySelector(".md-container"));function mode(){var value=(attr.mdMode||"").trim();if(value)switch(value){case MODE_DETERMINATE:case MODE_INDETERMINATE:case MODE_BUFFER:case MODE_QUERY:break;default:value=MODE_INDETERMINATE}return value}function animateIndicator(target,value){if(!isDisabled&&mode()){var to=$mdUtil.supplant("translateX({0}%) scale({1},1)",[(value-100)/2,value/100]),styles=toVendorCSS({transform:to});angular.element(target).css(styles)}}element.attr("md-mode",mode()).toggleClass(DISABLED_CLASS,isDisabled),function(){if(angular.isUndefined(attr.mdMode)){var hasValue=angular.isDefined(attr.value),mode=hasValue?MODE_DETERMINATE:MODE_INDETERMINATE;element.attr("md-mode",mode),attr.mdMode=mode}}(),attr.$observe("value",function(value){var percentValue=clamp(value);element.attr("aria-valuenow",percentValue),mode()!=MODE_QUERY&&animateIndicator(bar2,percentValue)}),attr.$observe("mdBufferValue",function(value){animateIndicator(bar1,clamp(value))}),attr.$observe("disabled",function(value){isDisabled=!0===value||!1===value?!!value:angular.isDefined(value),element.toggleClass(DISABLED_CLASS,isDisabled),container.toggleClass(lastMode,!isDisabled)}),attr.$observe("mdMode",function(mode){switch(lastMode&&container.removeClass(lastMode),mode){case MODE_QUERY:case MODE_BUFFER:case MODE_DETERMINATE:case MODE_INDETERMINATE:container.addClass(lastMode="md-mode-"+mode);break;default:container.addClass(lastMode="md-mode-"+MODE_INDETERMINATE)}})}function clamp(value){return Math.max(0,Math.min(value||0,100))}}MdProgressLinearDirective.$inject=["$mdTheming","$mdUtil","$log"],angular.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",MdProgressLinearDirective)}(),function(){mdRadioGroupDirective.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],mdRadioButtonDirective.$inject=["$mdAria","$mdUtil","$mdTheming"],angular.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",mdRadioGroupDirective).directive("mdRadioButton",mdRadioButtonDirective);var incrementSelection=Object.freeze({PREVIOUS:-1,CURRENT:0,NEXT:1});function mdRadioGroupDirective($mdUtil,$mdConstant,$mdTheming,$timeout){return RadioGroupController.prototype={init:function(ngModelCtrl){this._ngModelCtrl=ngModelCtrl,this._ngModelCtrl.$render=angular.bind(this,this.render)},add:function(rbRender){this._radioButtonRenderFns.push(rbRender)},remove:function(rbRender){var index=this._radioButtonRenderFns.indexOf(rbRender);-1!==index&&this._radioButtonRenderFns.splice(index,1)},render:function(){this._radioButtonRenderFns.forEach(function(rbRender){rbRender()})},setViewValue:function(value,eventType){this._ngModelCtrl.$setViewValue(value,eventType),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectCurrent:function(){return changeSelectedButton(this.$element,incrementSelection.CURRENT)},selectNext:function(){return changeSelectedButton(this.$element,incrementSelection.NEXT)},selectPrevious:function(){return changeSelectedButton(this.$element,incrementSelection.PREVIOUS)},setActiveDescendant:function(radioId){this.$element.attr("aria-activedescendant",radioId)},isDisabled:function(){return this.$element[0].hasAttribute("disabled")}},{restrict:"E",controller:["$element",RadioGroupController],require:["mdRadioGroup","?ngModel"],link:{pre:function(scope,element,attr,controllers){element.addClass("_md"),$mdTheming(element);var radioGroupController=controllers[0],ngModelCtrl=controllers[1]||$mdUtil.fakeNgModel();function setFocus(){element.hasClass("md-focused")||element.addClass("md-focused")}radioGroupController.init(ngModelCtrl),scope.mouseActive=!1,element.attr({role:"radiogroup",tabIndex:element.attr("tabindex")||"0"}).on("keydown",function(keyboardEvent){var keyCode=keyboardEvent.which||keyboardEvent.keyCode;if(keyCode!==$mdConstant.KEY_CODE.ENTER&&keyboardEvent.currentTarget!==keyboardEvent.target)return;switch(keyCode){case $mdConstant.KEY_CODE.LEFT_ARROW:case $mdConstant.KEY_CODE.UP_ARROW:keyboardEvent.preventDefault(),radioGroupController.selectPrevious(),setFocus();break;case $mdConstant.KEY_CODE.RIGHT_ARROW:case $mdConstant.KEY_CODE.DOWN_ARROW:keyboardEvent.preventDefault(),radioGroupController.selectNext(),setFocus();break;case $mdConstant.KEY_CODE.SPACE:keyboardEvent.preventDefault(),radioGroupController.selectCurrent();break;case $mdConstant.KEY_CODE.ENTER:var form=angular.element($mdUtil.getClosest(element[0],"form"));form.length>0&&form.triggerHandler("submit")}}).on("mousedown",function(){scope.mouseActive=!0,$timeout(function(){scope.mouseActive=!1},100)}).on("focus",function(){!1===scope.mouseActive&&radioGroupController.$element.addClass("md-focused")}).on("blur",function(){radioGroupController.$element.removeClass("md-focused")}),$mdUtil.nextTick(function(){var radioButtons=getRadioButtons(radioGroupController.$element);radioButtons.count()&&!radioGroupController.$element[0].hasAttribute("aria-activedescendant")&&radioGroupController.setActiveDescendant(radioButtons.first().id)})}}};function RadioGroupController($element){this._radioButtonRenderFns=[],this.$element=$element}function getRadioButtons(parent){return $mdUtil.iterator(parent[0].querySelectorAll("md-radio-button"),!0)}function changeSelectedButton(parent,increment){var target,buttons=getRadioButtons(parent);if(buttons.count()){var selected=parent[0].querySelector("md-radio-button.md-checked");selected?increment!==incrementSelection.PREVIOUS&&increment!==incrementSelection.NEXT||(target=buttons[increment===incrementSelection.PREVIOUS?"previous":"next"](selected,function(button){return!angular.element(button).attr("disabled")})):target=buttons.first(),target&&angular.element(target).triggerHandler("click")}}}function mdRadioButtonDirective($mdAria,$mdUtil,$mdTheming){var CHECKED_CSS="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-off"></div><div class="md-on"></div></div><div ng-transclude class="md-label"></div>',link:function(scope,element,attr,radioGroupController){var lastChecked;$mdTheming(element),function(element){element.attr({id:attr.id||"radio_"+$mdUtil.nextUid(),role:"radio","aria-checked":"false"}),$mdAria.expectWithText(element,"aria-label")}(element),element.addClass("md-auto-horizontal-margin"),attr.ngValue?$mdUtil.nextTick(initialize,!1):initialize();function initialize(){if(!radioGroupController)throw"RadioButton: No RadioGroupController could be found.";radioGroupController.add(render),attr.$observe("value",render),element.on("click",listener).on("$destroy",function(){radioGroupController.remove(render)})}function listener(ev){element[0].hasAttribute("disabled")||radioGroupController.isDisabled()||scope.$apply(function(){radioGroupController.setViewValue(attr.value,ev&&ev.type)})}function render(){var checked=radioGroupController.getViewValue()==attr.value;checked!==lastChecked&&(element[0]&&element[0].parentNode&&"md-radio-group"!==element[0].parentNode.nodeName.toLowerCase()&&element.parent().toggleClass(CHECKED_CSS,checked),checked&&radioGroupController.setActiveDescendant(element.attr("id")),lastChecked=checked,element.attr("aria-checked",checked).toggleClass(CHECKED_CSS,checked))}}}}}(),function(){SelectDirective.$inject=["$mdSelect","$mdUtil","$mdConstant","$mdTheming","$mdAria","$parse","$sce"],SelectMenuDirective.$inject=["$parse","$mdUtil","$mdConstant","$mdTheming"],OptionDirective.$inject=["$mdButtonInkRipple","$mdUtil","$mdTheming"],SelectProvider.$inject=["$$interimElementProvider"],OptionController.$inject=["$element"];var CHECKBOX_SELECTION_INDICATOR,SELECT_EDGE_MARGIN=8,selectNextId=0;function SelectDirective($mdSelect,$mdUtil,$mdConstant,$mdTheming,$mdAria,$parse,$sce){return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:function(tElement,tAttrs){var isMultiple=$mdUtil.parseAttributeBoolean(tAttrs.multiple);tElement.addClass("md-auto-horizontal-margin");var valueEl=angular.element("<md-select-value><span></span></md-select-value>");valueEl.append('<span class="md-select-icon" aria-hidden="true"></span>'),valueEl.addClass("md-select-value"),valueEl[0].hasAttribute("id")||valueEl.attr("id","select_value_label_"+$mdUtil.nextUid());var mdContentEl=tElement.find("md-content");mdContentEl.length||(tElement.append(angular.element("<md-content>").append(tElement.contents())),mdContentEl=tElement.find("md-content"));mdContentEl.attr("role","listbox"),mdContentEl.attr("tabindex","-1"),isMultiple?mdContentEl.attr("aria-multiselectable","true"):mdContentEl.attr("aria-multiselectable","false");tAttrs.mdOnOpen&&(tElement.find("md-content").prepend(angular.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')),tElement.find("md-option").attr("ng-show","$$loadingAsyncDone"));if(tAttrs.name){var autofillClone=angular.element('<select class="md-visually-hidden"></select>');autofillClone.attr({name:tAttrs.name,"aria-hidden":"true",tabindex:"-1"});var opts=tElement.find("md-option");angular.forEach(opts,function(el){var newEl=angular.element("<option>"+el.innerHTML+"</option>");el.hasAttribute("ng-value")?newEl.attr("ng-value",el.getAttribute("ng-value")):el.hasAttribute("value")&&newEl.attr("value",el.getAttribute("value")),autofillClone.append(newEl)}),autofillClone.append('<option ng-value="'+tAttrs.ngModel+'" selected></option>'),tElement.parent().append(autofillClone)}var multipleContent=isMultiple?"multiple":"",ngModelOptions=tAttrs.ngModelOptions?$mdUtil.supplant('ng-model-options="{0}"',[tAttrs.ngModelOptions]):"",selectTemplate='<div class="md-select-menu-container" aria-hidden="true" role="presentation">  <md-select-menu role="presentation" {0} {1}>{2}</md-select-menu></div>';selectTemplate=$mdUtil.supplant(selectTemplate,[multipleContent,ngModelOptions,tElement.html()]),tElement.empty().append(valueEl),tElement.append(selectTemplate),tAttrs.tabindex||tAttrs.$set("tabindex",0);return function(scope,element,attrs,ctrls){var isDisabled,stopMdMultipleWatch,selectContainer,selectScope,selectMenuCtrl,untouched=!0,containerCtrl=ctrls[0],mdSelectCtrl=ctrls[1],ngModelCtrl=ctrls[2],formCtrl=ctrls[3],selectValueElement=element.find("md-select-value"),isReadonly=angular.isDefined(attrs.readonly),disableAsterisk=$mdUtil.parseAttributeBoolean(attrs.mdNoAsterisk),userDefinedLabelledby=angular.isDefined(attrs.ariaLabelledby),listboxContentElement=element.find("md-content"),initialPlaceholder=element.attr("placeholder");if(disableAsterisk&&element.addClass("md-no-asterisk"),containerCtrl){var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||formCtrl&&formCtrl.$submitted)};if(containerCtrl.input&&element.find("md-select-header").find("input")[0]!==containerCtrl.input[0])throw new Error("<md-input-container> can only have *one* child <input>, <textarea>, or <select> element!");if(containerCtrl.input=element,containerCtrl.label)containerCtrl.label.attr("aria-hidden","true"),listboxContentElement.attr("aria-label",containerCtrl.label.text()),containerCtrl.setHasPlaceholder(!!initialPlaceholder);else{$mdAria.expect(element,"aria-label",initialPlaceholder);var selectLabel=element.attr("aria-label");selectLabel||(selectLabel=initialPlaceholder),listboxContentElement.attr("aria-label",selectLabel)}var stopInvalidWatch=scope.$watch(isErrorGetter,containerCtrl.setInvalid)}selectContainer=function(){var selectContainer=angular.element(element[0].querySelector(".md-select-menu-container"));return selectScope=scope,attrs.mdContainerClass&&selectContainer.addClass(attrs.mdContainerClass),(selectMenuCtrl=selectContainer.find("md-select-menu").controller("mdSelectMenu")).init(ngModelCtrl,attrs),element.on("$destroy",function(){selectContainer.remove()}),selectContainer}(),$mdTheming(element);var originalRender=ngModelCtrl.$render;ngModelCtrl.$render=function(){originalRender(),syncSelectValueText(),inputCheckValue()};var stopPlaceholderObserver=attrs.$observe("placeholder",ngModelCtrl.$render),stopRequiredObserver=attrs.$observe("required",function(value){containerCtrl&&containerCtrl.label&&containerCtrl.label.toggleClass("md-required",value&&!disableAsterisk),element.removeAttr("aria-required"),value?listboxContentElement.attr("aria-required","true"):listboxContentElement.removeAttr("aria-required")});if(mdSelectCtrl.setSelectValueText=function(text){var useDefaultText=text===undefined||""===text,isSelectLabelFromUser=!1;if(mdSelectCtrl.setIsPlaceholder(!text),attrs.mdSelectedText&&attrs.mdSelectedHtml)throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");if(attrs.mdSelectedText||attrs.mdSelectedHtml)text=$parse(attrs.mdSelectedText||attrs.mdSelectedHtml)(scope),isSelectLabelFromUser=!0;else if(useDefaultText){var tmpPlaceholder=attrs.placeholder||(containerCtrl&&containerCtrl.label?containerCtrl.label.text():"");text=tmpPlaceholder||"",isSelectLabelFromUser=!0}var target=selectValueElement.children().eq(0);attrs.mdSelectedHtml?target.html($sce.getTrustedHtml(text)):isSelectLabelFromUser?target.text(text):target.html(text),useDefaultText?(selectValueElement.attr("aria-hidden","true"),userDefinedLabelledby||element.removeAttr("aria-labelledby")):(selectValueElement.removeAttr("aria-hidden"),userDefinedLabelledby||element.attr("aria-labelledby",element[0].id+" "+selectValueElement[0].id))},mdSelectCtrl.setIsPlaceholder=function(isPlaceholder){isPlaceholder?(selectValueElement.addClass("md-select-placeholder"),containerCtrl&&containerCtrl.label&&!element.attr("placeholder")&&containerCtrl.label.addClass("md-placeholder")):(selectValueElement.removeClass("md-select-placeholder"),containerCtrl&&containerCtrl.label&&!element.attr("placeholder")&&containerCtrl.label.removeClass("md-placeholder"))},!isReadonly){element.on("focus",function(){containerCtrl&&containerCtrl.setFocused(!0)}),element.on("blur",function(event){untouched&&(untouched=!1,selectScope._mdSelectIsOpen&&event.stopImmediatePropagation());containerCtrl&&containerCtrl.setFocused(!1),inputCheckValue()})}mdSelectCtrl.triggerClose=function(){$parse(attrs.mdOnClose)(scope)},scope.$$postDigest(function(){!function(){var labelText=element.attr("aria-label")||element.attr("placeholder");!labelText&&containerCtrl&&containerCtrl.label&&(labelText=containerCtrl.label.text());$mdAria.expect(element,"aria-label",labelText)}(),syncSelectValueText()});var stopSelectedLabelsWatcher=scope.$watch(function(){return selectMenuCtrl.getSelectedLabels()},syncSelectValueText);function syncSelectValueText(){selectMenuCtrl=selectMenuCtrl||selectContainer.find("md-select-menu").controller("mdSelectMenu"),mdSelectCtrl.setSelectValueText(selectMenuCtrl.getSelectedLabels())}var stopMdMultipleObserver=attrs.$observe("mdMultiple",function(val){stopMdMultipleWatch&&stopMdMultipleWatch();var parser=$parse(val);stopMdMultipleWatch=scope.$watch(function(){return parser(scope)},function(multiple,prevVal){var selectMenu=selectContainer.find("md-select-menu");if(multiple!==undefined||prevVal!==undefined){if(multiple){var setMultipleAttrs={multiple:"multiple"};element.attr(setMultipleAttrs),selectMenu.attr(setMultipleAttrs)}else element.removeAttr("multiple"),selectMenu.removeAttr("multiple");element.find("md-content").attr("aria-multiselectable",multiple?"true":"false"),selectContainer&&(selectMenuCtrl.setMultiple(Boolean(multiple)),originalRender=ngModelCtrl.$render,ngModelCtrl.$render=function(){originalRender(),syncSelectValueText(),inputCheckValue()},ngModelCtrl.$render())}})}),stopDisabledObserver=attrs.$observe("disabled",function(disabled){angular.isString(disabled)&&(disabled=!0),isDisabled!==undefined&&isDisabled===disabled||(isDisabled=disabled,disabled?element.attr({"aria-disabled":"true"}).removeAttr("tabindex").removeAttr("aria-expanded").removeAttr("aria-haspopup").off("
1click",openSelect).off("keydown",handleKeypress):element.attr({tabindex:attrs.tabindex,"aria-haspopup":"listbox"}).removeAttr("aria-disabled").on("click",openSelect).on("keydown",handleKeypress))});attrs.hasOwnProperty("disabled")||attrs.hasOwnProperty("ngDisabled")||(element.attr({"aria-disabled":"false"}),element.on("click",openSelect),element.on("keydown",handleKeypress));var ariaAttrs={role:"button","aria-haspopup":"listbox"};element[0].hasAttribute("id")||(ariaAttrs.id="select_"+$mdUtil.nextUid());var containerId="select_container_"+$mdUtil.nextUid();selectContainer.attr("id",containerId);var listboxContentId="select_listbox_"+$mdUtil.nextUid();function inputCheckValue(){$mdUtil.nextTick(function(){containerCtrl&&containerCtrl.setHasValue(selectMenuCtrl.getSelectedLabels().length>0||(element[0].validity||{}).badInput)})}function handleKeypress(e){if($mdConstant.isNavigationKey(e))e.preventDefault(),openSelect();else if(shouldHandleKey(e,$mdConstant)){e.preventDefault();var node=selectMenuCtrl.optNodeForKeyboardSearch(e);if(!node||node.hasAttribute("disabled"))return;var optionCtrl=angular.element(node).controller("mdOption");selectMenuCtrl.isMultiple||angular.forEach(Object.keys(selectMenuCtrl.selected),function(key){selectMenuCtrl.deselect(key)}),selectMenuCtrl.select(optionCtrl.hashKey,optionCtrl.value),selectMenuCtrl.refreshViewValue()}}function openSelect(){selectScope._mdSelectIsOpen=!0,element.attr("aria-expanded","true"),$mdSelect.show({scope:selectScope,preserveScope:!0,skipCompile:!0,element:selectContainer,target:element[0],selectCtrl:mdSelectCtrl,preserveElement:!0,hasBackdrop:!0,loadingAsync:!!attrs.mdOnOpen&&(scope.$eval(attrs.mdOnOpen)||!0)}).finally(function(){selectScope._mdSelectIsOpen=!1,element.removeAttr("aria-expanded"),element.removeAttr("aria-activedescendant"),ngModelCtrl.$setTouched()})}selectContainer.find("md-content").attr("id",listboxContentId),element.find("md-select-menu").length||(ariaAttrs["aria-owns"]=listboxContentId),element.attr(ariaAttrs),scope.$on("$destroy",function(){stopRequiredObserver&&stopRequiredObserver(),stopDisabledObserver&&stopDisabledObserver(),stopMdMultipleWatch&&stopMdMultipleWatch(),stopMdMultipleObserver&&stopMdMultipleObserver(),stopSelectedLabelsWatcher&&stopSelectedLabelsWatcher(),stopPlaceholderObserver&&stopPlaceholderObserver(),stopInvalidWatch&&stopInvalidWatch(),element.off("focus"),element.off("blur"),$mdSelect.destroy().finally(function(){containerCtrl&&(containerCtrl.setFocused(!1),containerCtrl.setHasValue(!1),containerCtrl.input=null),ngModelCtrl.$setTouched()})})}},controller:function(){}}}function SelectMenuDirective($parse,$mdUtil,$mdConstant,$mdTheming){return SelectMenuController.$inject=["$scope","$attrs","$element"],{restrict:"E",require:["mdSelectMenu"],scope:!1,controller:SelectMenuController,link:{pre:function(scope,element,attrs,ctrls){var selectMenuCtrl=ctrls[0];function clickListener(mouseEvent){var option=$mdUtil.getClosest(mouseEvent.target,"md-option"),optionCtrl=option&&angular.element(option).data("$mdOptionController");if(option&&optionCtrl)if(option.hasAttribute("disabled"))mouseEvent.stopImmediatePropagation();else{var optionHashKey=selectMenuCtrl.hashGetter(optionCtrl.value),isSelected=angular.isDefined(selectMenuCtrl.selected[optionHashKey]);scope.$apply(function(){selectMenuCtrl.isMultiple?isSelected?selectMenuCtrl.deselect(optionHashKey):selectMenuCtrl.select(optionHashKey,optionCtrl.value):isSelected||(angular.forEach(Object.keys(selectMenuCtrl.selected),function(key){selectMenuCtrl.deselect(key)}),selectMenuCtrl.select(optionHashKey,optionCtrl.value)),selectMenuCtrl.refreshViewValue()})}else mouseEvent.target&&mouseEvent.target.parentNode&&"MD-SELECT-HEADER"===mouseEvent.target.parentNode.tagName&&mouseEvent.stopImmediatePropagation()}element.addClass("_md"),$mdTheming(element),element.on("click",clickListener),element.on("keypress",function(keyboardEvent){13!==keyboardEvent.keyCode&&32!==keyboardEvent.keyCode||clickListener(keyboardEvent)})}}};function SelectMenuController($scope,$attrs,$element){var defaultIsEmpty,clearSearchTimeout,optNodes,optText,self=this,searchStr="";function renderMultiple(){var newSelectedValues=self.ngModel.$modelValue||self.ngModel.$viewValue||[];if(angular.isArray(newSelectedValues)){var oldSelected=Object.keys(self.selected),newSelectedHashes=newSelectedValues.map(self.hashGetter);oldSelected.filter(function(hash){return-1===newSelectedHashes.indexOf(hash)}
vendor: 9,003 bytes, line 1
1).forEach(self.deselect),newSelectedHashes.forEach(function(hashKey,i){self.select(hashKey,newSelectedValues[i])})}}function renderSingular(){var value=self.ngModel.$viewValue||self.ngModel.$modelValue;Object.keys(self.selected).forEach(self.deselect),self.select(self.hashGetter(value),value)}self.isMultiple=angular.isDefined($attrs.multiple),self.selected={},self.options={},$scope.$watchCollection(function(){return self.options},function(){self.ngModel.$render(),function(){var i,options;if(!$element.find("md-optgroup").length)return;for(options=$element.find("md-option"),i=0;i<options.length;i++)options[i].setAttribute("aria-setsize",options.length),options[i].setAttribute("aria-posinset",i+1)}()}),self.setMultiple=function(isMultiple){var ngModel=self.ngModel;if(defaultIsEmpty=defaultIsEmpty||ngModel.$isEmpty,self.isMultiple=isMultiple,self.isMultiple){var loaded=!1,delayedRender=function(val){loaded?renderMultiple():$mdUtil.nextTick(function(){renderMultiple(),loaded=!0})};ngModel.$validators["md-multiple"]=validateArray,ngModel.$render=delayedRender,$scope.$watchCollection(self.modelBinding,function(value){validateArray(value)&&delayedRender()}),ngModel.$isEmpty=function(value){return!value||0===value.length}}else delete ngModel.$validators["md-multiple"],ngModel.$render=renderSingular;function validateArray(modelValue,viewValue){return angular.isArray(modelValue||viewValue||[])}},self.optNodeForKeyboardSearch=function(keyboardEvent){var search,i;for(clearSearchTimeout&&clearTimeout(clearSearchTimeout),clearSearchTimeout=setTimeout(function(){clearSearchTimeout=undefined,searchStr="",optText=undefined,optNodes=undefined},300),searchStr+=keyboardEvent.key,search=new RegExp("^"+$mdUtil.sanitize(searchStr),"i"),optNodes||(optNodes=$element.find("md-option"),optText=new Array(optNodes.length),angular.forEach(optNodes,function(el,i){optText[i]=el.textContent.trim()})),i=0;i<optText.length;++i)if(search.test(optText[i]))return optNodes[i]},self.init=function(ngModel,parentAttrs){function getId(value){return angular.isObject(value)&&!angular.isArray(value)?"object_"+(value.$$mdSelectId||(value.$$mdSelectId=++selectNextId)):value+""}self.ngModel=ngModel,self.modelBinding=parentAttrs.ngModel,self.ngModel.$isEmpty=function($viewValue){var hashedValue=self.options[self.hashGetter($viewValue)]?self.options[self.hashGetter($viewValue)].value:null;return!angular.isDefined(hashedValue)||null===hashedValue||""===hashedValue||hashedValue!=hashedValue},$attrs.ngModelOptions?self.hashGetter=function(value){var ngModelOptions=$parse($attrs.ngModelOptions)($scope),trackByOption=ngModelOptions&&ngModelOptions.trackBy;return trackByOption?$parse(trackByOption)($scope,{$value:value}):angular.isObject(value)?getId(value):value}:self.hashGetter=getId,self.setMultiple(self.isMultiple),parentAttrs.hasOwnProperty("mdSelectOnlyOption")&&$mdUtil.nextTick(function(){var optionKeys=Object.keys(self.options);if(1===optionKeys.length){var option=self.options[optionKeys[0]];self.deselect(Object.keys(self.selected)[0]),self.select(self.hashGetter(option.value),option.value),self.refreshViewValue(),self.ngModel.$setPristine()}},!1)},self.setActiveDescendant=function(id){angular.isDefined(id)?$element.find("md-content").attr("aria-activedescendant",id):$element.find("md-content").removeAttr("aria-activedescendant")},self.getSelectedLabels=function(opts){var mapFn,mode=(opts=opts||{}).mode||"html",selectedOptionEls=$mdUtil.nodesToArray($element[0].querySelectorAll("md-option[selected]"));return selectedOptionEls.length?("html"===mode?mapFn=function(el){if(el.hasAttribute("md-option-empty"))return"";var html=el.innerHTML,rippleContainer=el.querySelector(".md-ripple-container");rippleContainer&&(html=html.replace(rippleContainer.outerHTML,""));var checkboxContainer=el.querySelector(".md-container");return checkboxContainer&&(html=html.replace(checkboxContainer.outerHTML,"")),html}:"aria"===mode&&(mapFn=function(el){return el.hasAttribute("aria-label")?el.getAttribute("aria-label"):el.textContent}),$mdUtil.uniq(selectedOptionEls.map(mapFn)).join(", ")):""},self.select=function(hashKey,hashedValue){var option=self.options[hashKey];option&&option.setSelected(!0,self.isMultiple),self.selected[hashKey]=hashedValue},self.deselect=function(hashKey){var option=self.options[hashKey];option&&option.setSelected(!1,self.isMultiple),delete self.selected[hashKey]},self.addOption=function(hashKey,optionCtrl){if(angular.isDefined(self.options[hashKey]))throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "'+optionCtrl.value+'" found.');self.options[hashKey]=optionCtrl,angular.isDefined(self.selected[hashKey])&&(self.select(hashKey,optionCtrl.value),angular.isDefined(self.ngModel.$$rawModelValue)&&self.hashGetter(self.ngModel.$$rawModelValue)===hashKey&&self.ngModel.$validate(),self.refreshViewValue())},self.removeOption=function(hashKey){delete self.options[hashKey]},self.refreshViewValue=function(){var option,values=[];for(var hashKey in self.selected)(option=self.options[hashKey])?values.push(option.value):values.push(self.selected[hashKey]);var newVal=self.isMultiple?values:values[0];(function(prevVal,newVal){if(self.isMultiple){if(angular.isArray(prevVal)){if(prevVal.length!==newVal.length)return!1;var prevValHashes=prevVal.map(function(prevValItem){return self.hashGetter(prevValItem)});return newVal.every(function(newValItem){var newValItemHash=self.hashGetter(newValItem);return prevValHashes.some(function(prevValHash){return prevValHash===newValItemHash})})}return!1}return self.hashGetter(prevVal)===self.hashGetter(newVal)})(self.ngModel.$modelValue,newVal)||(self.ngModel.$setViewValue(newVal),self.ngModel.$render())}}}function OptionDirective($mdButtonInkRipple,$mdUtil,$mdTheming){return{restrict:"E",require:["mdOption","^^mdSelectMenu"],controller:OptionController,compile:function(element,attrs){element.append(angular.element('<div class="md-text">').append(element.contents())),element.attr("tabindex",attrs.tabindex||"0"),function(attrs){var value=attrs.value,ngValue=attrs.ngValue;return value||ngValue}(attrs)||element.attr("md-option-empty","");return postLink}};function postLink(scope,element,attrs,ctrls){var optionCtrl=ctrls[0],selectMenuCtrl=ctrls[1];if($mdTheming(element),selectMenuCtrl.isMultiple){if(element.addClass("md-checkbox-enabled"),!CHECKBOX_SELECTION_INDICATOR){var indicator=document.createElement("div");indicator.className="md-container",indicator.appendChild(document.createElement("div")),indicator.firstChild.className="md-icon",CHECKBOX_SELECTION_INDICATOR=angular.element(indicator)}element.prepend(CHECKBOX_SELECTION_INDICATOR.clone())}function setOptionValue(newValue,oldValue,prevAttempt){if(selectMenuCtrl.hashGetter){var oldHashKey=selectMenuCtrl.hashGetter(oldValue,scope),newHashKey=selectMenuCtrl.hashGetter(newValue,scope);optionCtrl.hashKey=newHashKey,optionCtrl.value=newValue,selectMenuCtrl.removeOption(oldHashKey,optionCtrl),selectMenuCtrl.addOption(newHashKey,optionCtrl)}else prevAttempt||scope.$$postDigest(function(){setOptionValue(newValue,oldValue,!0)})}angular.isDefined(attrs.ngValue)?scope.$watch(attrs.ngValue,function(newValue,oldValue){setOptionValue(newValue,oldValue),element.removeAttr("aria-checked")}):angular.isDefined(attrs.value)?setOptionValue(attrs.value):scope.$watch(function(){return element.text().trim()},setOptionValue),attrs.$observe("disabled",function(disabled){disabled?element.attr("tabindex","-1"):element.attr("tabindex","0")}),scope.$$postDigest(function(){attrs.$observe("selected",function(selected){angular.isDefined(selected)&&("string"==typeof selected&&(selected=!0),selected?(selectMenuCtrl.isMultiple||selectMenuCtrl.deselect(Object.keys(selectMenuCtrl.selected)[0]),selectMenuCtrl.select(optionCtrl.hashKey,optionCtrl.value)):selectMenuCtrl.deselect(optionCtrl.hashKey),selectMenuCtrl.refreshViewValue())})}),$mdButtonInkRipple.attach(scope,element),function(){var ariaAttrs={role:"option"};selectMenuCtrl.isMultiple&&(ariaAttrs["aria-selected"]="false");element[0].hasAttribute("id")||(ariaAttrs.id="select_option_"+$mdUtil.nextUid());element.attr(ariaAttrs)}(),scope.$on("$destroy",function(){selectMenuCtrl.removeOption(optionCtrl.hashKey,optionCtrl)})}}function OptionController($element){this.setSelected=function(isSelected,isMultiple){isSelected?$element.attr({selected:"true","aria-selected":"true"}):isSelected||($element.removeAttr("selected"),isMultiple?$element.attr("aria-selected","false"):$element.removeAttr("aria-selected"))}}function SelectProvider($$interimElementProvider){return selectDefaultOptions.$inject=["$mdSelect","$mdConstant","$mdUtil","$window","$q","$$rAF","$animateCss","$animate","$document"],$$interimElementProvider("$mdSelect").setDefaults({methods:["target"],options:selectDefaultOptions});function selectDefaultOptions($mdSelect,$mdConstant,$mdUtil,$window,$q,$$rAF,$animateCss,$animate,$document){var ERROR_TARGET_EXPECTED="$mdSelect.show() expected a target element in o
1ptions.target but got '{0}'!",animator=$mdUtil.dom.animator,keyCodes=$mdConstant.KEY_CODE;return{parent:"body",themable:!0,onShow:function(scope,element,opts){return opts.loadingAsync&&!opts.isRemoved&&(scope.$$loadingAsyncDone=!1,$q.when(opts.loadingAsync).then(function(){scope.$$loadingAsyncDone=!0,delete opts.loadingAsync}).then(function(){$$rAF(positionAndFocusMenu)})),function(scope,options){var selectMenuElement=element.find("md-select-menu");if(!options.target)throw new Error($mdUtil.supplant(ERROR_TARGET_EXPECTED,[options.target]));angular.extend(options,{isRemoved:!1,target:angular.element(options.target),parent:angular.element(options.parent),selectEl:selectMenuElement,contentEl:element.find("md-content"),optionNodes:selectMenuElement[0].getElementsByTagName("md-option")})}(0,opts),opts.hideBackdrop=function(scope,element,options){return options.disableParentScroll&&!$mdUtil.getClosest(options.target,"MD-DIALOG")?options.restoreScroll=$mdUtil.disableScrollAround(options.element,options.parent):options.disableParentScroll=!1,options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-select-backdrop md-click-catcher"),$animate.enter(options.backdrop,$document[0].body,null,{duration:0})),function(){options.backdrop&&options.backdrop.remove(),options.disableParentScroll&&options.restoreScroll(),delete options.restoreScroll}}(scope,0,opts),function(scope,element,opts){return opts.parent!==element.parent()&&element.parent().attr("aria-owns",element.find("md-content").attr("id")),opts.parent.append(element),$q(function(resolve,reject){try{$animateCss(element,{removeClass:"md-leave",duration:0}).start().then(positionAndFocusMenu).then(resolve)}catch(e){reject(e)}})}(0,element,opts).then(function(response){var debouncedOnResize,window,scope,target,options;return element.attr("aria-hidden","false"),opts.alreadyOpen=!0,opts.cleanupInteraction=function(){if(!opts.isRemoved){var dropDown=opts.selectEl,selectMenuController=dropDown.controller("mdSelectMenu")||{};return element.addClass("md-clickable"),opts.backdrop&&opts.backdrop.on("click",onBackdropClick),dropDown.on("keydown",onMenuKeyDown),dropDown.on("click",checkCloseMenu),function(){opts.backdrop&&opts.backdrop.off("click",onBackdropClick),dropDown.off("keydown",onMenuKeyDown),dropDown.off("click",checkCloseMenu),element.removeClass("md-clickable"),opts.isRemoved=!0}}function onBackdropClick(e){e.preventDefault(),e.stopPropagation(),opts.restoreFocus=!1,$mdUtil.nextTick($mdSelect.hide,!0)}function onMenuKeyDown(ev){switch(ev.preventDefault(),ev.stopPropagation(),ev.keyCode){case keyCodes.UP_ARROW:return void focusOption("prev");case keyCodes.DOWN_ARROW:return void focusOption("next");case keyCodes.SPACE:case keyCodes.ENTER:opts.focusedNode&&(dropDown.triggerHandler({type:"click",target:opts.focusedNode}),ev.preventDefault()),checkCloseMenu(ev);break;case keyCodes.TAB:case keyCodes.ESCAPE:ev.stopPropagation(),ev.preventDefault(),opts.restoreFocus=!0,$mdUtil.nextTick($mdSelect.hide,!0);break;default:if(shouldHandleKey(ev,$mdConstant)){var optNode=selectMenuController.optNodeForKeyboardSearch(ev);optNode&&!optNode.hasAttribute("disabled")&&focusOptionNode(opts.focusedNode,optNode,selectMenuController)}}}function focusOption(direction){var newOption,optionsArray=$mdUtil.nodesToArray(opts.optionNodes),index=optionsArray.indexOf(opts.focusedNode),prevOption=optionsArray[index];do{-1===index?index=0:"next"===direction&&index<optionsArray.length-1?index++:"prev"===direction&&index>0&&index--,(newOption=optionsArray[index]).hasAttribute("disabled")&&(newOption=null)}while(!newOption&&index<optionsArray.length-1&&index>0);focusOptionNode(prevOption,newOption,selectMenuController)}function checkCloseMenu(event){event&&"click"===event.type&&event.currentTarget!==dropDown[0]||function(){var clickOnScrollbar=!1;if(event&&event.currentTarget.children.length>0){var child=event.currentTarget.children[0],hasScrollbar=child.scrollHeight>child.clientHeight;if(hasScrollbar&&child.children.length>0){var relPosX=event.pageX-event.currentTarget.getBoundingClientRect().left;relPosX>child.querySelector("md-option").offsetWidth&&(clickOnScrollbar=!0)}}return clickOnScrollbar}()||opts.focusedNode&&opts.focusedNode.hasAttribute&&!opts.focusedNode.hasAttribute("disabled")&&(event.preventDefault(),event.stopPropagation(),selectMenuController.isMultiple||(opts.restoreFocus=!0,$mdUtil.nextTick(function(){$mdSelect.hide(selectMenuController.ngModel.$viewValue),opts.focusedNode.classList.remove("md-focused")},!0)))}}(),opts.cleanupResizing=(scope=scope,target=element,options=opts,debouncedOnResize=function(){if(!options.isRemoved){var updates=calculateMenuPositions(scope,target,options),container=updates.container,dropDown=updates.dropDown;container.element.css(animator.toCss(container.styles)),dropDown.element.css(animator.toCss(dropDown.styles))}},(window=angular.element($window)).on("resize",debouncedOnResize),window.on("orientationchange",debouncedOnResize),function(){window.off("resize",debouncedOnResize),window.off("orientationchange",debouncedOnResize)}),opts.contentEl[0].focus(),response},opts.hideBackdrop);function positionAndFocusMenu(){return $q(function(resolve){if(opts.isRemoved)return $q.reject(!1);var info=calculateMenuPositions(scope,element,opts);info.container.element.css(animator.toCss(info.container.styles)),info.dropDown.element.css(animator.toCss(info.dropDown.styles)),$$rAF(function(){var nodeToFocus,selectMenuController;element.addClass("md-active"),info.dropDown.element.css(animator.toCss({transform:""})),(nodeToFocus=opts.focusedNode)&&!nodeToFocus.hasAttribute("disabled")&&(selectMenuController=opts.selectEl.controller("mdSelectMenu"),focusOptionNode(null,nodeToFocus,selectMenuController)),resolve()})})}function focusOptionNode(previousNode,node,menuController){var listboxContentNode=opts.contentEl[0];if(node){if(previousNode&&previousNode.classList.remove("md-focused"),node.classList.add("md-focused"),menuController&&menuController.setActiveDescendant&&menuController.setActiveDescendant(node.id),listboxContentNode.scrollHeight>listboxContentNode.clientHeight){var scrollBottom=listboxContentNode.clientHeight+listboxContentNode.scrollTop,nodeBottom=node.offsetTop+node.offsetHeight;nodeBottom>scrollBottom?listboxContentNode.scrollTop=nodeBottom-listboxContentNode.clientHeight:node.offsetTop<listboxContentNode.scrollTop&&(listboxContentNode.scrollTop=node.offsetTop)}opts.focusedNode=node,menuController&&menuController.refreshViewValue&&menuController.refreshViewValue()}}},onRemove:function(scope,element,opts){var animationRunner=null,destroyListener=scope.$on("$destroy",function(){animationRunner.end()});return(opts=opts||{}).cleanupInteraction(),opts.cleanupResizing(),opts.hideBackdrop(),!0===opts.$destroy?cleanElement():(animationRunner=$animateCss(element,{addClass:"md-leave"})).start().then(cleanElement);function cleanElement(){destroyListener(),element.removeClass("md-active").attr("aria-hidden","true").css({display:"none",top:"",right:"",bottom:"",left:"","font-size":"","min-width":""}),function(opts){var mdSelect=opts.selectCtrl;if(mdSelect){var menuController=opts.selectEl.controller("mdSelectMenu");mdSelect.setSelectValueText(menuController?menuController.getSelectedLabels():""),mdSelect.triggerClose()}}
vendor: 31,437 bytes, line 1
1(opts),opts.$destroy||(opts.restoreFocus?opts.target.focus():$mdUtil.nextTick(function(){opts.target.triggerHandler("blur")},!0))}},hasBackdrop:!0,disableParentScroll:!0};function calculateMenuPositions(scope,element,opts){var centeredNode,obj,containerNode=element[0],targetNode=opts.target[0].children[0],parentNode=$document[0].body,selectNode=opts.selectEl[0],contentNode=opts.contentEl[0],parentRect=parentNode.getBoundingClientRect(),targetRect=targetNode.getBoundingClientRect(),bounds={left:parentRect.left+SELECT_EDGE_MARGIN,top:SELECT_EDGE_MARGIN,bottom:parentRect.height-SELECT_EDGE_MARGIN,right:parentRect.width-SELECT_EDGE_MARGIN-($mdUtil.floatingScrollbars()?16:0)},spaceAvailable_top=targetRect.top-bounds.top,spaceAvailable_bottom=(targetRect.left,targetRect.left,targetRect.width,bounds.bottom-(targetRect.top+targetRect.height)),maxWidth=parentRect.width-2*SELECT_EDGE_MARGIN,selectedNode=selectNode.querySelector("md-option[selected]"),optionNodes=selectNode.getElementsByTagName("md-option"),optgroupNodes=selectNode.getElementsByTagName("md-optgroup"),isScrollable=function(element,contentNode){var isScrollable=!1;try{var oldDisplay=element[0].style.display;element[0].style.display="block",isScrollable=contentNode.scrollHeight>contentNode.offsetHeight,element[0].style.display=oldDisplay}finally{}return isScrollable}(element,contentNode);centeredNode=(obj=opts.loadingAsync)&&angular.isFunction(obj.then)?contentNode.firstElementChild||contentNode:selectedNode||(optgroupNodes.length?optgroupNodes[0]:optionNodes.length?optionNodes[0]:contentNode.firstElementChild||contentNode),contentNode.offsetWidth>maxWidth?contentNode.style["max-width"]=maxWidth+"px":contentNode.style.maxWidth=null,isScrollable&&selectNode.classList.add("md-overflow");var focusedNode=centeredNode;"MD-OPTGROUP"===(focusedNode.tagName||"").toUpperCase()&&(centeredNode=focusedNode=optionNodes[0]||contentNode.firstElementChild||contentNode),opts.focusedNode=focusedNode,containerNode.style.display="block";var node,left,top,transformOrigin,minWidth,fontSize,selectMenuRect=selectNode.getBoundingClientRect(),centeredRect=(node=centeredNode)?{left:node.offsetLeft,top:node.offsetTop,width:node.offsetWidth,height:node.offsetHeight}:{left:0,top:0,width:0,height:0};if(centeredNode){var centeredStyle=$window.getComputedStyle(centeredNode);centeredRect.paddingLeft=parseInt(centeredStyle.paddingLeft,10)||0,centeredRect.paddingRight=parseInt(centeredStyle.paddingRight,10)||0}if(isScrollable){var scrollBuffer=contentNode.offsetHeight/2;contentNode.scrollTop=centeredRect.top+centeredRect.height/2-scrollBuffer,spaceAvailable_top<scrollBuffer?contentNode.scrollTop=Math.min(centeredRect.top,contentNode.scrollTop+scrollBuffer-spaceAvailable_top):spaceAvailable_bottom<scrollBuffer&&(contentNode.scrollTop=Math.max(centeredRect.top+centeredRect.height-selectMenuRect.height,contentNode.scrollTop-scrollBuffer+spaceAvailable_bottom))}left=targetRect.left+centeredRect.left-centeredRect.paddingLeft,top=Math.floor(targetRect.top+targetRect.height/2-centeredRect.height/2-centeredRect.top+contentNode.scrollTop)+2,transformOrigin=centeredRect.left+targetRect.width/2+"px "+(centeredRect.top+centeredRect.height/2-contentNode.scrollTop)+"px 0px",minWidth=Math.min(targetRect.width+centeredRect.paddingLeft+centeredRect.paddingRight,maxWidth),fontSize=window.getComputedStyle(targetNode)["font-size"];var containerRect=containerNode.getBoundingClientRect(),scaleX=Math.round(100*Math.min(targetRect.width/selectMenuRect.width,1))/100,scaleY=Math.round(100*Math.min(targetRect.height/selectMenuRect.height,1))/100;return{container:{element:angular.element(containerNode),styles:{left:Math.floor(clamp(bounds.left,left,bounds.right-minWidth)),top:Math.floor(clamp(bounds.top,top,bounds.bottom-containerRect.height)),"min-width":minWidth,"font-size":fontSize}},dropDown:{element:angular.element(selectNode),styles:{transformOrigin:transformOrigin,transform:opts.alreadyOpen?"":$mdUtil.supplant("scale({0},{1})",[scaleX,scaleY])}}}}}function clamp(min,n,max){return Math.max(min,Math.min(n,max))}}function shouldHandleKey(ev,$mdConstant){var char=String.fromCharCode(ev.keyCode),isNonUsefulKey=ev.keyCode<=31;return char&&char.length&&!isNonUsefulKey&&!$mdConstant.isMetaKey(ev)&&!$mdConstant.isFnLockKey(ev)&&!$mdConstant.hasModifierKey(ev)}angular.module("material.components.select",["material.core","material.components.backdrop"]).directive("mdSelect",SelectDirective).directive("mdSelectMenu",SelectMenuDirective).directive("mdOption",OptionDirective).directive("mdOptgroup",function(){return{restrict:"E",compile:function(element,attrs){element.parent().find("md-select-header").length||function(){var labelElement=element.find("label");labelElement.length||(labelElement=angular.element("<label>"),element.prepend(labelElement));labelElement.addClass("md-container-ignore"),labelElement.attr("aria-hidden","true"),attrs.label&&labelElement.text(attrs.label);element.attr("aria-label",labelElement.text())}();element.attr("role","group")}}}).directive("mdSelectHeader",function(){return{restrict:"E"}}).provider("$mdSelect",SelectProvider)}(),function(){function createDirective(name,targetValue){return["$mdUtil","$window",function($mdUtil,$window){return{restrict:"A",multiElement:!0,link:function($scope,$element,$attr){var unregister=$scope.$on("$md-resize-enable",function(){unregister();var node=$element[0],cachedTransitionStyles=node.nodeType===$window.Node.ELEMENT_NODE?$window.getComputedStyle(node):{};$scope.$watch($attr[name],function(value){if(!!value===targetValue){$mdUtil.nextTick(function(){$scope.$broadcast("$md-resize")});var opts={cachedTransitionStyles:cachedTransitionStyles};$mdUtil.dom.animator.waitTransitionEnd($element,opts).then(function(){$scope.$broadcast("$md-resize")})}})})}}}]}angular.module("material.components.showHide",["material.core"]).directive("ngShow",createDirective("ngShow",!0)).directive("ngHide",createDirective("ngHide",!1))}(),function(){function SidenavService($mdComponentRegistry,$mdUtil,$q,$log){var errorMsg="SideNav '{0}' is not available! Did you use md-component-id='{0}'?",service={find:function(handle,shouldWait){var instance=$mdComponentRegistry.get(handle);if(!instance&&!shouldWait)return $log.error($mdUtil.supplant(errorMsg,[handle||""])),undefined;return instance},waitFor:waitForInstance};return function(handle,enableWait){if(angular.isUndefined(handle))return service;var shouldWait=!0===enableWait,instance=service.find(handle,shouldWait);return!instance&&shouldWait?service.waitFor(handle):!instance&&angular.isUndefined(enableWait)?function(service,handle){var falseFn=function(){return!1},rejectFn=function(){return $q.when($mdUtil.supplant(errorMsg,[handle||""]))};return angular.extend({isLockedOpen:falseFn,isOpen:falseFn,toggle:rejectFn,open:rejectFn,close:rejectFn,onClose:angular.noop,then:function(callback){return waitForInstance(handle).then(callback||angular.noop)}},service)}(service,handle):instance};function waitForInstance(handle){return $mdComponentRegistry.when(handle).catch($log.error)}}function SidenavDirective($mdMedia,$mdUtil,$mdConstant,$mdTheming,$mdInteraction,$animate,$compile,$parse,$log,$q,$document,$window,$$rAF){return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(element){return element.addClass("md-closed").attr("tabIndex","-1"),postLink}};function postLink(scope,element,attr,sidenavCtrl){var lastParentOverFlow,backdrop,disableCloseEvents,triggeringInteractionType,previousContainerStyles,disableScrollTarget=null,triggeringElement=null,promise=$q.when(!0),isLockedOpenParsed=$parse(attr.mdIsLockedOpen),ngWindow=angular.element($window);function onKeyDown(ev){return ev.keyCode===$mdConstant.KEY_CODE.ESCAPE?close(ev):$q.when(!0)}function close(ev){return ev.preventDefault(),sidenavCtrl.close()}attr.mdDisableScrollTarget&&((disableScrollTarget=$document[0].querySelector(attr.mdDisableScrollTarget))?disableScrollTarget=angular.element(disableScrollTarget):$log.warn($mdUtil.supplant('mdSidenav: couldn\'t find element matching selector "{selector}". Falling back to parent.',{selector:attr.mdDisableScrollTarget}))),disableScrollTarget||(disableScrollTarget=element.parent()),attr.hasOwnProperty("mdDisableBackdrop")||(backdrop=$mdUtil.createBackdrop(scope,"md-sidenav-backdrop md-opaque ng-enter")),attr.hasOwnProperty("mdDisableCloseEvents")&&(disableCloseEvents=!0),element.addClass("_md"),$mdTheming(element),backdrop&&$mdTheming.inherit(backdrop,element),element.on("$destroy",function(){backdrop&&backdrop.remove(),sidenavCtrl.destroy()}),scope.$on("$destroy",function(){backdrop&&backdrop.remove()}),scope.$watch(function(){return isLockedOpenParsed(scope.$parent,{$mdMedia:$mdMedia})},function(isLocked,oldValue){scope.isLockedOpen=isLocked,isLocked===oldValue?element.toggleClass("md-locked-open",!!isLocked):$animate[isLocked?"addClass":"removeClass"](element,"md-locked-open");backdrop&&backdrop.toggleClass("md-locked-open",!!isLocked)}),scope.$watch("isOpen",function(isOpen){var restorePositioning,focusEl=$mdUtil.findFocusTarget(element)||element,parent=element.parent();disableCloseEvents||(parent[isOpen?"on":"off"]("keydown",onKeyDown),backdrop&&backdrop[isOpen?"on":"off"]("click",close));restorePositioning=function(parent,willOpen){var drawerEl=element[0],scrollTop=parent[0].scrollTop;if(willOpen&&scrollTop){previousContainerStyles={top:drawerEl.style.top,bottom:drawerEl.style.bottom,height:drawerEl.style.height};var positionStyle={top:scrollTop+"px",bottom:"auto",height:parent[0].clientHeight+"px"};element.css(positionStyle),backdrop.css(positionStyle)}if(!willOpen&&previousContainerStyles)return function(){drawerEl.style.top=previousContainerStyles.top,drawerEl.style.bottom=previousContainerStyles.bottom,drawerEl.style.height=previousContainerStyles.height,backdrop[0].style.top=null,backdrop[0].style.bottom=null,backdrop[0].style.height=null,previousContainerStyles=null}}(parent,isOpen),isOpen&&(triggeringElement=$document[0].activeElement,triggeringInteractionType=$mdInteraction.getLastInteractionType());return disabled=isOpen,disabled&&!lastParentOverFlow?(lastParentOverFlow=disableScrollTarget.css("overflow"),disableScrollTarget.css("overflow","hidden")):angular.isDefined(lastParentOverFlow)&&(disableScrollTarget.css("overflow",lastParentOverFlow),lastParentOverFlow=undefined),promise=$q.all([isOpen&&backdrop?$animate.enter(backdrop,parent):backdrop?$animate.leave(backdrop):$q.when(!0),$animate[isOpen?"removeClass":"addClass"](element,"md-closed")]).then(function(){scope.isOpen&&($$rAF(function(){ngWindow.triggerHandler("resize")}),focusEl&&focusEl.focus()),restorePositioning&&restorePositioning()});var disabled}),sidenavCtrl.$toggleOpen=function(isOpen){return scope.isOpen===isOpen?$q.when(!0):(scope.isOpen&&sidenavCtrl.onCloseCb&&sidenavCtrl.onCloseCb(),$q(function(resolve){scope.isOpen=isOpen,$mdUtil.nextTick(function(){promise.then(function(result){!scope.isOpen&&triggeringElement&&"keyboard"===triggeringInteractionType&&(triggeringElement.focus(),triggeringElement=null),resolve(result)})})}))}}}function SidenavController($scope,$attrs,$mdComponentRegistry,$q,$interpolate){var self=this;self.isOpen=function(){return!!$scope.isOpen},self.isLockedOpen=function(){return!!$scope.isLockedOpen},self.onClose=function(callback){return self.onCloseCb=callback,self},self.open=function(){return self.$toggleOpen(!0)},self.close=function(){return self.$toggleOpen(!1)},self.toggle=function(){return self.$toggleOpen(!$scope.isOpen)},self.$toggleOpen=function(value){return $q.when($scope.isOpen=value)};var rawId=$attrs.mdComponentId,hasDataBinding=rawId&&rawId.indexOf($interpolate.startSymbol())>-1,componentId=hasDataBinding?$interpolate(rawId)($scope.$parent):rawId;self.destroy=$mdComponentRegistry.register(self,componentId),hasDataBinding&&$attrs.$observe("mdComponentId",function(id){id&&id!==self.$$mdHandle&&(self.destroy(),self.destroy=$mdComponentRegistry.register(self,id))})}SidenavService.$inject=["$mdComponentRegistry","$mdUtil","$q","$log"],SidenavDirective.$inject=["$mdMedia","$mdUtil","$mdConstant","$mdTheming","$mdInteraction","$animate","$compile","$parse","$log","$q","$document","$window","$$rAF"],SidenavController.$inject=["$scope","$attrs","$mdComponentRegistry","$q","$interpolate"],angular.module("material.components.sidenav",["material.core","material.components.backdrop"]).factory("$mdSidenav",SidenavService).directive("mdSidenav",SidenavDirective).controller("$mdSidenavController",SidenavController)}(),function(){SliderDirective.$inject=["$$rAF","$window","$mdAria","$mdUtil","$mdConstant","$mdTheming","$mdGesture","$parse","$log","$timeout"],angular.module("material.components.slider",["material.core"]).directive("mdSlider",SliderDirective).directive("mdSliderContainer",function(){return{controller:function(){},compile:function(elem){var slider=elem.find("md-slider");if(slider){var vertical=slider.attr("md-vertical");return vertical!==undefined&&elem.attr("md-vertical",""),slider.attr("flex")||slider.attr("flex",""),function(scope,element,attr,ctrl){function setDisable(value){element.children().attr("disabled",value),element.find("input").attr("disabled",value)}element.addClass("_md");var initialMaxWidth,stopDisabledWatch=angular.noop;attr.disabled?setDisable(!0):attr.ngDisabled&&(stopDisabledWatch=scope.$watch(attr.ngDisabled,function(value){setDisable(value)})),scope.$on("$destroy",function(){stopDisabledWatch()}),ctrl.fitInputWidthToTextLength=function(length){var input=element[0].querySelector("md-input-container");if(input){var computedStyle=getComputedStyle(input),minWidth=parseInt(computedStyle.minWidth),padding=parseInt(computedStyle.paddingLeft)+parseInt(computedStyle.paddingRight);initialMaxWidth=initialMaxWidth||parseInt(computedStyle.maxWidth);var newMaxWidth=Math.max(initialMaxWidth,minWidth+padding+minWidth/2*length);input.style.maxWidth=newMaxWidth+"px"}}}}}}});var stepPageSize=10,modifierMultiplier=4;function SliderDirective($$rAF,$window,$mdAria,$mdUtil,$mdConstant,$mdTheming,$mdGesture,$parse,$log,$timeout){return{scope:{},require:["?ngModel","?^mdSliderContainer"],template:'<div class="md-slider-wrapper"><div class="md-slider-content"><div class="md-track-container"><div class="md-track"></div><div class="md-track md-track-fill"></div><div class="md-track-ticks"></div></div><div class="md-thumb-container"><div class="md-thumb"></div><div class="md-focus-thumb"></div><div class="md-focus-ring"></div><div class="md-sign"><span class="md-thumb-text"></span></div><div class="md-disabled-thumb"></div></div></div></div>',compile:function(tElement,tAttrs){var wrapper=angular.element(tElement[0].getElementsByClassName("md-slider-wrapper")),tabIndex=tAttrs.tabindex||0;wrapper.attr("tabindex",tabIndex),(tAttrs.disabled||tAttrs.ngDisabled)&&wrapper.attr("tabindex",-1);return wrapper.attr("role","slider"),$mdAria.expect(tElement,"aria-label"),postLink}};function postLink(scope,element,attr,ctrls){$mdTheming(element);var ngModelCtrl=ctrls[0]||{$setViewValue:function(val){this.$viewValue=val,this.$viewChangeListeners.forEach(function(cb){cb()})},$parsers:[],$formatters:[],$viewChangeListeners:[]},containerCtrl=ctrls[1],isDisabled=(angular.element($mdUtil.getClosest(element,"_md-slider-container",!0)),attr.ngDisabled?angular.bind(null,$parse(attr.ngDisabled),scope.$parent):function(){return element[0].hasAttribute("disabled")}),thumb=angular.element(element[0].querySelector(".md-thumb")),thumbText=angular.element(element[0].querySelector(".md-thumb-text")),thumbContainer=thumb.parent(),trackContainer=angular.element(element[0].querySelector(".md-track-container")),activeTrack=angular.element(element[0].querySelector(".md-track-fill")),tickContainer=angular.element(element[0].querySelector(".md-track-ticks")),wrapper=angular.element(element[0].getElementsByClassName("md-slider-wrapper")),throttledRefreshDimensions=(angular.element(element[0].getElementsByClassName("md-slider-content")),$mdUtil.throttle(refreshSliderDimensions,5e3)),vertical=angular.isDefined(attr.mdVertical),discrete=angular.isDefined(attr.mdDiscrete),invert=angular.isDefined(attr.mdInvert);angular.isDefined(attr.min)?attr.$observe("min",updateMin):updateMin(0),angular.isDefined(attr.max)?attr.$observe("max",updateMax):updateMax(100),angular.isDefined(attr.step)?attr.$observe("step",updateStep):updateStep(1),angular.isDefined(attr.round)?attr.$observe("round",updateRound):updateRound(3);angular.noop;function updateAll(){refreshSliderDimensions(),ngModelRender()}attr.ngDisabled&&scope.$parent.$watch(attr.ngDisabled,function(){element.attr("aria-disabled",!!isDisabled())}),$mdGesture.register(wrapper,"drag",{horizontal:!vertical}),scope.mouseActive=!1,wrapper.on("keydown",function(ev){if(isDisabled())return;var changeAmount,keyCodes=$mdConstant.KEY_CODE;switch(ev.keyCode){case keyCodes.DOWN_ARROW:case keyCodes.LEFT_ARROW:ev.preventDefault(),changeAmount=-step;break;case keyCodes.UP_ARROW:case keyCodes.RIGHT_ARROW:ev.preventDefault(),changeAmount=step;break;case keyCodes.PAGE_DOWN:ev.preventDefault(),changeAmount=-step*stepPageSize;break;case keyCodes.PAGE_UP:ev.preventDefault(),changeAmount=step*stepPageSize;break;case keyCodes.HOME:ev.preventDefault(),ev.stopPropagation(),updateValue(min);break;case keyCodes.END:ev.preventDefault(),ev.stopPropagation(),updateValue(max)}changeAmount&&(changeAmount=invert?-changeAmount:changeAmount,(ev.metaKey||ev.ctrlKey||ev.altKey)&&(changeAmount*=modifierMultiplier),ev.preventDefault(),ev.stopPropagation(),updateValue(ngModelCtrl.$viewValue+changeAmount))}).on("mousedown",function(){(function(){if(!discrete||isDisabled())return;if(angular.isUndefined(step))return;if(step<=0){var msg="Slider step value must be greater than zero when in discrete mode";throw $log.error(msg),new Error(msg)}var numSteps=Math.floor((max-min)/step);tickCanvas||(tickCanvas=angular.element("<canvas>").css("position","absolute"),tickContainer.append(tickCanvas),tickCtx=tickCanvas[0].getContext("2d"));var distance,dimensions=getSliderDimensions();!dimensions||dimensions.height||dimensions.width||(refreshSliderDimensions(),dimensions=sliderDimensions);tickCanvas[0].width=dimensions.width,tickCanvas[0].height=dimensions.height;for(var i=0;i<=numSteps;i++){var trackTicksStyle=$window.getComputedStyle(tickContainer[0]);tickCtx.fillStyle=trackTicksStyle.color||"black",distance=Math.floor((vertical?dimensions.height:dimensions.width)*(i/numSteps)),tickCtx.fillRect(vertical?0:distance-1,vertical?distance-1:0,vertical?dimensions.width:2,vertical?2:dimensions.height)}})(),scope.mouseActive=!0,wrapper.removeClass("md-focused"),$timeout(function(){scope.mouseActive=!1},100)}).on("focus",function(){!1===scope.mouseActive&&wrapper.addClass("md-focused")}).on("blur",function(){wrapper.removeClass("md-focused"),element.removeClass("md-active"),function(){if(tickCanvas&&tickCtx){var dimensions=getSliderDimensions();tickCtx.clearRect(0,0,dimensions.width,dimensions.height)}}()}).on("$md.pressdown",function(ev){if(isDisabled())return;element.addClass("md-active"),element[0].focus(),refreshSliderDimensions();var closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX))));scope.$apply(function(){setModelValue(closestVal),setSliderPercent(valueToPercent(closestVal))})}).on("$md.pressup",function(ev){if(isDisabled())return;element.removeClass("md-dragging");var closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX))));scope.$apply(function(){setModelValue(closestVal),ngModelRender()})}).on("$md.dragstart",function(ev){if(isDisabled())return;isDragging=!0,ev.stopPropagation(),element.addClass("md-dragging"),setSliderFromEvent(ev)}).on("$md.drag",function(ev){if(!isDragging)return;ev.stopPropagation(),setSliderFromEvent(ev)}).on("$md.dragend",function(ev){if(!isDragging)return;ev.stopPropagation(),isDragging=!1}),setTimeout(updateAll,0);var min,max,step,round,tickCanvas,tickCtx,debouncedUpdateAll=$$rAF.throttle(updateAll);function updateMin(value){min=parseFloat(value),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$modelValue,min,max),wrapper.attr("aria-valuemin",value),updateAll()}function updateMax(value){max=parseFloat(value),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$modelValue,min,max),wrapper.attr("aria-valuemax",value),updateAll()}function updateStep(value){step=parseFloat(value)}function updateRound(value){round=minMaxValidator(parseInt(value),0,6)}angular.element($window).on("resize",debouncedUpdateAll),scope.$on("$destroy",function(){angular.element($window).off("resize",debouncedUpdateAll)}),ngModelCtrl.$render=ngModelRender,ngModelCtrl.$viewChangeListeners.push(ngModelRender),ngModelCtrl.$formatters.push(minMaxValidator),ngModelCtrl.$formatters.push(stepValidator);var sliderDimensions={};function refreshSliderDimensions(){sliderDimensions=trackContainer[0].getBoundingClientRect()}function getSliderDimensions(){return throttledRefreshDimensions(),sliderDimensions}function updateValue(value){scope.$evalAsync(function(){setModelValue(value)})}function setModelValue(value){ngModelCtrl.$setViewValue(minMaxValidator(stepValidator(value)))}function ngModelRender(){isNaN(ngModelCtrl.$viewValue)&&(ngModelCtrl.$viewValue=ngModelCtrl.$modelValue),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$viewValue);var percent=valueToPercent(ngModelCtrl.$viewValue);scope.modelValue=ngModelCtrl.$viewValue,wrapper.attr("aria-valuenow",ngModelCtrl.$viewValue),setSliderPercent(percent),thumbText.text(ngModelCtrl.$viewValue)}function minMaxValidator(value,minValue,maxValue){if(angular.isNumber(value))return minValue=angular.isNumber(minValue)?minValue:min,maxValue=angular.isNumber(maxValue)?maxValue:max,Math.max(minValue,Math.min(maxValue,value))}function stepValidator(value){if(angular.isNumber(value)){var formattedValue=Math.round((value-min)/step)*step+min;return formattedValue=Math.round(formattedValue*Math.pow(10,round))/Math.pow(10,round),containerCtrl&&containerCtrl.fitInputWidthToTextLength&&$mdUtil.debounce(function(){containerCtrl.fitInputWidthToTextLength(formattedValue.toString().length)},100)(),formattedValue}}function setSliderPercent(percent){var value;value=percent;var thumbPosition=100*(percent=Math.max(0,Math.min(value||0,1)))+"%",activeTrackPercent=invert?100*(1-percent)+"%":thumbPosition;vertical?thumbContainer.css("bottom",thumbPosition):$mdUtil.bidiProperty(thumbContainer,"left","right",thumbPosition),activeTrack.css(vertical?"height":"width",activeTrackPercent),element.toggleClass(invert?"md-max":"md-min",0===percent),element.toggleClass(invert?"md-min":"md-max",1===percent)}refreshSliderDimensions();var isDragging=!1;function setSliderFromEvent(ev){var x,closestVal;discrete?(x=vertical?ev.srcEvent.clientY:ev.srcEvent.clientX,closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(x)))),setSliderPercent(positionToPercent(x)),thumbText.text(closestVal)):function(x){scope.$evalAsync(function(){setModelValue(percentToValue(positionToPercent(x)))})}(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX)}function positionToPercent(position){var calc=(position-(vertical?sliderDimensions.top:sliderDimensions.left))/(vertical?sliderDimensions.height:sliderDimensions.width);return!vertical&&$mdUtil.isRtl(attr)&&(calc=1-calc),Math.max(0,Math.min(1,vertical?1-calc:calc))}function percentToValue(percent){return min+(invert?1-percent:percent)*(max-min)}function valueToPercent(val){var percent=(val-min)/(max-min);return invert?1-percent:percent}}}}(),function(){function MdSticky($mdConstant,$$rAF,$mdUtil,$compile){var browserStickySupport=$mdUtil.checkStickySupport();return function(scope,element,stickyClone){var contentCtrl=element.controller("mdContent");if(contentCtrl)if(browserStickySupport)element.css({position:browserStickySupport,top:0,"z-index":2});else{var $$sticky=contentCtrl.$element.data("$$sticky");$$sticky||($$sticky=function(contentCtrl){var self,contentEl=contentCtrl.$element,debouncedRefreshElements=$$rAF.throttle(refreshElements);return function(element){var isScrolling,lastScrollTime,SCROLL_END_DELAY=200;function loopScrollEvent(){+$mdUtil.now()-lastScrollTime>SCROLL_END_DELAY?(isScrolling=!1,element.triggerHandler("$scrollend")):(element.triggerHandler("$scroll"),$$rAF.throttle(loopScrollEvent))}element.on("scroll touchmove",function(){isScrolling||(isScrolling=!0,$$rAF.throttle(loopScrollEvent),element.triggerHandler("$scrollstart")),element.triggerHandler("$scroll"),lastScrollTime=+$mdUtil.now()})}(contentEl),contentEl.on("$scrollstart",debouncedRefreshElements),contentEl.on("$scroll",function onScroll(){var scrollTop=contentEl.prop("scrollTop"),isScrollingDown=scrollTop>(onScroll.prevScrollTop||0);if(onScroll.prevScrollTop=scrollTop,0!==scrollTop){if(isScrollingDown){if(self.next&&self.next.top<=scrollTop)return void setCurrentItem(self.next);if(self.current&&self.next&&self.next.top-scrollTop<=self.next.height)return void translate(self.current,scrollTop+(self.next.top-self.next.height-scrollTop))}if(!isScrollingDown){if(self.current&&self.prev&&scrollTop<self.current.top)return void setCurrentItem(self.prev);if(self.next&&self.current&&scrollTop>=self.next.top-self.current.height)return void translate(self.current,scrollTop+(self.next.top-scrollTop-self.current.height))}self.current&&translate(self.current,scrollTop)}else setCurrentItem(null)}),self={prev:null,current:null,next:null,items:[],add:function(element,stickyClone){stickyClone.addClass("md-sticky-clone");var item={element:element,clone:stickyClone};return self.items.push(item),$mdUtil.nextTick(function(){contentEl.prepend(item.clone)}),debouncedRefreshElements(),function(){self.items.forEach(function(item,index){item.element[0]===element[0]&&(self.items.splice(index,1),item.clone.remove())}),debouncedRefreshElements()}},refreshElements:refreshElements};function refreshElements(){var item;self.items.forEach(refreshPosition),self.items=self.items.sort(function(a,b){return a.top<b.top?-1:1});for(var currentScrollTop=contentEl.prop("scrollTop"),i=self.items.length-1;i>=0;i--)if(currentScrollTop>self.items[i].top){item=self.items[i];break}setCurrentItem(item)}function refreshPosition(item){var current=item.element[0];for(item.top=0,item.left=0,item.right=0;current&&current!==contentEl[0];)item.top+=current.offsetTop,item.left+=current.offsetLeft,current.offsetParent&&(item.right+=current.offsetParent.offsetWidth-current.offsetWidth-current.offsetLeft),current=current.offsetParent;item.height=item.element.prop("offsetHeight");var defaultVal=$mdUtil.floatingScrollbars()?"0":undefined;$mdUtil.bidi(item.clone,"margin-left",item.left,defaultVal),$mdUtil.bidi(item.clone,"margin-right",defaultVal,item.right)}function setCurrentItem(item){if(self.current!==item){self.current&&(translate(self.current,null),setStickyState(self.current,null)),item&&setStickyState(item,"active"),self.current=item;var index=self.items.indexOf(item);self.next=self.items[index+1],self.prev=self.items[index-1],setStickyState(self.next,"next"),setStickyState(self.prev,"prev")}}function setStickyState(item,state){item&&item.state!==state&&(item.state&&(item.clone.attr("sticky-prev-state",item.state),item.element.attr("sticky-prev-state",item.state)),item.clone.attr("sticky-state",state),item.element.attr("sticky-state",state),item.state=state)}function translate(item,amount){item&&(null===amount||amount===undefined?item.translateY&&(item.translateY=null,item.clone.css($mdConstant.CSS.TRANSFORM,"")):(item.translateY=amount,$mdUtil.bidi(item.clone,$mdConstant.CSS.TRANSFORM,"translate3d("+item.left+"px,"+amount+"px,0)","translateY("+amount+"px)")))}}(contentCtrl),contentCtrl.$element.data("$$sticky",$$sticky));var cloneElement=stickyClone||$compile(element.clone())(scope),deregister=$$sticky.add(element,cloneElement);scope.$on("$destroy",deregister)}}}MdSticky.$inject=["$mdConstant","$$rAF","$mdUtil","$compile"],angular.module("material.components.sticky",["material.core","material.components.content"]).factory("$mdSticky",MdSticky)}(),function(){function MdSubheaderDirective($mdSticky,$compile,$mdTheming,$mdUtil,$mdAria){return{restrict:"E",replace:!0,transclude:!0,template:'<div class="md-subheader _md">  <div class="md-subheader-inner">    <div class="md-subheader-content"></div>  </div></div>',link:function(scope,element,attr,controllers,transclude){$mdTheming(element),element.addClass("_md"),$mdUtil.prefixer().removeAttribute(element,"ng-repeat");var outerHTML=element[0].outerHTML;function getContent(el){return angular.element(el[0].querySelector(".md-subheader-content"))}attr.$set("role","heading"),$mdAria.expect(element,"aria-level","2"),transclude(scope,function(clone){getContent(element).append(clone)}),element.hasClass("md-no-sticky")||transclude(scope,function(clone){var wrapper=$compile('<div class="md-subheader-wrapper" aria-hidden="true">'+outerHTML+"</div>")(scope);$mdUtil.nextTick(function(){getContent(wrapper).append(clone)}),$mdSticky(scope,element,wrapper)})}}}MdSubheaderDirective.$inject=["$mdSticky","$compile","$mdTheming","$mdUtil","$mdAria"],angular.module("material.components.subheader",["material.core","material.components.sticky"]).directive("mdSubheader",MdSubheaderDirective)}(),function(){function getDirective(name){DirectiveFactory.$inject=["$parse"];var directiveName="md"+name,eventName="$md."+name.toLowerCase();return DirectiveFactory;function DirectiveFactory($parse){return{restrict:"A",link:function(scope,element,attr){var fn=$parse(attr[directiveName]);element.on(eventName,function(ev){var currentTarget=ev.currentTarget;scope.$applyAsync(function(){fn(scope,{$event:ev,$target:{current:currentTarget}})})})}}}}angular.module("material.components.swipe",["material.core"]).directive("mdSwipeLeft",getDirective("SwipeLeft")).directive("mdSwipeRight",getDirective("SwipeRight")).directive("mdSwipeUp",getDirective("SwipeUp")).directive("mdSwipeDown",getDirective("SwipeDown"))}(),function(){function MdSwitch(mdCheckboxDirective,$mdUtil,$mdConstant,$parse,$$rAF,$mdGesture,$timeout){var checkboxDirective=mdCheckboxDirective[0];return{restrict:"E",priority:$mdConstant.BEFORE_NG_ARIA,transclude:!0,template:'<div class="md-container"><div class="md-bar"></div><div class="md-thumb-container"><div class="md-thumb" md-ink-ripple md-ink-ripple-checkbox></div></div></div><div ng-transclude class="md-label"></div>',require:["^?mdInputContainer","?ngModel","?^form"],compile:function(element,attr){var checkboxLink=checkboxDirective.compile(element,attr).post;return element.addClass("md-dragging"),function(scope,element,attr,ctrls){ctrls[0];var ngModel=ctrls[1]||$mdUtil.fakeNgModel(),disabledGetter=(ctrls[2],null);null!=attr.disabled?disabledGetter=function(){return!0}:attr.ngDisabled&&(disabledGetter=$parse(attr.ngDisabled));var drag,thumbContainer=angular.element(element[0].querySelector(".md-thumb-container")),switchContainer=angular.element(element[0].querySelector(".md-container")),labelContainer=angular.element(element[0].querySelector(".md-label"));$$rAF(function(){element.removeClass("md-dragging")}),checkboxLink(scope,element,attr,ctrls),disabledGetter&&scope.$watch(disabledGetter,function(isDisabled){element.attr("tabindex",isDisabled?-1:0)}),attr.$observe("mdInvert",function(newValue){var isInverted=$mdUtil.parseAttributeBoolean(newValue);
1isInverted?element.prepend(labelContainer):element.prepend(switchContainer),element.toggleClass("md-inverted",isInverted)}),$mdGesture.register(switchContainer,"drag"),switchContainer.on("$md.dragstart",function(ev){disabledGetter&&disabledGetter(scope)||(ev.stopPropagation(),element.addClass("md-dragging"),drag={width:thumbContainer.prop("offsetWidth")})}).on("$md.drag",function(ev){if(drag){ev.stopPropagation(),ev.srcEvent&&ev.srcEvent.preventDefault();var percent=ev.pointer.distanceX/drag.width,translate=ngModel.$viewValue?1+percent:percent;translate=Math.max(0,Math.min(1,translate)),thumbContainer.css($mdConstant.CSS.TRANSFORM,"translate3d("+100*translate+"%,0,0)"),drag.translate=translate}}).on("$md.dragend",function(ev){var newValue;drag&&(ev.stopPropagation(),element.removeClass("md-dragging"),thumbContainer.css($mdConstant.CSS.TRANSFORM,""),(ngModel.$viewValue?drag.translate<.5:drag.translate>.5)&&(newValue=!ngModel.$viewValue,scope.$apply(function(){ngModel.$setViewValue(newValue),ngModel.$render()})),drag=null,scope.skipToggle=!0,$timeout(function(){scope.skipToggle=!1},1))})}}}}MdSwitch.$inject=["mdCheckboxDirective","$mdUtil","$mdConstant","$parse","$$rAF","$mdGesture","$timeout"],angular.module("material.components.switch",["material.core","material.components.checkbox"]).directive("mdSwitch",MdSwitch)}(),angular.module("material.components.tabs",["material.core","material.components.icon"]),function(){angular.module("material.components.tabs").service("MdTabsPaginationService",function(){return{decreasePageOffset:function(elements,currentOffset){var i,firstVisibleTabOffset,canvas=elements.canvas,tabOffsets=getTabOffsets(elements);for(i=0;i<tabOffsets.length;i++)if(tabOffsets[i]>=currentOffset){firstVisibleTabOffset=tabOffsets[i];break}return Math.max(0,firstVisibleTabOffset-canvas.clientWidth)},increasePageOffset:function(elements,currentOffset){var i,firstHiddenTabOffset,canvas=elements.canvas,maxOffset=getTotalTabsWidth(elements)-canvas.clientWidth,tabOffsets=getTabOffsets(elements);for(i=0;tabOffsets.length,tabOffsets[i]<=currentOffset+canvas.clientWidth;i++)firstHiddenTabOffset=tabOffsets[i];return Math.min(maxOffset,firstHiddenTabOffset)},getTabOffsets:getTabOffsets,getTotalTabsWidth:getTotalTabsWidth};function getTabOffsets(elements){var i,tab,currentOffset=0,offsets=[];for(i=0;i<elements.tabs.length;i++)tab=elements.tabs[i],offsets.push(currentOffset),currentOffset+=tab.offsetWidth;return offsets}function getTotalTabsWidth(elements){var i,tab,sum=0;for(i=0;i<elements.tabs.length;i++)tab=elements.tabs[i],sum+=tab.offsetWidth;return sum}})}(),function(){angular.module("material.components.tabs").directive("mdTab",function(){return{require:"^?mdTabs",terminal:!0,compile:function(element,attr){var label=firstChild(element,"md-tab-label"),body=firstChild(element,"md-tab-body");if(0===label.length&&(label=angular.element("<md-tab-label></md-tab-label>"),attr.label?label.text(attr.label):label.append(element.contents()),0===body.length)){var contents=element.contents().detach();(body=angular.element("<md-tab-body></md-tab-body>")).append(contents)}return element.append(label),body.html()&&element.append(body),postLink},scope:{active:"=?mdActive",disabled:"=?ngDisabled",select:"&?mdOnSelect",deselect:"&?mdOnDeselect",tabClass:"@mdTabClass"}};function postLink(scope,element,attr,ctrl){if(ctrl){var index=ctrl.getTabElementIndex(element),body=firstChild(element,"md-tab-body").remove(),label=firstChild(element,"md-tab-label").remove(),data=ctrl.insertTab({scope:scope,parent:scope.$parent,index:index,element:element,template:body.html(),label:label.html()},index);scope.select=scope.select||angular.noop,scope.deselect=scope.deselect||angular.noop,scope.$watch("active",function(active){active&&ctrl.select(data.getIndex(),!0)}),scope.$watch("disabled",function(){ctrl.refreshIndex()}),scope.$watch(function(){return ctrl.getTabElementIndex(element)},function(newIndex){data.index=newIndex,ctrl.updateTabOrder()}),scope.$on("$destroy",function(){ctrl.removeTab(data)})}}function firstChild(element,tagName){for(var children=element[0].children,i=0,len=children.length;i<len;i++){var child=children[i];if(child.tagName===tagName.toUpperCase())return angular.element(child)}return angular.element()}})}(),function(){angular.module("material.components.tabs").directive("mdTabItem",function(){return{require:"^?mdTabs",link:function(scope,element,attr,ctrl){ctrl&&ctrl.attachRipple(scope,element)}}})}(),function(){angular.module("material.components.tabs").directive("mdTabLabel",function(){return{terminal:!0}})}(),function(){function MdTabScroll($parse){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr.mdTabScroll,null,!0);return function(scope,element){element.on("wheel",function(event){scope.$apply(function(){fn(scope,{$event:event})})})}}}}MdTabScroll.$inject=["$parse"],angular.module("material.components.tabs").directive("mdTabScroll",MdTabScroll)}(),function(){function MdTabsController($scope,$element,$window,$mdConstant,$mdTabInkRipple,$mdUtil,$animateCss,$attrs,$compile,$mdTheming,$mdInteraction,$timeout,MdTabsPaginationService){var ctrl=this,locked=!1,queue=[],destroyed=!1,loaded=!1;function defineBooleanAttribute(key,handler){var attr=$attrs.$normalize("md-"+key);function updateValue(newValue){ctrl[key]="false"!==newValue}handler&&defineProperty(key,handler,undefined),$attrs.hasOwnProperty(attr)&&updateV
vendor: 15,618 bytes, line 1
1alue($attrs[attr]),$attrs.$observe(attr,updateValue)}function cleanup(){destroyed=!0,angular.element($window).off("resize",handleWindowResize)}function handleStretchTabs(){var elements=getElements();angular.element(elements.wrapper).toggleClass("md-stretch-tabs",function(){switch(ctrl.stretchTabs){case"always":return!0;case"never":return!1;default:return!ctrl.shouldPaginate&&$window.matchMedia("(max-width: 600px)").matches}}()),updateInkBarStyles()}function handleCenterTabs(){ctrl.shouldCenterTabs=shouldCenterTabs()}function handleMaxTabWidth(newWidth,oldWidth){if(newWidth!==oldWidth){var elements=getElements();angular.forEach(elements.tabs,function(tab){tab.style.maxWidth=newWidth+"px"}),angular.forEach(elements.dummies,function(tab){tab.style.maxWidth=newWidth+"px"}),$mdUtil.nextTick(ctrl.updateInkBarStyles)}}function handleShouldPaginate(newValue,oldValue){newValue!==oldValue&&(ctrl.maxTabWidth=getMaxTabWidth(),ctrl.shouldCenterTabs=shouldCenterTabs(),$mdUtil.nextTick(function(){ctrl.maxTabWidth=getMaxTabWidth(),adjustOffset(ctrl.selectedIndex)}))}function handleHasContent(hasContent){$element[hasContent?"removeClass":"addClass"]("md-no-tab-content")}function handleOffsetChange(left){var newValue=(ctrl.shouldCenterTabs||isRtl()?"":"-")+left+"px";newValue=newValue.replace("--",""),angular.element(getElements().paging).css($mdConstant.CSS.TRANSFORM,"translate("+newValue+", 0)"),$scope.$broadcast("$mdTabsPaginationChanged")}function handleFocusIndexChange(newIndex,oldIndex){newIndex!==oldIndex&&getElements().tabs[newIndex]&&(adjustOffset(),redirectFocus())}function handleSelectedIndexChange(newValue,oldValue){newValue!==oldValue&&(ctrl.selectedIndex=getNearestSafeIndex(newValue),ctrl.lastSelectedIndex=oldValue,ctrl.updateInkBarStyles(),updateHeightFromContent(),adjustOffset(newValue),$scope.$broadcast("$mdTabsChanged"),ctrl.tabs[oldValue]&&ctrl.tabs[oldValue].scope.deselect(),ctrl.tabs[newValue]&&ctrl.tabs[newValue].scope.select())}function select(index,canSkipClick){locked||(ctrl.focusIndex=ctrl.selectedIndex=index),canSkipClick&&ctrl.noSelectClick||$mdUtil.nextTick(function(){ctrl.tabs[index].element.triggerHandler("click")},!1)}function handleWindowResize(){ctrl.lastSelectedIndex=ctrl.selectedIndex,ctrl.offsetLeft=fixOffset(ctrl.offsetLeft),$mdUtil.nextTick(function(){ctrl.updateInkBarStyles(),updatePagination()})}function handleInkBar(hide){angular.element(getElements().inkBar).toggleClass("ng-hide",hide)}function handleDynamicHeight(value){$element.toggleClass("md-dynamic-height",value)}function getElements(){var elements={},node=$element[0];return elements.wrapper=node.querySelector("md-tabs-wrapper"),elements.canvas=elements.wrapper.querySelector("md-tabs-canvas"),elements.paging=elements.canvas.querySelector("md-pagination-wrapper"),elements.inkBar=elements.paging.querySelector("md-ink-bar"),elements.nextButton=node.querySelector("md-next-button"),elements.prevButton=node.querySelector("md-prev-button"),elements.contents=node.querySelectorAll("md-tabs-content-wrapper > md-tab-content"),elements.tabs=elements.paging.querySelectorAll("md-tab-item"),elements.dummies=elements.canvas.querySelectorAll("md-dummy-tab"),elements}function shouldCenterTabs(){return ctrl.centerTabs&&!ctrl.shouldPaginate}function getNearestSafeIndex(newIndex){if(-1===newIndex)return-1;var i,tab,maxOffset=Math.max(ctrl.tabs.length-newIndex,newIndex);for(i=0;i<=maxOffset;i++){if((tab=ctrl.tabs[newIndex+i])&&!0!==tab.scope.disabled)return tab.getIndex();if((tab=ctrl.tabs[newIndex-i])&&!0!==tab.scope.disabled)return tab.getIndex()}return newIndex}function defineProperty(key,handler,value){Object.defineProperty(ctrl,key,{get:function(){return value},set:function(newValue){var oldValue=value;value=newValue,handler&&handler(newValue,oldValue)}})}function updatePagination(){ctrl.maxTabWidth=getMaxTabWidth(),ctrl.shouldPaginate=function(){var shouldPaginate;if(ctrl.noPagination||!loaded)return!1;var canvasWidth=$element.prop("clientWidth");return angular.forEach(getElements().tabs,function(tab){canvasWidth-=tab.offsetWidth}),shouldPaginate=canvasWidth<0,$mdUtil.msie&&(getElements().paging.style.width=shouldPaginate?"999999px":undefined),shouldPaginate}()}function calcTabsWidth(tabs){var width=0;return angular.forEach(tabs,function(tab){width+=Math.max(tab.offsetWidth,tab.getBoundingClientRect().width)}),Math.ceil(width)}function getMaxTabWidth(){var containerWidth=getElements().canvas.clientWidth;return Math.max(0,Math.min(containerWidth-1,264))}function incrementIndex(inc,focus){var newIndex,key=focus?"focusIndex":"selectedIndex",index=ctrl[key];for(newIndex=index+inc;ctrl.tabs[newIndex]&&ctrl.tabs[newIndex].scope.disabled;newIndex+=inc);newIndex=(index+inc+ctrl.tabs.length)%ctrl.tabs.length,ctrl.tabs[newIndex]&&(ctrl[key]=newIndex)}function redirectFocus(){ctrl.styleTabItemFocus="keyboard"===$mdInteraction.getLastInteractionType();var tabToFocus=getElements().tabs[ctrl.focusIndex];tabToFocus&&tabToFocus.focus()}function adjustOffset(index){var elements=getElements();if(angular.isNumber(index)||(index=ctrl.focusIndex),elements.tabs[index]&&!ctrl.shouldCenterTabs){var tab=elements.tabs[index],left=tab.offsetLeft,right=tab.offsetWidth+left;if(0!==index)if(isRtl()){var tabWidthsBefore=calcTabsWidth(Array.prototype.slice.call(elements.tabs,0,index)),tabWidthsIncluding=calcTabsWidth(Array.prototype.slice.call(elements.tabs,0,index+1));ctrl.offsetLeft=Math.min(ctrl.offsetLeft,fixOffset(tabWidthsBefore)),ctrl.offsetLeft=Math.max(ctrl.offsetLeft,fixOffset(tabWidthsIncluding-elements.canvas.clientWidth))}else ctrl.offsetLeft=Math.max(ctrl.offsetLeft,fixOffset(right-elements.canvas.clientWidth+32)),ctrl.offsetLeft=Math.min(ctrl.offsetLeft,fixOffset(left));else ctrl.offsetLeft=0}}function refreshIndex(){ctrl.selectedIndex=getNearestSafeIndex(ctrl.selectedIndex),ctrl.focusIndex=getNearestSafeIndex(ctrl.focusIndex)}function updateHeightFromContent(){if(!ctrl.dynamicHeight)return $element.css("height","");if(!ctrl.tabs.length)return queue.push(updateHeightFromContent);var elements=getElements(),tabContent=elements.contents[ctrl.selectedIndex],contentHeight=tabContent?tabContent.offsetHeight:0,tabsHeight=elements.wrapper.offsetHeight,newHeight=contentHeight+tabsHeight,currentHeight=$element.prop("clientHeight");if(currentHeight!==newHeight){"bottom"===$element.attr("md-align-tabs")&&(currentHeight-=tabsHeight,newHeight-=tabsHeight,$element.attr("md-border-bottom")!==undefined&&++currentHeight),locked=!0;var fromHeight={height:currentHeight+"px"},toHeight={height:newHeight+"px"};$element.css(fromHeight),$animateCss($element,{from:fromHeight,to:toHeight,easing:"cubic-bezier(0.35, 0, 0.25, 1)",duration:.5}).start().done(function(){$element.css({transition:"none",height:""}),$mdUtil.nextTick(function(){$element.css("transition","")}),locked=!1})}}function updateInkBarStyles(previousTotalWidth,previousWidthOfTabItems){if(!ctrl.noInkBar){var elements=getElements();if(elements.tabs[ctrl.selectedIndex])if(ctrl.tabs.length)if($element.prop("offsetParent")){var index=ctrl.selectedIndex,totalWidth=elements.paging.offsetWidth,tab=elements.tabs[index],left=tab.offsetLeft,right=totalWidth-left-tab.offsetWidth;if(ctrl.shouldCenterTabs){var totalWidthOfTabItems=calcTabsWidth(elements.tabs);totalWidth>totalWidthOfTabItems&&previousTotalWidth!==totalWidth&&previousWidthOfTabItems!==totalWidthOfTabItems&&$timeout(updateInkBarStyles,0,!0,totalWidth,totalWidthOfTabItems)}!function(){var elements=getElements(),newIndex=ctrl.selectedIndex,oldIndex=ctrl.lastSelectedIndex,ink=angular.element(elements.inkBar);if(!angular.isNumber(oldIndex))return;ink.toggleClass("md-left",newIndex<oldIndex).toggleClass("md-right",newIndex>oldIndex)}(),angular.element(elements.inkBar).css({left:left+"px",right:right+"px"})}else(function handleResizeWhenVisible(){handleResizeWhenVisible.watcher||(handleResizeWhenVisible.watcher=$scope.$watch(function(){$mdUtil.nextTick(function(){handleResizeWhenVisible.watcher&&$element.prop("offsetParent")&&(handleResizeWhenVisible.watcher(),handleResizeWhenVisible.watcher=null,handleWindowResize())},!1)}))})();else queue.push(ctrl.updateInkBarStyles);else angular.element(elements.inkBar).css({left:"auto",right:"auto"})}}function fixOffset(value){var elements=getElements();if(!elements.tabs.length||!ctrl.shouldPaginate)return 0;var lastTab=elements.tabs[elements.tabs.length-1],totalWidth=lastTab.offsetLeft+lastTab.offsetWidth;return isRtl()?(value=Math.min(elements.paging.offsetWidth-elements.canvas.clientWidth,value),value=Math.max(0,value)):(value=Math.max(0,value),value=Math.min(totalWidth-elements.canvas.clientWidth,value)),value}function isRtl(){return $mdUtil.isRtl($attrs)}ctrl.$onInit=function(){(function(key,handler){var attr=$attrs.$normalize("md-"+key);handler&&defineProperty(key,handler);$attrs.$observe(attr,function(newValue){ctrl[key]=newValue})})("stretchTabs",handleStretchTabs),defineProperty("focusIndex",handleFocusIndexChange,ctrl.selectedIndex||0),defineProperty("offsetLeft",handleOffsetChange,0),defineProperty("hasContent",handleHasContent,!1),defineProperty("maxTabWidth",handleMaxTabWidth,getMaxTabWidth()),defineProperty("shouldPaginate",handleShouldPaginate,!1),defineBooleanAttribute("noInkBar",handleInkBar),defineBooleanAttribute("dynamicHeight",handleDynamicHeight),defineBooleanAttribute("noPagination"),defineBooleanAttribute("swipeContent"),defineBooleanAttribute("autoselect"),defineBooleanAttribute("noSelectClick"),defineBooleanAttribute("centerTabs",handleCenterTabs),defineBooleanAttribute("enableDisconnect"),ctrl.scope=$scope,ctrl.parent=$scope.$parent,ctrl.tabs=[],ctrl.lastSelectedIndex=null,ctrl.hasFocus=!1,ctrl.styleTabItemFocus=!1,ctrl.shouldCenterTabs=shouldCenterTabs(),ctrl.tabContentPrefix="tab-content-",ctrl.navigationHint="Use the left and right arrow keys to navigate between tabs",ctrl.selectedIndex=ctrl.selectedIndex||0,template=$attrs.$mdTabsTemplate,element=angular.element($element[0].querySelector("md-tab-data")),element.html(template),$compile(element.contents())(ctrl.parent),delete $attrs.$mdTabsTemplate,$scope.$watch("$mdTabsCtrl.selectedIndex",handleSelectedIndexChange),angular.element($window).on("resize",handleWindowResize),$scope.$on("$destroy",cleanup),$mdTheming($element),$mdUtil.nextTick(function(){updateHeightFromContent(),adjustOffset(),updateInkBarStyles(),ctrl.tabs[ctrl.selectedIndex]&&ctrl.tabs[ctrl.selectedIndex].scope.select(),loaded=!0,updatePagination()});var template,element},ctrl.updatePagination=$mdUtil.debounce(updatePagination,100),ctrl.redirectFocus=redirectFocus,ctrl.attachRipple=function(scope,element){var elements=getElements(),options={colorElement:angular.element(elements.inkBar)};$mdTabInkRipple.attach(scope,element,options)},ctrl.insertTab=function(tabData,index){var hasLoaded=loaded,proto={getIndex:function(){return ctrl.tabs.indexOf(tab)},isActive:function(){return this.getIndex()===ctrl.selectedIndex},isLeft:function(){return this.getIndex()<ctrl.selectedIndex},isRight:function(){return this.getIndex()>ctrl.selectedIndex},shouldRender:function(){return ctrl.dynamicHeight||this.isActive()},hasFocus:function(){return ctrl.styleTabItemFocus&&ctrl.hasFocus&&this.getIndex()===ctrl.focusIndex},id:$mdUtil.nextUid(),hasContent:!(!tabData.template||!tabData.template.trim())},tab=angular.extend(proto,tabData);angular.isDefined(index)?ctrl.tabs.splice(index,0,tab):ctrl.tabs.push(tab);return queue.forEach(function(func){$mdUtil.nextTick(func)}),queue=[],function(){var i,hasContent=!1;for(i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].hasContent){hasContent=!0;break}ctrl.hasContent=hasContent}(),$mdUtil.nextTick(function(){updatePagination(),function(tab){if(tab.hasContent){var nodes=$element[0].querySelectorAll('[md-tab-id="'+tab.id+'"]');angular.element(nodes).attr("aria-controls",ctrl.tabContentPrefix+tab.id)}}(tab),hasLoaded&&ctrl.autoselect&&$mdUtil.nextTick(function(){$mdUtil.nextTick(function(){select(ctrl.tabs.indexOf(tab))})})}),tab},ctrl.removeTab=function(tabData){if(destroyed)return;var selectedIndex=ctrl.selectedIndex,tab=ctrl.tabs.splice(tabData.getIndex(),1)[0];refreshIndex(),ctrl.selectedIndex===selectedIndex&&(tab.scope.deselect(),ctrl.tabs[ctrl.selectedIndex]&&ctrl.tabs[ctrl.selectedIndex].scope.select());$mdUtil.nextTick(function(){updatePagination(),ctrl.offsetLeft=fixOffset(ctrl.offsetLeft)})},ctrl.select=select,ctrl.scroll=function(event){if(!ctrl.shouldPaginate)return;event.preventDefault(),event.deltaY?ctrl.offsetLeft=fixOffset(ctrl.offsetLeft+event.deltaY):event.deltaX&&(ctrl.offsetLeft=fixOffset(ctrl.offsetLeft+event.deltaX))},ctrl.nextPage=function(){if(!ctrl.canPageForward())return;var newOffset=MdTabsPaginationService.increasePageOffset(getElements(),ctrl.offsetLeft);ctrl.offsetLeft=fixOffset(newOffset)},ctrl.previousPage=function(){if(!ctrl.canPageBack())return;var newOffset=MdTabsPaginationService.decreasePageOffset(getElements(),ctrl.offsetLeft);ctrl.offsetLeft=fixOffset(newOffset)},ctrl.keydown=function(event){switch(event.keyCode){case $mdConstant.KEY_CODE.LEFT_ARROW:event.preventDefault(),incrementIndex(-1,!0);break;case $mdConstant.KEY_CODE.RIGHT_ARROW:event.preventDefault(),incrementIndex(1,!0);break;case $mdConstant.KEY_CODE.SPACE:case $mdConstant.KEY_CODE.ENTER:event.preventDefault(),locked||select(ctrl.focusIndex);break;case $mdConstant.KEY_CODE.TAB:ctrl.focusIndex!==ctrl.selectedIndex&&(ctrl.focusIndex=ctrl.selectedIndex)}},ctrl.canPageForward=function(){var elements=getElements(),lastTab=elements.tabs[elements.tabs.length-1];if(isRtl())return ctrl.offsetLeft<elements.paging.offsetWidth-elements.canvas.offsetWidth;return lastTab&&lastTab.offsetLeft+lastTab.offsetWidth>elements.canvas.clientWidth+ctrl.offsetLeft},ctrl.canPageBack=function(){return ctrl.offsetLeft>0},ctrl.refreshIndex=refreshIndex,ctrl.incrementIndex=incrementIndex,ctrl.getTabElementIndex=function(tabEl){var tabs=$element[0].getElementsByTagName("md-tab");return Array.prototype.indexOf.call(tabs,tabEl[0])},ctrl.updateInkBarStyles=$mdUtil.debounce(updateInkBarStyles,100),ctrl.updateTabOrder=$mdUtil.debounce(function(){var selectedItem=ctrl.tabs[ctrl.selectedIndex],focusItem=ctrl.tabs[ctrl.focusIndex];ctrl.tabs=ctrl.tabs.sort(function(a,b){return a.index-b.index}),ctrl.selectedIndex=ctrl.tabs.indexOf(selectedItem),ctrl.focusIndex=ctrl.tabs.indexOf(focusItem)},100),ctrl.getFocusedTabId=function(){var focusedTab=ctrl.tabs[ctrl.focusIndex];if(!focusedTab||!focusedTab.id)return null;return"tab-item-"+focusedTab.id},1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}MdTabsController.$inject=["$scope","$element","$window","$mdConstant","$mdTabInkRipple","$mdUtil","$animateCss","$attrs","$compile","$mdTheming","$mdInteraction","$timeout","MdTabsPaginationService"],angular.module("material.components.tabs").controller("MdTabsController",MdTabsController)}(),function(){function MdTabs($$mdSvgRegistry){return{scope:{navigationHint:"@?mdNavigationHint",selectedIndex:"=?mdSelected"},template:function(element,attr){return attr.$mdTabsTemplate=element.html(),'<md-tabs-wrapper> <md-tab-data></md-tab-data> <md-prev-button tabindex="-1" role="button" aria-label="Previous Page" aria-disabled="{{!$mdTabsCtrl.canPageBack()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageBack() }" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.previousPage()"> <md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon> </md-prev-button> <md-next-button tabindex="-1" role="button" aria-label="Next Page" aria-disabled="{{!$mdTabsCtrl.canPageForward()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageForward() }
1" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.nextPage()"> <md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon> </md-next-button> <md-tabs-canvas tabindex="{{ $mdTabsCtrl.hasFocus ? -1 : 0 }}" ng-focus="$mdTabsCtrl.redirectFocus()" ng-class="{ \'md-paginated\': $mdTabsCtrl.shouldPaginate, \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" ng-keydown="$mdTabsCtrl.keydown($event)"> <md-pagination-wrapper ng-class="{ \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" md-tab-scroll="$mdTabsCtrl.scroll($event)" role="tablist" aria-label="{{::$mdTabsCtrl.navigationHint}}"><md-tab-item tabindex="{{ tab.isActive() ? 0 : -1 }}" class="md-tab {{::tab.scope.tabClass}}" ng-repeat="tab in $mdTabsCtrl.tabs" role="tab" id="tab-item-{{::tab.id}}" md-tab-id="{{::tab.id}}" aria-selected="{{tab.isActive()}}" aria-disabled="{{tab.scope.disabled || \'false\'}}" ng-click="$mdTabsCtrl.select(tab.getIndex())" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-class="{ \'md-active\':    tab.isActive(), \'md-focused\':   tab.hasFocus(), \'md-disabled\':  tab.scope.disabled }" ng-disabled="tab.scope.disabled" md-swipe-left="$mdTabsCtrl.nextPage()" md-swipe-right="$mdTabsCtrl.previousPage()" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-tab-item> <md-ink-bar></md-ink-bar> </md-pagination-wrapper> <md-tabs-dummy-wrapper aria-hidden="true" class="md-visually-hidden md-dummy-wrapper"> <md-dummy-tab class="md-tab" tabindex="-1" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-repeat="tab in $mdTabsCtrl.tabs" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-dummy-tab> </md-tabs-dummy-wrapper> </md-tabs-canvas> </md-tabs-wrapper> <md-tabs-content-wrapper ng-show="$mdTabsCtrl.hasContent && $mdTabsCtrl.selectedIndex >= 0" class="_md"> <md-tab-content id="{{:: $mdTabsCtrl.tabContentPrefix + tab.id}}" class="_md" role="tabpanel" aria-labelledby="tab-item-{{::tab.id}}" md-swipe-left="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(1)" md-swipe-right="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(-1)" ng-if="tab.hasContent" ng-repeat="(index, tab) in $mdTabsCtrl.tabs" ng-class="{ \'md-no-transition\': $mdTabsCtrl.lastSelectedIndex == null, \'md-active\':        tab.isActive(), \'md-left\':          tab.isLeft(), \'md-right\':         tab.isRight(), \'md-no-scroll\':     $mdTabsCtrl.dynamicHeight }"> <div md-tabs-template="::tab.template" md-connected-if="tab.isActive()" md-scope="::tab.parent" ng-if="$mdTabsCtrl.enableDisconnect || tab.shouldRender()"></div> </md-tab-content> </md-tabs-content-wrapper>'},controller:"MdTabsController",controllerAs:"$mdTabsCtrl",bindToController:!0}}MdTabs.$inject=["$$mdSvgRegistry"],angular.module("material.components.tabs").directive("mdTabs",MdTabs)}(),function(){function MdTabsDummyWrapper($mdUtil,$window){return{require:"^?mdTabs",link:function(scope,element,attr,ctrl){if(ctrl){var observer,disconnect,mutationCallback=function(){ctrl.updatePagination(),ctrl.updateInkBarStyles()};if("MutationObserver"in $window){(observer=new MutationObserver(mutationCallback)).observe(element[0],{childList:!0,subtree:!0,characterData:!0}),disconnect=observer.disconnect.bind(observer)}else{var debounced=$mdUtil.debounce(mutationCallback,15,null,!1);element.on("DOMSubtreeModified",debounced),disconnect=element.off.bind(element,"DOMSubtreeModified",debounced)}scope.$on("$destroy",function(){disconnect()})}}}}MdTabsDummyWrapper.$inject=["$mdUtil","$window"],angular.module("material.components.tabs").directive("mdTabsDummyWrapper",MdTabsDummyWrapper)}(),function(){function MdTabsTemplate($compile,$mdUtil){return{restrict:"A",link:function(scope,element,attr,ctrl){if(!ctrl)return;var compileScope=ctrl.enableDisconnect?scope.compileScope.$new():scope.compileScope;return element.html(scope.template),$compile(element.contents())(compileScope),$mdUtil.nextTick(function(){scope.$watch("connected",function(value){!1===value?ctrl.enableDisconnect&&$mdUtil.disconnectScope(compileScope):reconnect()}),scope.$on("$destroy",reconnect)});function reconnect(){ctrl.enableDisconnect&&$mdUtil.reconnectScope(compileScope)}},scope:{template:"=mdTabsTemplate",connected:"=?mdConnectedIf",compileScope:"=mdScope"},require:"^?mdTabs"}}MdTabsTemplate.$inject=["$compile","$mdUtil"],angular.module("material.components.tabs").directive("mdTabsTemplate",MdTabsTemplate)}(),function(){function MdToastDirective($mdToast){return{restrict:"E",link:function(scope,element){element.addClass("_md"),scope.$on("$destroy",function(){$mdToast.destroy()})}}}function MdToastProvider($$interimElementProvider){MdToastController.$inject=["$mdToast","$scope","$log"],toastDefaultOptions.$inject=["$animate","$mdToast","$mdUtil","$mdMedia","$document","$q"];var activeToastContent,ACTION_RESOLVE="ok";return $$interimElementProvider("$mdToast").setDefaults({methods:["position","hideDelay","capsule","parent","position","toastClass"],options:toastDefaultOptions}).addPreset("simple",{argOption:"textContent",methods:["textContent","action","actionKey","actionHint","highlightAction","highlightClass","theme","parent","dismissHint"],options:["$mdToast","$mdTheming",function($mdToast,$mdTheming){return{template:'<md-toast md-theme="{{ toast.theme }}" ng-class="{\'md-capsule\': toast.capsule}">  <div class="md-toast-content" aria-live="polite" aria-relevant="all">    <span class="md-toast-text">      {{ toast.content }}    </span>    <span class="md-visually-hidden">{{ toast.dismissHint }}</span>    <span class="md-visually-hidden" ng-if="toast.action && toast.actionKey">      {{ toast.actionHint }}    </span>    <md-button class="md-action" ng-if="toast.action" ng-click="toast.resolve()"                ng-class="highlightClasses">      {{ toast.action }}    </md-button>  </div></md-toast>',controller:MdToastController,theme:$mdTheming.defaultTheme(),controllerAs:"toast",bindToController:!0}}]}).addMethod("updateTextContent",function(newContent){activeToastContent=newContent});function MdToastController($mdToast,$scope,$log){this.$onInit=function(){var self=this;self.highlightAction&&($scope.highlightClasses=["md-highlight",self.highlightClass]),self.action&&!self.actionKey&&$log.warn("Toasts with actions should define an actionKey for accessibility.","Details: https://material.angularjs.org/latest/api/service/$mdToast#mdtoast-simple"),self.actionKey&&!self.actionHint&&(self.actionHint='Press Control-"'+self.actionKey+'" to '),self.dismissHint||(self.dismissHint="Press Escape to dismiss."),$scope.$watch(function(){return activeToastContent},function(){self.content=activeToastContent}),this.resolve=function(){$mdToast.hide(ACTION_RESOLVE)}}}function toastDefaultOptions($animate,$mdToast,$mdUtil,$mdMedia,$document,$q){var SWIPE_EVENTS="$md.swipeleft $md.swiperight $md.swipeup $md.swipedown";return{onShow:function(scope,element,options){activeToastContent=options.textContent;var isSmScreen=!$mdMedia("gt-sm");element=$mdUtil.extractElementByName(element,"md-toast",!0),options.element=element,options.onSwipe=function(ev){var swipe=ev.type.replace("$md.",""),direction=swipe.replace("swipe","");"down"===direction&&-1!==options.position.indexOf("top")&&!isSmScreen||"up"===direction&&(-1!==options.position.indexOf("bottom")||isSmScreen)||("left"!==direction&&"right"!==direction||!isSmScreen)&&(element.addClass("md-"+swipe),$mdUtil.nextTick($mdToast.cancel))},options.openClass=(position=options.position,$mdMedia("gt-xs")?"md-toast-open-"+(position.indexOf("top")>-1?"top":"bottom"):"md-toast-open-bottom"),element.addClass(options.toastClass),options.parent.addClass(options.openClass),$mdUtil.hasComputedStyle(options.parent,"position","static")&&options.parent.css("position","relative");var position;actionKey=scope.toast&&scope.toast.actionKey?scope.toast.actionKey:undefined,$document.on("key
1down",function(event){"Escape"===event.key&&$mdToast.hide(!1),actionKey&&event.key===actionKey&&event.ctrlKey&&$mdToast.hide(ACTION_RESOLVE)}),element.on(SWIPE_EVENTS,options.onSwipe);var actionKey;var verticalPositionDefined=!1,positionClasses=options.position.split(" ").map(function(position){if(position){var className="md-"+position;return"md-top"!==className&&"md-bottom"!==className||(verticalPositionDefined=!0),className}return"md-bottom"});verticalPositionDefined||positionClasses.push("md-bottom");element.addClass(isSmScreen?"md-bottom":positionClasses.join(" ")),options.parent&&options.parent.addClass("md-toast-animating");return $animate.enter(element,options.parent).then(function(){options.parent&&options.parent.removeClass("md-toast-animating")})},onRemove:function(scope,element,options){scope.toast&&scope.toast.actionKey&&$document.off("keydown");element.off(SWIPE_EVENTS,options.onSwipe),options.parent&&options.parent.addClass("md-toast-animating");options.openClass&&options.parent.removeClass(options.openClass);return(!0===options.$destroy?$q.when(element.remove()):$animate.leave(element)).then(function(){options.parent&&options.parent.removeClass("md-toast-animating"),$mdUtil.hasComputedStyle(options.parent,"position","static")&&options.parent.css("position","")})},toastClass:"",position:"bottom left",themable:!0,hideDelay:3e3,autoWrap:!0,transformTemplate:function(template,options){if(options.autoWrap&&template&&!/md-toast-content/g.test(template)){var templateRoot=document.createElement("md-template");templateRoot.innerHTML=template;for(var i=0;i<templateRoot.children.length;i++)if("MD-TOAST"===templateRoot.children[i].nodeName){var wrapper=angular.element('<div class="md-toast-content">');wrapper.append(angular.element(templateRoot.children[i].childNodes)),templateRoot.children[i].appendChild(wrapper[0])}return templateRoot.innerHTML}return template||""}}}}MdToastDirective.$inject=["$mdToast"],MdToastProvider.$inject=["$$interimElementProvider"],angular.module("material.components.toast",["material.core","material.components.button"]).directive("mdToast",MdToastDirective).provider("$mdToast",MdToastProvider)}(),function(){function mdToolbarDirective($$rAF,$mdConstant,$mdUtil,$mdTheming,$animate,$timeout){var translateY=angular.bind(null,$mdUtil.supplant,"translate3d(0,{0}px,0)");return{template:"",restrict:"E",link:function(scope,element,attr){element.addClass("_md"),$mdTheming(element),$mdUtil.nextTick(function(){element.addClass("_md-toolbar-transitions")},!1),angular.isDefined(attr.mdScrollShrink)&&function(){var toolbarHeight,contentElement,disableScrollShrink=angular.noop,y=0,prevScrollTop=0,shrinkSpeedFactor=attr.mdShrinkSpeedFactor||.5,debouncedContentScroll=$$rAF.throttle(onContentScroll),debouncedUpdateHeight=$mdUtil.debounce(updateToolbarHeight,5e3);scope.$on("$mdContentLoaded",onMdContentLoad),attr.$observe("mdScrollShrink",function(shrinkWithScroll){var closestContent=$mdUtil.getSiblings(element,"md-content");!contentElement&&closestContent.length&&onMdContentLoad(null,closestContent[0]),!1===(shrinkWithScroll=scope.$eval(shrinkWithScroll))?disableScrollShrink():disableScrollShrink=enableScrollShrink()}),attr.ngShow&&scope.$watch(attr.ngShow,updateToolbarHeight);attr.ngHide&&scope.$watch(attr.ngHide,updateToolbarHeight);function onMdContentLoad($event,newContentEl){newContentEl&&element.parent()[0]===newContentEl.parent()[0]&&(contentElement&&contentElement.off("scroll",debouncedContentScroll),contentElement=newContentEl,disableScrollShrink=enableScrollShrink())}function onContentScroll(e){var scrollTop=e?e.target.scrollTop:prevScrollTop;debouncedUpdateHeight(),y=Math.min(toolbarHeight/shrinkSpeedFactor,Math.max(0,y+scrollTop-prevScrollTop)),element.css($mdConstant.CSS.TRANSFORM,translateY([-y*shrinkSpeedFactor])),contentElement.css($mdConstant.CSS.TRANSFORM,translateY([(toolbarHeight-y)*shrinkSpeedFactor])),prevScrollTop=scrollTop,$mdUtil.nextTick(function(){var hasWhiteFrame=element.hasClass("md-whiteframe-z1");hasWhiteFrame&&!y?$animate.removeClass(element,"md-whiteframe-z1"):!hasWhiteFrame&&y&&$animate.addClass(element,"md-whiteframe-z1")})}function enableScrollShrink(){return contentElement?(contentElement.on("scroll",debouncedContentScroll),contentElement.attr("scroll-shrink","true"),$timeout(updateToolbarHeight),function(){contentElement.off("scroll",debouncedContentScroll),contentElement.attr("scroll-shrink","false"),updateToolbarHeight()}):angular.noop}function updateToolbarHeight(){var margin=-(toolbarHeight=element.prop("offsetHeight"))*shrinkSpeedFactor+"px";contentElement.css({"margin-top":margin,"margin-bottom":margin}),onContentScroll()}scope.$on("$destroy",disableScrollShrink)}()}}}mdToolbarDirective.$inject=["$$rAF","$mdConstant","$mdUtil","$mdTheming","$animate","$timeout"],angular.module("material.components.toolbar",["material.core","material.components.c
1ontent"]).directive("mdToolbar",mdToolbarDirective)}(),function(){function MdTooltipDirective($timeout,$window,$$rAF,$document,$interpolate,$mdUtil,$mdPanel,$$mdTooltipRegistry){var ENTER_EVENTS="focus touchstart mouseenter",LEAVE_EVENTS="blur touchcancel mouseleave",TOOLTIP_DEFAULT_Z_INDEX=100,TOOLTIP_DEFAULT_SHOW_DELAY=0,TOOLTIP_DEFAULT_DIRECTION="bottom",TOOLTIP_DIRECTIONS={top:{x:$mdPanel.xPosition.CENTER,y:$mdPanel.yPosition.ABOVE},right:{x:$mdPanel.xPosition.OFFSET_END,y:$mdPanel.yPosition.CENTER},bottom:{x:$mdPanel.xPosition.CENTER,y:$mdPanel.yPosition.BELOW},left:{x:$mdPanel.xPosition.OFFSET_START,y:$mdPanel.yPosition.CENTER}};return{restrict:"E",priority:210,scope:{mdZIndex:"=?mdZIndex",mdDelay:"=?mdDelay",mdVisible:"=?mdVisible",mdAutohide:"=?mdAutohide",mdDirection:"@?mdDirection"},link:function(scope,element,attr){var origin,position,panelPosition,panelRef,showTimeout,tooltipId="md-tooltip-"+$mdUtil.nextUid(),parent=$mdUtil.getParentWithPointerEvents(element),debouncedOnResize=$$rAF.throttle(updatePosition),mouseActive=!1,elementFocusedOnWindowBlur=null;function setDefaults(){scope.mdZIndex=scope.mdZIndex||TOOLTIP_DEFAULT_Z_INDEX,scope.mdDelay=scope.mdDelay||TOOLTIP_DEFAULT_SHOW_DELAY,TOOLTIP_DIRECTIONS[scope.mdDirection]||(scope.mdDirection=TOOLTIP_DEFAULT_DIRECTION)}function addAriaLabel(labelText){var interpolatedText=labelText||$interpolate(element.text().trim())(scope.$parent);(!parent.attr("aria-label")&&!parent.attr("aria-labelledby")||parent.attr("md-labeled-by-tooltip"))&&(parent.attr("aria-label",interpolatedText),parent.attr("md-labeled-by-tooltip")||parent.attr("md-labeled-by-tooltip",tooltipId))}function updatePosition(){setDefaults(),panelRef&&panelRef.panelEl&&panelRef.panelEl.removeClass(origin),origin="md-origin-"+scope.mdDirection,position=TOOLTIP_DIRECTIONS[scope.mdDirection],panelPosition=$mdPanel.newPanelPosition().relativeTo(parent).addPanelPosition(position.x,position.y),panelRef&&panelRef.panelEl&&(panelRef.panelEl.addClass(origin),panelRef.updatePosition(panelPosition))}function setVisible(value){setVisible.queued&&setVisible.value===!!value||!setVisible.queued&&scope.mdVisible===!!value||(setVisible.value=!!value,setVisible.queued||(value?(setVisible.queued=!0,showTimeout=$timeout(function(){scope.mdVisible=setVisible.value,setVisible.queued=!1,showTimeout=null,scope.visibleWatcher||onVisibleChanged(scope.mdVisible)},scope.mdDelay)):$mdUtil.nextTick(function(){scope.mdVisible=!1,scope.visibleWatcher||onVisibleChanged(!1)})))}function onVisibleChanged(isVisible){isVisible?function(){if(!element[0].textContent.trim())throw new Error("Text for the tooltip has not been provided. Please include text within the mdTooltip element.");if(!panelRef){var attachTo=angular.element(document.body),panelAnimation=$mdPanel.newPanelAnimation().openFrom(parent).closeTo(parent).withAnimation({open:"md-show",close:"md-hide"}),panelConfig={id:tooltipId,attachTo:attachTo,contentElement:element,propagateContainerEvents:!0,panelClass:"md-tooltip",animation:panelAnimation,position:panelPosition,zIndex:scope.mdZIndex,focusOnOpen:!1,onDomAdded:function(){panelRef.panelEl.addClass(origin)}};panelRef=$mdPanel.create(panelConfig)}panelRef.open().then(function(){panelRef.panelEl.attr("role","tooltip")})}():panelRef&&panelRef.close()}setDefaults(),addAriaLabel(),element.detach(),updatePosition(),function(){if(parent[0]&&"MutationObserver"in $window){var attributeObserver=new MutationObserver(function(mutations){(function(mutations){return mutations.some(function(mutation){return"disabled"===mutation.attributeName&&parent[0].disabled}),!1})(mutations)&&$mdUtil.nextTick(function(){setVisible(!1)})});attributeObserver.observe(parent[0],{attributes:!0})}function windowScrollEventHandler(){setVisible(!1)}function windowBlurEventHandler(){elementFocusedOnWindowBlur=document.activeElement===parent[0]}function enterEventHandler($event){"focus"===$event.type&&elementFocusedOnWindowBlur?elementFocusedOnWindowBlur=!1:scope.mdVisible||(parent.on(LEAVE_EVENTS,leaveEventHandler),setVisible(!0),"touchstart"===$event.type&&parent.one("touchend",function(){$mdUtil.nextTick(function(){$document.one("touchend",leaveEventHandler)},!1)}))}function leaveEventHandler(){((scope.hasOwnProperty("mdAutohide")?scope.mdAutohide:attr.hasOwnProperty("mdAutohide"))||mouseActive||$document[0].activeElement!==parent[0])&&(showTimeout&&($timeout.cancel(showTimeout),setVisible.queued=!1,showTimeout=null),parent.off(LEAVE_EVENTS,leaveEventHandler),parent.triggerHandler("blur"),setVisible(!1)),mouseActive=!1}function mousedownEventHandler(){mouseActive=!0}elementFocusedOnWindowBlur=!1,$$mdTooltipRegistry.register("scroll",windowScrollEventHandler,!0),$$mdTooltipRegistry.register("blur",windowBlurEventHandler),$$mdTooltipRegistry.register("resize",debouncedOnResize),scope.$on("$destroy",function(){$$mdTooltipRegistry.deregister("scroll",windowScrollEventHandler,!0),$$mdTooltipRegistry.deregister("blur",windowBlurEventHandler),$$mdTooltipRegistry.deregister("resize",debouncedOnResize),parent.off(ENTER_EVENTS,enterEventHandler).off(LEAVE_EVENTS,leaveEventHandler).off("mousedown",mousedownEventHandler),leaveEventHandler(),attributeObserver&&attributeObserver.disconnect()}),parent.on("mousedown",mousedownEventHandler),parent.on(ENTER_EVENTS,enterEventHandler)}(),function(){if(element[0]&&"MutationObserver"in $window){var attributeObserver=new MutationObserver(function(mutations){mutations.forEach(function(mutation){"md-visible"!==mutation.attributeName||scope.visibleWatcher||(scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged))})});attributeObserver.observe(element[0],{attributes:!0}),attr.hasOwnProperty("mdVisible")&&(scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged))}else scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged);scope.$watch("mdDirection",updatePosition),element.one("$destroy",onElementDestroy),parent.one("$destroy",onElementDestroy),scope.$on("$destroy",function(){setVisible(!1),panelRef&&panelRef.destroy(),attributeObserver&&attributeObserver.disconnect(),element.remove()}),element.text().indexOf($interpolate.startSymbol())>-1&&scope.$watch(function(){return element.text().trim()},addAriaLabel);function onElementDestroy(){scope.$destroy()}}()}}}MdTooltipDirective.$inject=["$timeout","$window","$$rAF","$document","$interpolate","$mdUtil","$mdPanel","$$mdTooltipRegistry"],angular.module("material.components.tooltip",["material.core","material.components.panel"]).directive("mdTooltip",MdTooltipDirective).service("$$mdTooltipRegistry",function(){var listeners={},ngWindow=angular.element(window);return{register:function(type,handler,useCapture){var handlers=listeners[type]=listeners[type]||[];handlers.length||(useCapture?window.addEventListener(type,globalEventHandler,!0):ngWindow.on(type,globalEventHandler));-1===handlers.indexOf(handler)&&handlers.push(handler)},deregister:function(type,handler,useCapture){var handlers=listeners[type],index=handlers?handlers.indexOf(handler):-1;index>-1&&(handlers.splice(index,1),0===handlers.length&&(useCapture?window.removeEventListener(type,globalEventHandler,!0):ngWindow.off(type,globalEventHandler)))}};function globalEventHandler(event){listeners[event.type]&&listeners[event.type].forEach(function(currentHandler){currentHandler.call(this,event)},this)}})}(),function(){function MdTruncateController($element){$element.addClass("md-truncate")}MdTruncateController.$inject=["$element"],angular.module("material.components.truncate",["material.core"]).directive("mdTruncate",function(){return{restrict:"AE",controller:MdTruncateController}})}(),function(){function virtualRepeatContainerTemplate($element){return'<div class="md-virtual-repeat-scroller" role="presentation"><div class="md-virtual-repeat-sizer" role="presentation"></div><div class="md-virtual-repeat-offsetter" role="presentation">'+$element[0].innerHTML+"</div></div>"}VirtualRepeatContainerController.$inject=["$$rAF","$mdUtil","$mdConstant","$parse","$rootScope","$
1window","$scope","$element","$attrs"],VirtualRepeatController.$inject=["$scope","$element","$attrs","$browser","$document","$rootScope","$$rAF","$mdUtil"],VirtualRepeatDirective.$inject=["$parse"],angular.module("material.components.virtualRepeat",["material.core","material.components.showHide"]).directive("mdVirtualRepeatContainer",function(){return{controller:VirtualRepeatContainerController,template:virtualRepeatContainerTemplate,compile:function($element,$attrs){$element.addClass("md-virtual-repeat-container").addClass($attrs.hasOwnProperty("mdOrientHorizontal")?"md-orient-horizontal":"md-orient-vertical")}}}).directive("mdVirtualRepeat",VirtualRepeatDirective).directive("mdForceHeight",ForceHeightDirective);function VirtualRepeatContainerController($$rAF,$mdUtil,$mdConstant,$parse,$rootScope,$window,$scope,$element,$attrs){this.$rootScope=$rootScope,this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.size=0,this.scrollSize=0,this.scrollOffset=0,this.horizontal=this.$attrs.hasOwnProperty("mdOrientHorizontal"),this.repeater=null,this.autoShrink=this.$attrs.hasOwnProperty("mdAutoShrink"),this.autoShrinkMin=parseInt(this.$attrs.mdAutoShrinkMin,10)||0,this.originalSize=null,this.offsetSize=parseInt(this.$attrs.mdOffsetSize,10)||0,this.oldElementSize=null,this.maxElementPixels=$mdConstant.ELEMENT_MAX_PIXELS,this.ltr=!$mdUtil.isRtl(this.$attrs),this.$attrs.mdTopIndex?(this.bindTopIndex=$parse(this.$attrs.mdTopIndex),this.topIndex=this.bindTopIndex(this.$scope),angular.isDefined(this.topIndex)||(this.topIndex=0,this.bindTopIndex.assign(this.$scope,0)),this.$scope.$watch(this.bindTopIndex,angular.bind(this,function(newIndex){newIndex!==this.topIndex&&this.scrollToIndex(newIndex)}))):this.topIndex=0,this.scroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.sizer=this.scroller.querySelector(".md-virtual-repeat-sizer"),this.offsetter=this.scroller.querySelector(".md-virtual-repeat-offsetter");var boundUpdateSize=angular.bind(this,this.updateSize);$$rAF(angular.bind(this,function(){boundUpdateSize();var debouncedUpdateSize=$mdUtil.debounce(boundUpdateSize,10,null,!1),jWindow=angular.element($window);this.size||debouncedUpdateSize(),jWindow.on("resize",debouncedUpdateSize),$scope.$on("$destroy",function(){jWindow.off("resize",debouncedUpdateSize)}),$scope.$emit("$md-resize-enable"),$scope.$on("$md-resize",boundUpdateSize)}))}function VirtualRepeatDirective($parse){return{controller:VirtualRepeatController,priority:1e3,require:["mdVirtualRepeat","^^mdVirtualRepeatContainer"],restrict:"A",terminal:!0,transclude:"element",compile:function($element,$attrs){var match=$attrs.mdVirtualRepeat.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)\s*$/),repeatName=match[1],repeatListExpression=$parse(match[2]),extraName=$attrs.mdExtraName&&$parse($attrs.mdExtraName);return function($scope,$element,$attrs,ctrl,$transclude){ctrl[0].link_(ctrl[1],$transclude,repeatName,repeatListExpression,extraName)}}}}function VirtualRepeatController($scope,$element,$attrs,$browser,$document,$rootScope,$$rAF,$mdUtil){this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.$browser=$browser,this.$document=$document,this.$mdUtil=$mdUtil,this.$rootScope=$rootScope,this.$$rAF=$$rAF,this.onDemand=$mdUtil.parseAttributeBoolean($attrs.mdOnDemand),this.browserCheckUrlChange=$browser.$$checkUrlChange,this.newStartIndex=0,this.newEndIndex=0,this.newVisibleEnd=0,this.startIndex=0,this.endIndex=0,this.itemSize=$scope.$eval($attrs.mdItemSize)||null,this.isFirstRender=!0,this.isVirtualRepeatUpdating_=!1,this.itemsLength=0,this.unwatchItemSize_=angular.noop,this.blocks={},this.pooledBlocks=[],$scope.$on("$destroy",angular.bind(this,this.cleanupBlocks_))}function VirtualRepeatModelArrayLike(model){if(!angular.isFunction(model.getItemAtIndex)||!angular.isFunction(model.getLength))throw Error("When md-on-demand is enabled, the Object passed to md-virtual-repeat must implement functions getItemAtIndex() and getLength().");this.model=model}function ForceHeightDirective($mdUtil){return{restrict:"A",link:function(scope,element,attrs){var height=scope.$eval(attrs.mdForceHeight)||null;height&&element&&(element[0].style.height=height)}}}VirtualRepeatContainerController.prototype.register=function(repeaterCtrl){this.repeater=repeaterCtrl,angular.element(this.scroller).on("scroll wheel touchmove touchend",angular.bind(this,this.handleScroll_))},VirtualRepeatContainerController.prototype.isHorizontal=function(){return this.horizontal},VirtualRepeatContainerController.prototype.getSize=function(){return this.size},VirtualRepeatContainerController.prototype.setSize_=function(size){var dimension=this.getDimensionName_();this.size=size,this.$element[0].style[dimension]=size+"px"},VirtualRepeatContainerController.prototype.unsetSize_=function(){this.$element[0].style[this.getDimensionName_()]=this.oldElementSize,this.oldElementSize=null},VirtualRepeatContainerController.prototype.updateSize=function(){if(!this.originalSize){var size=this.isHorizontal()?this.$element[0].clientWidth:this.$element[0].clientHeight;size&&(this.size=size),this.handleScroll_(),this.repeater&&this.repeater.containerUpdated()}},VirtualRepeatContainerController.prototype.getScrollSize=function(){return this.scrollSize}
vendor: 6,534 bytes, line 1
1,VirtualRepeatContainerController.prototype.getDimensionName_=function(){return this.isHorizontal()?"width":"height"},VirtualRepeatContainerController.prototype.sizeScroller_=function(size){var dimension=this.getDimensionName_(),crossDimension=this.isHorizontal()?"height":"width";if(this.sizer.innerHTML="",size<this.maxElementPixels)this.sizer.style[dimension]=size+"px";else{this.sizer.style[dimension]="auto",this.sizer.style[crossDimension]="auto";var numChildren=Math.floor(size/this.maxElementPixels),sizerChild=document.createElement("div");sizerChild.style[dimension]=this.maxElementPixels+"px",sizerChild.style[crossDimension]="1px";for(var i=0;i<numChildren;i++)this.sizer.appendChild(sizerChild.cloneNode(!1));sizerChild.style[dimension]=size-numChildren*this.maxElementPixels+"px",this.sizer.appendChild(sizerChild)}},VirtualRepeatContainerController.prototype.autoShrink_=function(size){var shrinkSize=Math.max(size,this.autoShrinkMin*this.repeater.getItemSize());if(this.autoShrink&&shrinkSize!==this.size){null===this.oldElementSize&&(this.oldElementSize=this.$element[0].style[this.getDimensionName_()]);var currentSize=this.originalSize||this.size;if(!currentSize||shrinkSize<currentSize)this.originalSize||(this.originalSize=this.size),this.setSize_(shrinkSize);else if(null!==this.originalSize){this.unsetSize_();var _originalSize=this.originalSize;this.originalSize=null,_originalSize||this.updateSize(),this.setSize_(_originalSize||this.size)}this.repeater.containerUpdated()}},VirtualRepeatContainerController.prototype.setScrollSize=function(itemsSize){var size=itemsSize+this.offsetSize;this.scrollSize!==size&&(this.sizeScroller_(size),this.autoShrink_(size),this.scrollSize=size)},VirtualRepeatContainerController.prototype.getScrollOffset=function(){return this.scrollOffset},VirtualRepeatContainerController.prototype.scrollTo=function(position){this.scroller[this.isHorizontal()?"scrollLeft":"scrollTop"]=position,this.handleScroll_()},VirtualRepeatContainerController.prototype.scrollToIndex=function(index){var itemSize=this.repeater.getItemSize(),itemsLength=this.repeater.itemsLength;index>itemsLength&&(index=itemsLength-1),this.scrollTo(itemSize*index)},VirtualRepeatContainerController.prototype.resetScroll=function(){this.scrollTo(0)},VirtualRepeatContainerController.prototype.handleScroll_=function(){this.ltr||this.maxSize||(this.scroller.scrollLeft=this.scrollSize,this.maxSize=this.scroller.scrollLeft);var offset=this.isHorizontal()?this.ltr?this.scroller.scrollLeft:this.maxSize-this.scroller.scrollLeft:this.scroller.scrollTop;if(!(this.scrollSize<this.size)&&(offset>this.scrollSize-this.size&&(offset=this.scrollSize-this.size),offset!==this.scrollOffset)){var itemSize=this.repeater.getItemSize();if(itemSize){var numItems=Math.max(0,Math.floor(offset/itemSize)-3),transform=(this.isHorizontal()?"translateX(":"translateY(")+(!this.isHorizontal()||this.ltr?numItems*itemSize:-numItems*itemSize)+"px)";if(this.scrollOffset=offset,this.offsetter.style.webkitTransform=transform,this.offsetter.style.transform=transform,this.bindTopIndex){var topIndex=Math.floor(offset/itemSize);topIndex!==this.topIndex&&topIndex<this.repeater.getItemCount()&&(this.topIndex=topIndex,this.bindTopIndex.assign(this.$scope,topIndex),this.$rootScope.$$phase||this.$scope.$digest())}this.repeater.containerUpdated()}}},VirtualRepeatController.Block,VirtualRepeatController.prototype.link_=function(container,transclude,repeatName,repeatListExpression,extraName){this.container=container,this.transclude=transclude,this.repeatName=repeatName,this.rawRepeatListExpression=repeatListExpression,this.extraName=extraName,this.sized=!1,this.repeatListExpression=angular.bind(this,this.repeatListExpression_),this.container.register(this)},VirtualRepeatController.prototype.cleanupBlocks_=function(){angular.forEach(this.pooledBlocks,function(block){block.element.remove()})},VirtualRepeatController.prototype.readItemSize_=function(){if(!this.itemSize){this.items=this.repeatListExpression(this.$scope),this.parentNode=this.$element[0].parentNode;var block=this.getBlock_(0);block.element[0].parentNode||this.parentNode.appendChild(block.element[0]),this.itemSize=block.element[0][this.container.isHorizontal()?"offsetWidth":"offsetHeight"]||null,this.blocks[0]=block,this.poolBlock_(0),this.itemSize&&this.containerUpdated()}},VirtualRepeatController.prototype.repeatListExpression_=function(scope){var repeatList=this.rawRepeatListExpression(scope);if(this.onDemand&&repeatList){var virtualList=new VirtualRepeatModelArrayLike(repeatList);return virtualList.$$includeIndexes(this.newStartIndex,this.newVisibleEnd),virtualList}return repeatList},VirtualRepeatController.prototype.containerUpdated=function(){if(!this.itemSize)return this.unwatchItemSize_&&this.unwatchItemSize_!==angular.noop&&this.unwatchItemSize_(),this.unwatchItemSize_=this.$scope.$watchCollection(this.repeatListExpression,angular.bind(this,function(items){items&&items.length&&this.readItemSize_()})),void(this.$rootScope.$$phase||this.$scope.$digest());this.sized||(this.items=this.repeatListExpression(this.$scope)),this.sized||(this.unwatchItemSize_(),this.sized=!0,this.$scope.$watchCollection(this.repeatListExpression,angular.bind(this,function(items,oldItems){this.isVirtualRepeatUpdating_||this.virtualRepeatUpdate_(items,oldItems)}))),this.updateIndexes_(),(this.newStartIndex!==this.startIndex||this.newEndIndex!==this.endIndex||this.container.getScrollOffset()>this.container.getScrollSize())&&(this.items instanceof VirtualRepeatModelArrayLike&&this.items.$$includeIndexes(this.newStartIndex,this.newEndIndex),this.virtualRepeatUpdate_(this.items,this.items))},VirtualRepeatController.prototype.getItemSize=function(){return this.itemSize},VirtualRepeatController.prototype.getItemCount=function(){return this.itemsLength},VirtualRepeatController.prototype.virtualRepeatUpdate_=function(items,oldItems){this.isVirtualRepeatUpdating_=!0;var itemsLength=items&&items.length||0,lengthChanged=!1;if(this.items&&itemsLength<this.items.length&&0!==this.container.getScrollOffset()){this.items=items;var previousScrollOffset=this.container.getScrollOffset();this.container.resetScroll(),this.container.scrollTo(previousScrollOffset)}itemsLength!==this.itemsLength&&(lengthChanged=!0,this.itemsLength=itemsLength),this.items=items,(items!==oldItems||lengthChanged)&&this.updateIndexes_(),this.parentNode=this.$element[0].parentNode,lengthChanged&&this.container.setScrollSize(itemsLength*this.itemSize),Object.keys(this.blocks).forEac
1h(function(blockIndex){var index=parseInt(blockIndex,10);(index<this.newStartIndex||index>=this.newEndIndex)&&this.poolBlock_(index)},this),this.$browser.$$checkUrlChange=angular.noop;var i,block,newStartBlocks=[],newEndBlocks=[];for(i=this.newStartIndex;i<this.newEndIndex&&null==this.blocks[i];i++)block=this.getBlock_(i),this.updateBlock_(block,i),newStartBlocks.push(block);for(;null!=this.blocks[i];i++)this.updateBlock_(this.blocks[i],i);for(var maxIndex=i-1;i<this.newEndIndex;i++)block=this.getBlock_(i),this.updateBlock_(block,i),newEndBlocks.push(block);if(newStartBlocks.length&&this.parentNode.insertBefore(this.domFragmentFromBlocks_(newStartBlocks),this.$element[0].nextSibling),newEndBlocks.length&&this.parentNode.insertBefore(this.domFragmentFromBlocks_(newEndBlocks),this.blocks[maxIndex]&&this.blocks[maxIndex].element[0].nextSibling),this.$browser.$$checkUrlChange=this.browserCheckUrlChange,this.startIndex=this.newStartIndex,this.endIndex=this.newEndIndex,this.isFirstRender){this.isFirstRender=!1;var firstRenderStartIndex=this.$attrs.mdStartIndex?this.$scope.$eval(this.$attrs.mdStartIndex):this.container.topIndex;this.$mdUtil.nextTick(function(){this.container.scrollToIndex(firstRenderStartIndex)}.bind(this))}this.isVirtualRepeatUpdating_=!1},VirtualRepeatController.prototype.getBlock_=function(index){return this.pooledBlocks.length?this.pooledBlocks.pop():(this.transclude(angular.bind(this,function(clone,scope){block={element:clone,new:!0,scope:scope},this.updateScope_(scope,index),this.parentNode.appendChild(clone[0])})),block);var block},VirtualRepeatController.prototype.updateBlock_=function(block,index){this.blocks[index]=block,(block.new||block.scope.$index!==index||block.scope[this.repeatName]!==this.items[index])&&(block.new=!1,this.updateScope_(block.scope,index),this.$rootScope.$$phase||block.scope.$digest())},VirtualRepeatController.prototype.updateScope_=function(scope,index){scope.$index=index,scope[this.repeatName]=this.items&&this.items[index],this.extraName&&(scope[this.extraName(this.$scope)]=this.items[index])},VirtualRepeatController.prototype.poolBlock_=function(index){this.pooledBlocks.push(this.blocks[index]),this.parentNode.removeChild(this.blocks[index].element[0]),delete this.blocks[index]},VirtualRepeatController.prototype.domFragmentFromBlocks_=function(blocks){var fragment=this.$document[0].createDocumentFragment();return blocks.forEach(function(block){fragment.appendChild(block.element[0])}),fragment},VirtualRepeatController.prototype.updateIndexes_=function(){var itemsLength=this.items?this.items.length:0,containerLength=Math.ceil(this.container.getSize()/this.itemSize);this.newStartIndex=Math.max(0,Math.min(itemsLength-containerLength,Math.floor(this.container.getScrollOffset()/this.itemSize))),this.newVisibleEnd=this.newStartIndex+containerLength+3,this.newEndIndex=Math.min(itemsLength,this.newVisibleEnd),this.newStartIndex=Math.max(0,this.newStartIndex-3)},VirtualRepeatModelArrayLike.prototype.$$includeIndexes=function(start,end){for(var i=start;i<end;i++)this.hasOwnProperty(i)||(this[i]=this.model.getItemAtIndex(i));this.length=this.model.getLength()},ForceHeightDirective.$inject=["$mdUtil"]}(),function(){function MdWhiteframeDirective($log){var DISABLE_DP=-1,MIN_DP=1,MAX_DP=24,DEFAULT_DP=4;return{link:function(scope,element,attr){var oldClass="";attr.$observe("mdWhiteframe",function(elevation){(elevation=parseInt(elevation,10)||DEFAULT_DP)!=DISABLE_DP&&(elevation>MAX_DP||elevation<MIN_DP)&&($log.warn("md-whiteframe attribute value is invalid. It should be a number between "+MIN_DP+" and "+MAX_DP,element[0]),elevation=DEFAULT_DP);var newClass=elevation==DISABLE_DP?"":"md-whiteframe-"+elevation+"dp";attr.$updateClass(newClass,oldClass),oldClass=newClass})}}}MdWhiteframeDirective.$inject=["$log"],angular.module("material.components.whiteframe",["material.core"]).directive("mdWhiteframe",MdWhiteframeDirective)}(),angular
vendor: 67,701 bytes, line 1
1.module("material.core").constant("$MD_THEME_CSS",'md-autocomplete.md-THEME_NAME-theme{background:"{{background-hue-1}}"}md-autocomplete.md-THEME_NAME-theme[disabled]:not([md-floating-label]){background:"{{background-hue-2}}"}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:"{{background-600}}"}md-autocomplete.md-THEME_NAME-theme button:after{background:"{{background-600-0.3}}"}md-autocomplete.md-THEME_NAME-theme input{color:"{{foreground-1}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused .md-input{border-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused md-icon{color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-container{background-color:"{{accent-100}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-bar{background-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused .md-input{border-color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused md-icon{color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-container{background-color:"{{warn-100}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-bar{background-color:"{{warn-color}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme,.md-autocomplete-suggestions-container.md-THEME_NAME-theme{background:"{{background-hue-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion{color:"{{foreground-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover{background:"{{background-500-0.18}}"}md-backdrop{background-color:"{{background-900-0.0}}"}md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-bottom-sheet.md-THEME_NAME-theme{background-color:"{{background-color}}";border-top-color:"{{background-hue-3}}"}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:"{{foreground-1}}"}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:"{{background-color}}";color:"{{foreground-1}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:"{{background-500-0.2}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised{background-color:"{{primary-color}}";color:"{{primary-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:"{{primary-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:"{{primary-600}}"}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-raised{background-color:"{{background-50}}";color:"{{background-900}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon{color:"{{background-900}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:"{{background-50}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:"{{background-200}}"}.md-button.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised{background-color:"{{warn-color}}";color:"{{warn-contrast}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon{color:"{{warn-contrast}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover{background-color:"{{warn-600}}"}.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab,.md-button.md-THEME_NAME-theme.md-accent.md-raised{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent[disabled],.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled],.md-button.md-THEME_NAME-theme.md-warn[disabled],.md-button.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}";cursor:default}.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon,.md-button.md-THEME_NAME-theme[disabled] md-icon{color:"{{foreground-3}}"}.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled]{background-color:"{{foreground-4}}"}.md-button.md-THEME_NAME-theme[disabled]{background-color:transparent}._md a.md-THEME_NAME-theme:not(.md-button).md-primary{color:"{{primary-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-primary:hover{color:"{{primary-700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent{color:"{{accent-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent:hover{color:"{{accent-A700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn{color:"{{warn-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn:hover{color:"{{warn-700}}"}md-card.md-THEME_NAME-theme{background-color:"{{background-hue-1}}";border-radius:2px;color:"{{foreground-1}}"}md-card.md-THEME_NAME-theme .md-card-image{border-radius:2px 2px 0 0}md-card.md-THEME_NAME-theme md-card-header md-card-avatar md-icon{background-color:"{{foreground-3}}";color:"{{background-color}}"}md-card.md-THEME_NAME-theme md-card-header md-card-header-text .md-subhead,md-card.md-THEME_NAME-theme md-card-title md-card-title-text:not(:only-child) .md-subhead{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme .md-ripple{color:"{{accent-A700}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before{background-color:"{{accent-color-0.26}}"}md-checkbox.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon{background-color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after{border-color:"{{background-default}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple{color:"{{primary-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon{background-color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after{border-color:"{{primary-contrast-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple{color:"{{warn-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon{background-color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before{background-color:"{{warn-color-0.26}}"}md-checkbox.md-THEME_NAME-theme[disabled]:not(.md-checked) .md-icon{border-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon{background-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled] .md-label{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips{box-shadow:0 1px "{{foreground-4}}"}md-chips.md-THEME_NAME-theme .md-chips.md-focused{box-shadow:0 2px "{{primary-color}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input{color:"{{foreground-1}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-webkit-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-ms-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-ms-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-moz-placeholder,md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}md-chips.md-THEME_NAME-theme md-chip{background:"{{background-300}}";color:"{{background-800}}"}md-chips.md-THEME_NAME-theme md-chip md-icon{color:"{{background-700}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused{background:"{{primary-color}}";color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused md-icon{color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip._md-chip-editing{background:transparent;color:"{{background-800}}"}md-chips.md-THEME_NAME-theme .md-chip-remove-container button.md-chip-remove md-icon,md-chips.md-THEME_NAME-theme .md-chip-remove-container buttonmd-chip-remove md-icon{fill:"{{foreground-2}}";color:"{{foreground-2}}"}.md-contact-suggestion span.md-contact-email{color:"{{background-400}}"}md-content.md-THEME_NAME-theme{background-color:"{{background-default}}";color:"{{foreground-1}}"}.md-THEME_NAME-theme .md-calendar{background:"{{background-hue-1}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar tr:last-child td{border-bottom-color:"{{background-hue-2}}"}.md-THEME_NAME-theme .md-calendar-day-header{background:"{{background-500-0.32}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today .md-calendar-date-selection-indicator{border:1px solid "{{primary-500}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today.md-calendar-date-disabled{color:"{{primary-500-0.6}}"}.md-calendar-date.md-focus .md-THEME_NAME-theme .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date-selection-indicator:hover{background:"{{background-500-0.32}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-selected-date .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date.md-focus.md-calendar-selected-date .md-calendar-date-selection-indicator{background:"{{primary-500}}";border-color:transparent;color:"{{primary-500-contrast}}"}.md-THEME_NAME-theme .md-calendar-date-disabled,.md-THEME_NAME-theme .md-calendar-month-label-disabled{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-calendar-month-label md-icon,.md-THEME_NAME-theme .md-datepicker-input{color:"{{foreground-1}}"}.md-THEME_NAME-theme .md-datepicker-input::-webkit-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-ms-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input::-ms-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input::placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-moz-placeholder,.md-THEME_NAME-theme .md-datepicker-input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}.md-THEME_NAME-theme .md-datepicker-input-container{border-bottom-color:"{{foreground-4}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-invalid,.md-warn .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar-pane{border-color:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-triangle-button .md-datepicker-expand-triangle{border-top-color:"{{foreground-2}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon,.md-THEME_NAME-theme .md-datepicker-open.md-accent .md-datepicker-calendar-icon{color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-open.md-warn .md-datepicker-calendar-icon,.md-warn .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar{background:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-input-mask-opaque{box-shadow:0 0 0 9999px "{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-input-container{background:"{{background-hue-1}}"}md-dialog.md-THEME_NAME-theme{background-color:"{{background-hue-1}}";border-radius:4px;color:"{{foreground-1}}"}md-dialog.md-THEME_NAME-theme.md-content-overflow md-dialog-actions{border-top-color:"{{foreground-4}}"}md-divider.md-THEME_NAME-theme{border-color:"{{foreground-4}}"}md-fab-speed-dial.md-THEME_NAME-theme md-fab-trigger .md-fab.md-button[disabled]{background-color:"{{foreground-4}}"}md-fab-speed-dial.md-THEME_NAME-theme md-fab-actions .md-fab-action-item .md-button.md-fab.md-raised.md-mini.md-focused,md-fab-speed-dial.md-THEME_NAME-theme md-fab-actions .md-fab-action-item .md-button.md-fab.md-raised.md-mini:hover{background-color:"{{background-500}}"}md-icon.md-THEME_NAME-theme{color:"{{foreground-2}}"}md-icon.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}md-icon.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}md-icon.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-input-container.md-THEME_NAME-theme .md-input{border-color:"{{background-default-contrast-divider}}";color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input::-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input::placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder{color:"{{background-default-contrast-secondary}}";opacity:1}md-input-container.md-THEME_NAME-theme>md-icon{color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme .md-placeholder,md-input-container.md-THEME_NAME-theme label{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme label.md-required:after{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-focused):not(.md-input-invalid) label.md-required:after{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation,md-input-container.md-THEME_NAME-theme .md-input-messages-animation{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation .md-char-counter,md-input-container.md-THEME_NAME-theme .md-input-messages-animation .md-char-counter{color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-webkit-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-moz-placeholder{color:"{{background-default-contrast-secondary}}";opacity:1}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon{color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent md-icon{color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn md-icon{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter,md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input-message-animation,md-input-container.md-THEME_NAME-theme.md-input-invalid label{color:"{{warn-A700}}"}[disabled] md-input-container.md-THEME_NAME-theme .md-input,md-input-container.md-THEME_NAME-theme .md-input[disabled]{background-image:linear-gradient(90deg,"{{background-default-contrast-disabled}}" 0,"{{background-default-contrast-disabled}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{background-default-contrast-disabled}}" 100%);border-bottom-color:transparent;color:"{{background-default-contrast-disabled}}"}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4{color:"{{foreground-1}}"}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style{background-color:"{{background-100}}"}md-list.md-THEME_NAME-theme md-list-item .md-avatar-icon{background-color:"{{foreground-3}}";color:"{{background-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight{color:"{{primary-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight.md-accent{color:"{{accent-color}}"}md-menu-content.md-THEME_NAME-theme{background-color:"{{background-hue-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item{color:"{{foreground-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item md-icon{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled],md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled] md-icon{color:"{{foreground-3}}"}md-menu-content.md-THEME_NAME-theme md-menu-divider{background-color:"{{foreground-4}}"}md-menu-bar.md-THEME_NAME-theme>button.md-button{border-radius:2px;color:"{{foreground-1}}"}md-menu-bar.md-THEME_NAME-theme md-menu>button{color:"{{foreground-1}}"}md-menu-bar.md-THEME_NAME-theme md-menu.md-open>button,md-menu-bar.md-THEME_NAME-theme md-menu>button:focus{background-color:"{{ background-500-0.18}}";outline:none}md-menu-bar.md-THEME_NAME-theme.md-open:not(.md-keyboard-mode) md-menu:hover>button{background-color:"{{ background-500-0.18}}"}md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:focus,md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:hover{background:transparent}md-menu-content.md-THEME_NAME-theme .md-menu>.md-button:after{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme .md-menu.md-open>.md-button{background-color:"{{ background-500-0.18}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar{background-color:"{{background-hue-1}}";color:"{{foreground-1}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler{background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler md-icon{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme .md-nav-bar{background-color:transparent;border-color:"{{foreground-4}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button.md-unselected{color:"{{foreground-2}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button[disabled]{color:"{{foreground-3}}"}md-nav-bar.md-THEME_NAME-theme md-nav-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar{background-color:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar md-nav-ink-bar{background:"{{primary-600-1}}";color:"{{primary-600-1}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar{background-color:"{{warn-color}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar{background-color:"{{primary-color}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{primary-color}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{accent-color}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar md-nav-ink-bar{background:"{{primary-600-1}}";color:"{{primary-600-1}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{warn-color}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}._md-panel-backdrop.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-progress-circular.md-THEME_NAME-theme path{stroke:"{{primary-color}}"}md-progress-circular.md-THEME_NAME-theme.md-warn path{stroke:"{{warn-color}}"}md-progress-circular.md-THEME_NAME-theme.md-accent path{stroke:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme .md-container{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme .md-bar{background-color:"{{primary-color}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-container{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar{background-color:"{{warn-color}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-container{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar{background-color:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-bar1{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-dashed:before{background:radial-gradient("{{primary-100}}" 0,"{{primary-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before{background:radial-gradient("{{warn-100}}" 0,"{{warn-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before{background:radial-gradient("{{accent-100}}" 0,"{{accent-100}}" 16%,transparent 42%)}md-radio-button.md-THEME_NAME-theme .md-off{border-color:"{{foreground-2}}"}md-radio-button.md-THEME_NAME-theme .md-on{background-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-off{border-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme .md-container .md-ripple{color:"{{accent-A700}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on{background-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off{border-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple{color:"{{primary-600}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on{background-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off{border-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple{color:"{{warn-600}}"}md-radio-button.md-THEME_NAME-theme[disabled],md-radio-group.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}"}md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-on,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-on{border-color:"{{foreground-3}}"}md-radio-group.md-THEME_NAME-theme .md-checked .md-ink-ripple{color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme .md-checked:not([disabled]).md-primary .md-ink-ripple,md-radio-group.md-THEME_NAME-theme.md-primary .md-checked:not([disabled]) .md-ink-ripple{color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused.ng-empty>md-radio-button:first-child .md-container:before{background-color:"{{foreground-3-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked .md-container:before{background-color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-primary .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-primary .md-checked .md-container:before{background-color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-warn .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-warn .md-checked .md-container:before{background-color:"{{warn-color-0.26}}"}md-input-container md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-input-container:not(.md-input-focused):not(.md-input-invalid) md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{foreground-3}}"}md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value,md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{primary-color}}"}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme .md-select-value{border-bottom-color:"{{warn-A700}}"!important;color:"{{warn-A700}}"!important}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value{border-color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value span{color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value{border-color:"{{warn-A700}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value span{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-value{background-image:linear-gradient(90deg,"{{foreground-3}}" 0,"{{foreground-3}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{foreground-3}}" 100%);border-bottom-color:transparent}md-select.md-THEME_NAME-theme .md-select-value{border-bottom-color:"{{foreground-4}}"}md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched .md-select-value{border-bottom-color:"{{warn-A700}}"!important;color:"{{warn-A700}}"!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value{border-bottom-color:"{{primary-color}}";color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value.md-select-placeholder{color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-value{border-bottom-color:"{{accent-color}}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-value{border-bottom-color:"{{warn-color}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-icon,md-select.md-THEME_NAME-theme[disabled] .md-select-value,md-select.md-THEME_NAME-theme[disabled] .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-icon{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-optgroup{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content md-option{color:"{{foreground-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[disabled] .md-text{color:"{{foreground-3}}"}md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):hover{background-color:"{{background-500-0.10}}"}md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]).md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):focus{background-color:"{{background-500-0.18}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected]{color:"{{primary-500}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected]:focus{color:"{{primary-600}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent{color:"{{accent-color}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent.md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent:focus{color:"{{accent-A700}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ripple{color:"{{primary-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ripple{color:"{{background-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ink-ripple{color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon{background-color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected].md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon:after{border-color:"{{primary-contrast-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}.md-checkbox-enabled.md-THEME_NAME-theme md-option .md-text{color:"{{foreground-1}}"}md-sidenav.md-THEME_NAME-theme,md-sidenav.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-slider.md-THEME_NAME-theme .md-track{background-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme .md-track-ticks{color:"{{background-contrast}}"}md-slider.md-THEME_NAME-theme .md-focus-ring{background-color:"{{accent-A200-0.2}}"}md-slider.md-THEME_NAME-theme .md-disabled-thumb{background-color:"{{background-color}}";border-color:"{{background-color}}"}md-slider.md-THEME_NAME-theme.md-min .md-thumb:after{background-color:"{{background-color}}";border-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme.md-min .md-focus-ring{background-color:"{{foreground-3-0.38}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-thumb:after{background-color:"{{background-contrast}}";border-color:transparent}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete][md-vertical] .md-sign:after{border-left-color:"{{background-400}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme .md-track.md-track-fill{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb:after{background-color:"{{accent-color}}";border-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign:after{border-top-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme[md-vertical] .md-sign:after{border-left-color:"{{accent-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme .md-thumb-text{color:"{{accent-contrast}}"}md-slider.md-THEME_NAME-theme.md-warn .md-focus-ring{background-color:"{{warn-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after{background-color:"{{warn-color}}";border-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign:after{border-top-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn[md-vertical] .md-sign:after{border-left-color:"{{warn-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text{color:"{{warn-contrast}}"}md-slider.md-THEME_NAME-theme.md-primary .md-focus-ring{background-color:"{{primary-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after{background-color:"{{primary-color}}";border-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign:after{border-top-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary[md-vertical] .md-sign:after{border-left-color:"{{primary-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text{color:"{{primary-contrast}}"}md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after{border-color:transparent}md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after,md-slider.md-THEME_NAME-theme[disabled][md-discrete] .md-thumb:after{background-color:"{{foreground-3}}";border-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly][md-vertical] .md-sign:after{border-left-color:"{{background-400}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-disabled-thumb{background-color:transparent;border-color:transparent}md-slider-container[disabled]>:first-child:not(md-slider),md-slider-container[disabled]>:last-child:not(md-slider){color:"{{foreground-3}}"}.md-subheader.md-THEME_NAME-theme{background-color:"{{background-default}}";color:"{{ foreground-2-0.54 }}"}.md-subheader.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-subheader.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-subheader.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme .md-ink-ripple{color:"{{background-500}}"}md-switch.md-THEME_NAME-theme .md-thumb{background-color:"{{background-50}}"}md-switch.md-THEME_NAME-theme .md-bar{background-color:"{{background-500}}"}md-switch.md-THEME_NAME-theme.md-focused:not(.md-checked) .md-thumb:before,md-switch.md-THEME_NAME-theme.md-focused[disabled] .md-thumb:before{background-color:"{{foreground-4}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-ink-ripple{color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-thumb{background-color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-bar{background-color:"{{accent-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-focused .md-thumb:before{background-color:"{{accent-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-ink-ripple{color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-thumb{background-color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-bar{background-color:"{{primary-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary.md-focused .md-thumb:before{background-color:"{{primary-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-ink-ripple{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-thumb{background-color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-bar{background-color:"{{warn-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn.md-focused .md-thumb:before{background-color:"{{warn-color-0.26}}"}md-switch.md-THEME_NAME-theme[disabled] .md-thumb{background-color:"{{background-400}}"}md-switch.md-THEME_NAME-theme[disabled] .md-bar{background-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme md-tabs-wrapper{background-color:transparent;border-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme md-next-button md-icon,md-tabs.md-THEME_NAME-theme md-prev-button md-icon{color:"{{foreground-2}}"}md-tabs.md-THEME_NAME-theme md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme .md-tab{color:"{{foreground-2}}"}md-tabs.md-THEME_NAME-theme .md-tab[disabled],md-tabs.md-THEME_NAME-theme .md-tab[disabled] md-icon{color:"{{foreground-3}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-active,md-tabs.md-THEME_NAME-theme .md-tab.md-active md-icon,md-tabs.md-THEME_NAME-theme .md-tab.md-focused,md-tabs.md-THEME_NAME-theme .md-tab.md-focused md-icon{color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-focused{background:"{{primary-color-0.1}}"}md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container{color:"{{accent-A100}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper{background-color:"{{accent-500}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper md-prev-button md-icon{color:"{{accent-500-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-500-contrast-1}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-500-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper{background-color:"{{primary-color}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper md-prev-button md-icon{color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme.md-primary.md-no-ink-bar-color>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper{background-color:"{{warn-500}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper md-prev-button md-icon{color:"{{warn-500-contrast}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-500-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-500-contrast-1}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-500-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{primary-color}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{primary-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-contrast-0.7}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-toolbar>md-tabs.md-THEME_NAME-theme.md-no-ink-bar-color>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{accent-500}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{accent-500-contrast-0.7}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-500-contrast-1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-500-contrast-0.1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{warn-500}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{warn-500-contrast}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-500-contrast-0.7}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-500-contrast-1}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-500-contrast-0.1}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toast.md-THEME_NAME-theme .md-toast-content{background-color:#323232;color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button{color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight{color:"{{accent-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-primary{color:"{{primary-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-warn{color:"{{warn-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar){background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-icon{fill:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) .md-button[disabled] md-icon{fill:"{{primary-contrast-0.26}}";color:"{{primary-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input{border-color:"{{primary-default-contrast-divider}}";color:"{{primary-default-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{primary-default-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{primary-default-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent{background-color:"{{accent-500}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-ink-ripple{color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-icon{fill:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-button[disabled] md-icon{fill:"{{accent-500-contrast-0.26}}";color:"{{accent-500-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input{border-color:"{{accent-500-contrast-divider}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{accent-500-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{accent-500-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn{background-color:"{{warn-500}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-icon{fill:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input{border-color:"{{warn-500-contrast-divider}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{warn-500-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{warn-500-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-500-contrast}}"}.md-panel.md-tooltip.md-THEME_NAME-theme{background-color:"{{background-700}}";color:"{{background-700-contrast}}"}body.md-THEME_NAME-theme,html.md-THEME_NAME-theme{background-color:"{{background-color}}";color:"{{foreground-1}}"}')}(window,window.angular),window.ngMaterial={version:{full:"1.2.5"}}
1,function(){"use strict";function toastr($animate,$injector,$document,$rootScope,$sce,toastrConfig,$q){var container,index=0,toasts=[],previousToastMessage="",openToasts={},containerDefer=$q.defer();return{active:function(){return toasts.length},clear:function(toast){if(1===arguments.length&&!toast)return;if(toast)remove(toast.toastId);else for(var i=0;i<toasts.length;i++)remove(toasts[i].toastId)},error:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.error,message,title,optionsOverride)},info:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.info,message,title,optionsOverride)},remove:remove,success:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.success,message,title,optionsOverride)},warning:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.warning,message,title,optionsOverride)},refreshTimer:function(toast,newTime){toast&&toast.isOpened&&toasts.indexOf(toast)>=0&&toast.scope.refreshTimer(newTime)}};function remove(toastId,wasClicked){var toast=function(toastId){for(var i=0;i<toasts.length;i++)if(toasts[i].toastId===toastId)return toasts[i]}(toastId);toast&&!toast.deleting&&(toast.deleting=!0,toast.isOpened=!1,$animate.leave(toast.el).then(function(){toast.scope.options.onHidden&&toast.scope.options.onHidden(!!wasClicked,toast),toast.scope.$destroy();var index=toasts.indexOf(toast);delete openToasts[toast.scope.message],toasts.splice(index,1);var maxOpened=toastrConfig.maxOpened;maxOpened&&toasts.length>=maxOpened&&toasts[maxOpened-1].open.resolve(),toasts.length||(container.remove(),container=null,containerDefer=$q.defer())}))}function _buildNotification(type,message,title,optionsOverride){return angular.isObject(title)&&(optionsOverride=title,title=null),function(map){var options=_getOptions();
1if(function(){var isDuplicateOfLast=options.preventDuplicates&&map.message===previousToastMessage,isDuplicateOpen=options.preventOpenDuplicates&&openToasts[map.message];if(isDuplicateOfLast||isDuplicateOpen)return!0;return previousToastMessage=map.message,openToasts[map.message]=!0,!1}())return;var newToast=function(){var newToast={toastId:index++,isOpened:!1,scope:$rootScope.$new(),open:$q.defer()};newToast.iconClass=map.iconClass,map.optionsOverride&&(angular.extend(options,function(options){for(var badOptions=["containerId","iconClasses","maxOpened","newestOnTop","positionClass","preventDuplicates","preventOpenDuplicates","templates"],i=0,l=badOptions.length;i<l;i++)delete options[badOptions[i]];return options}(map.optionsOverride)),newToast.iconClass=map.optionsOverride.iconClass||newToast.iconClass);return function(toast,map,options){function generateEvent(event){if(options[event])return function(){options[event](toast)}}options.allowHtml?(toast.scope.allowHtml=!0,toast.scope.title=$sce.trustAsHtml(map.title),toast.scope.message=$sce.trustAsHtml(map.message)):(toast.scope.title=map.title,toast.scope.message=map.message),toast.scope.toastType=toast.iconClass,toast.scope.toastId=toast.toastId,toast.scope.extraData=options.extraData,toast.scope.options={extendedTimeOut:options.extendedTimeOut,messageClass:options.messageClass,onHidden:options.onHidden,onShown:generateEvent("onShown"),onTap:generateEvent("onTap"),progressBar:options.progressBar,tapToDismiss:options.tapToDismiss,timeOut:options.timeOut,titleClass:options.titleClass,toastClass:options.toastClass},options.closeButton&&(toast.scope.options.closeHtml=options.closeHtml)}(newToast,map,options),newToast.el=(scope=newToast.scope,angularDomEl=angular.element("<div toast></div>"),$injector.get("$compile")(angularDomEl)(scope)),newToast;var scope,angularDomEl}();if(toasts.push(newToast),options.autoDismiss&&options.maxOpened&&toasts.length>options.maxOpened)for(var oldToasts=toasts.slice(0,toasts.length-options.maxOpened),i=0,len=oldToasts.length;i<len;i++)remove(oldToasts[i].toastId);(options.maxOpened&&toasts.length<=options.maxOpened||!options.maxOpened)&&newToast.open.resolve();return newToast.open.promise.then(function(){(function(options){if(container)return containerDefer.promise;(container=angular.element("<div></div>")).attr("id",options.containerId),container.addClass(options.positionClass),container.css({"pointer-events":"auto"});var target=angular.element(document.querySelector(options.target));if(!target||!target.length)throw"Target for toasts doesn't exist";return $animate.enter(container,target).then(function(){containerDefer.resolve()}),containerDefer.promise})(options).then(function(){if(newToast.isOpened=!0,options.newestOnTop)$animate.enter(newToast.el,container).then(function(){newToast.scope.init()});else{var sibling=container[0].lastChild?angular.element(container[0].lastChild):null;$animate.enter(newToast.el,container,sibling).then(function(){newToast.scope.init()})}})}),newToast}({iconClass:type,message:message,optionsOverride:optionsOverride,title:title})}function _getOptions(){return angular.extend({},toastrConfig)}}angular.module("toastr",[]).factory("toastr",toastr),toastr.$inject=["$animate","$injector","$document","$rootScope","$sce","toastrConfig","$q"]}(),function(){"use strict";angular.module("toastr").constant("toastrConfig",{allowHtml:!1,autoDismiss:!1,closeButton:!1,closeHtml:"<button>&times;</button>",containerId:"toast-container",extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},maxOpened:0,messageClass:"toast-message",newestOnTop:!0,onHidden:null,onShown:null,onTap:null,positionClass:"toast-top-right",preventDuplicates:!1,preventOpenDuplicates:!1,progressBar:!1,tapToDismiss:!0,target:"body",templates:{toast:"directives/toast/toast.html",progressbar:"directives/progressbar/progressbar.html"},timeOut:5e3,titleClass:"toast-title",toastClass:"toast"})}(),function(){"use strict";function progressBar(toastrConfig){return{require:"^toast",templateUrl:function(){return toastrConfig.templates.progressbar},link:function(scope,element,attrs,toastCtrl){var intervalId,currentTimeOut,hideTime;function updateProgress(){var percentage=(hideTime-(new Date).getTime())/currentTimeOut*100;element.css("width",percentage+"%")}toastCtrl.progressBar=scope,scope.start=function(duration){intervalId&&clearInterval(intervalId),currentTimeOut=parseFloat(duration),hideTime=(new Date).getTime()+currentTimeOut,intervalId=setInterval(updateProgress,10)},scope.stop=function(){intervalId&&clearInterval(intervalId)},scope.$on("$destroy",function(){clearInterval(intervalId)})}}}angular.module("toastr").directive("progressBar",progressBar),progressBar.$inject=["toastrConfig"]}(),function(){"use strict";angular.module("toastr").controller("ToastController",function(){this.progressBar=null,this.startProgressBar=function(duration){this.progressBar&&this.progressBar.start(duration)},this.stopProgressBar=function(){this.progressBar&&this.progressBar.stop()}})}(),function(){"use strict";function toast($injector,$interval,toastrConfig,toastr){return{templateUrl:function(){return toastrConfig.templates.toast},controller:"ToastController",link:function(scope,element,attrs,toastCtrl){var timeout;if(scope.toastClass=scope.options.toastClass,scope.titleClass=scope.options.titleClass,scope.messageClass=scope.options.messageClass,scope.progressBar=scope.options.progressBar,scope.options.closeHtml){var button=angular.element(scope.options.closeHtml),$compile=$injector.get("$compile");button.addClass("toast-close-button"),button.attr("ng-click","close(true, $event)"),$compile(button)(scope),element.children().prepend(button)}function createTimeout(time){return toastCtrl.startProgressBar(time),$interval(function(){toastCtrl.stopProgressBar(),toastr.remove(scope.toastId)},time,1)}scope.init=function(){scope.options.timeOut&&(timeout=createTimeout(scope.options.timeOut)),scope.options.onShown&&scope.options.onShown()},element.on("mouseenter",function(){scope.progressBar=!1,toastCtrl.stopProgressBar(),timeout&&$interval.cancel(timeout)}),scope.tapToast=function(){angular.isFunction(scope.options.onTap)&&scope.options.onTap(),scope.options.tapToDismiss&&scope.close(!0)},scope.close=function(wasClicked,$event){$event&&angular.isFunction($event.stopPropagation)&&$event.stopPropagation(),toastr.remove(scope.toastId,wasClicked)},scope.refreshTimer=function(newTime){timeout&&($interval.cancel(timeout),timeout=createTimeout(newTime||scope.options.timeOut))},element.on("mouseleave",function(){0===scope.options.timeOut&&0===scope.options.extendedTimeOut||(scope.$apply(function(){scope.progressBar=scope.options.progressBar}),timeout=createTimeout(scope.options.extendedTimeOut))})}}}
1angular.module("toastr").directive("toast",toast),toast.$inject=["$injector","$interval","toastrConfig","toastr"]}(),angular.module("toastr").run(["$templateCache",function($templateCache){$templateCache.put("directives/progressbar/progressbar.html",'<div class="toast-progress"></div>\n'),$templateCache.put("directives/toast/toast.html",'<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n  <div ng-switch on="allowHtml">\n    <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n    <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n    <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n    <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n  </div>\n  <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n')}]),function(factory){"function"==typeof define&&define.amd?define(["jquery"],factory):factory(jQuery)}(function($){$.ui=$.ui||{};$.ui.version="1.12.1";var orig,widgetUuid=0,widgetSlice=Array.prototype.slice;$.cleanData=(orig=$.cleanData,function(elems){var events,elem,i;for(i=0;null!=(elem=elems[i]);i++)try{(events=$._data(elem,"events"))&&events.remove&&$(elem).triggerHandler("remove")}catch(e){}orig(elems)}),$.widget=function(name,base,prototype){var existingConstructor,constructor,basePrototype,proxiedPrototype={},namespace=name.split(".")[0],fullName=namespace+"-"+(name=name.split(".")[1]);
vendor: 11,600 bytes, line 1
1return prototype||(prototype=base,base=$.Widget),$.isArray(prototype)&&(prototype=$.extend.apply(null,[{}].concat(prototype))),$.expr[":"][fullName.toLowerCase()]=function(elem){return!!$.data(elem,fullName)},$[namespace]=$[namespace]||{},existingConstructor=$[namespace][name],constructor=$[namespace][name]=function(options,element){if(!this._createWidget)return new constructor(options,element);arguments.length&&this._createWidget(options,element)},$.extend(constructor,existingConstructor,{version:prototype.version,_proto:$.extend({},prototype),_childConstructors:[]}),(basePrototype=new base).options=$.widget.extend({},basePrototype.options),$.each(prototype,function(prop,value){$.isFunction(value)?proxiedPrototype[prop]=function(){function _super(){return base.prototype[prop].apply(this,arguments)}function _superApply(args){return base.prototype[prop].apply(this,args)}return function(){var returnValue,__super=this._super,__superApply=this._superApply;return this._super=_super,this._superApply=_superApply,returnValue=value.apply(this,arguments),this._super=__super,this._superApply=__superApply,returnValue}}():proxiedPrototype[prop]=value}),constructor.prototype=$.widget.extend(basePrototype,{widgetEventPrefix:existingConstructor&&basePrototype.widgetEventPrefix||name},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName}),existingConstructor?($.each(existingConstructor._childConstructors,function(i,child){var childPrototype=child.prototype;$.widget(childPrototype.namespace+"."+childPrototype.widgetName,constructor,child._proto)}),delete existingConstructor._childConstructors):base._childConstructors.push(constructor),$.widget.bridge(name,constructor),constructor},$.widget.extend=function(target){for(var key,value,input=widgetSlice.call(arguments,1),inputIndex=0,inputLength=input.length;inputIndex<inputLength;inputIndex++)for(key in input[inputIndex])value=input[inputIndex][key],input[inputIndex].hasOwnProperty(key)&&void 0!==value&&($.isPlainObject(value)?target[key]=$.isPlainObject(target[key])?$.widget.extend({},target[key],value):$.widget.extend({},value):target[key]=value);return target},$.widget.bridge=function(name,object){var fullName=object.prototype.widgetFullName||name;$.fn[name]=function(options){var isMethodCall="string"==typeof options,args=widgetSlice.call(arguments,1),returnValue=this;return isMethodCall?this.length||"instance"!==options?this.each(function(){var methodValue,instance=$.data(this,fullName);return"instance"===options?(returnValue=instance,!1):instance?$.isFunction(instance[options])&&"_"!==options.charAt(0)?(methodValue=instance[options].apply(instance,args))!==instance&&void 0!==methodValue?(returnValue=methodValue&&methodValue.jquery?returnValue.pushStack(methodValue.get()):methodValue,!1):void 0:$.error("no such method '"+options+"' for "+name+" widget instance"):$.error("cannot call methods on "+name+" prior to initialization; attempted to call method '"+options+"'")}):returnValue=void 0:(args.length&&(options=$.widget.extend.apply(null,[options].concat(args))),this.each(function(){var instance=$.data(this,fullName);instance?(instance.option(options||{}),instance._init&&instance._init()):$.data(this,fullName,new object(options,this))})),returnValue}},$.Widget=function(){},$.Widget._childConstructors=[],$.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(options,element){element=$(element||this.defaultElement||this)[0],this.element=$(element),this.uuid=widgetUuid++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=$(),this.hoverable=$(),this.focusable=$(),this.classesElementLookup={},element!==this&&($.data(element,this.widgetFullName,this),this._on(!0,this.element,{remove:function(event){event.target===element&&this.destroy()}}),this.document=$(element.style?element.ownerDocument:element.document||element),this.window=$(this.document[0].defaultView||this.document[0].parentWindow)),this.options=$.widget.extend({},this.options,this._getCreateOptions(),options),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){var that=this;this._destroy(),$.each(this.classesElementLookup,function(key,value){that._removeClass(value,key)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:$.noop,widget:function(){return this.element},option:function(key,value){var parts,curOption,i,options=key;if(0===arguments.length)return $.widget.extend({},this.options);if("string"==typeof key)if(options={},key=(parts=key.split(".")).shift(),parts.length){for(curOption=options[key]=$.widget.extend({},this.options[key]),i=0;i<parts.length-1;i++)curOption[parts[i]]=curOption[parts[i]]||{},curOption=curOption[parts[i]];if(key=parts.pop(),1===arguments.length)return void 0===curOption[key]?null:curOption[key];curOption[key]=value}else{if(1===arguments.length)return void 0===this.options[key]?null:this.options[key];options[key]=value}return this._setOptions(options),this},_setOptions:function(options){var key;for(key in options)this._setOption(key,options[key]);return this},_setOption:function(key,value){return"classes"===key&&this._setOptionClasses(value),this.options[key]=value,"disabled"===key&&this._setOptionDisabled(value),this},_setOptionClasses:function(value){var classKey,elements,currentElements;for(classKey in value)currentElements=this.classesElementLookup[classKey],value[classKey]!==this.options.classes[classKey]&&currentElements&&currentElements.length&&(elements=$(currentElements.get()),this._removeClass(currentElements,classKey),elements.addClass(this._classes({element:elements,keys:classKey,classes:value,add:!0})))},_setOptionDisabled:function(value){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!value),value&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(options){var full=[],that=this;function processClassString(classes,checkOption){var current,i;for(i=0;i<classes.length;i++)current=that.classesElementLookup[classes[i]]||$(),current=options.add?$($.unique(current.get().concat(options.element.get()))):$(current.not(options.element).get()),that.classesElementLookup[classes[i]]=current,full.push(classes[i]),checkOption&&options.classes[classes[i]]&&full.push(options.classes[classes[i]])}return options=$.extend({element:this.element,classes:this.options.classes||{}},options),this._on(options.element,{remove:"_untrackClassesElement"}),options.keys&&processClassString(options.keys.match(/\S+/g)||[],!0),options.extra&&processClassString(options.extra.match(/\S+/g)||[]),full.join(" ")},_untrackClassesElement:function(event){var that=this;$.each(that.classesElementLookup,function(key,value){-1!==$.inArray(event.target,value)&&(that.classesElementLookup[key]=$(value.not(event.target).get()))})},_removeClass:function(element,keys,extra){return this._toggleClass(element,keys,extra,!1)},_addClass:function(element,keys,extra){return this._toggleClass(element,keys,extra,!0)},_toggleClass:function(element,keys,extra,add){add="boolean"==typeof add?add:extra;var shift="string"==typeof element||null===element,options={extra:shift?keys:extra,keys:shift?element:keys,element:shift?this.element:element,add:add};return options.element.toggleClass(this._classes(options),add),this},_on:function(suppressDisabledCheck,element,handlers){var delegateElement,instance=this;"boolean"!=typeof suppressDisabledCheck&&(handlers=element,element=suppressDisabledCheck,suppressDisabledCheck=!1),handlers?(element=delegateElement=$(element),this.bindings=this.bindings.add(element)):(handlers=element,element=this.element,delegateElement=this.widget()),$.each(handlers,function(event,handler){function handlerProxy(){if(suppressDisabledCheck||!0!==instance.options.disabled&&!$(this).hasClass("ui-state-disabled"))return("string"==typeof handler?instance[handler]:handler).apply(instance,arguments)}"string"!=typeof handler&&(handlerProxy.guid=handler.guid=handler.guid||handlerProxy.guid||$.guid++);var match=event.match(/^([\w:-]*)\s*(.*)$/),eventName=match[1]+instance.eventNamespace,selector=match[2];selector?delegateElement.on(eventName,selector,handlerProxy):element.on(eventName,handlerProxy)})},_off:function(element,eventName){eventName=(eventName||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,element.off(eventName).off(eventName),this.bindings=$(this.bindings.not(element).get()),this.focusable=$(this.focusable.not(element).get()),this.hoverable=$(this.hoverable.not(element).get())},_delay:function(handler,delay){var instance=this;return setTimeout(function(){return("string"==typeof handler?instance[handler]:handler).apply(instance,arguments)},delay||0)},_hoverable:function(element){this.hoverable=this.hoverable.add(element),this._on(element,{mouseenter:function(event){this._addClass($(event.currentTarget),null,"ui-state-hover")},mouseleave:function(event){this._removeClass($(event.currentTarget),null,"ui-state-hover")}})},_focusable:function(element){this.focusable=this.focusable.add(element),this._on(element,{focusin:function(event){this._addClass($(event.currentTarget),null,"ui-state-focus")},focusout:function(event){this._removeClass($(event.currentTarget),null,"ui-state-focus")}})},_trigger:function(type,event,data){var prop,orig,callback=this.options[type];if(data=data||{},(event=$.Event(event)).type=(type===this.widgetEventPrefix?type:this.widgetEventPrefix+type).toLowerCase(),event.target=this.element[0],orig=event.originalEvent)for(prop in orig)prop in event||(event[prop]=orig[prop]);return this.element.trigger(event,data),!($.isFunction(callback)&&!1===callback.apply(this.element[0],[event].concat(data))||event.isDefaultPrevented())}},$.each({show:"fadeIn",hide:"fadeOut"},function(method,defaultEffect){$.Widget.prototype["_"+method]=function(element,options,callback){var hasOptions;"string"==typeof options&&(options={effect:options});var effectName=options?!0===options||"number"==typeof options?defaultEffect:options.effect||defaultEffect:method;"number"==typeof(options=options||{})&&(options={duration:options}),hasOptions=!$.isEmptyObject(options),options.complete=callback,options.delay&&element.delay(options.delay),hasOptions&&$.effects&&$.effects.effect[effectName]?element[method](options):effectName!==method&&element[effectName]?element[effectName](options.duration,options.easing,callback):element.queue(function(next){$(this)[method](),callback&&callback.call(element[0]),next()})}});$.widget;!function(){var cachedScrollbarWidth,max=Math.max,abs=Math.abs,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\+\-]\d+(\.[\d]+)?%?/,rposition=/^\w+/,rpercent=/%$/,_position=$.fn.position;function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width/100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height/100:1)]}function parseCss(element,property){return parseInt($.css(element,property),10)||0}$.position={scrollbarWidth:function(){if(void 0!==cachedScrollbarWidth)return cachedScrollbarWidth;
vendor: 123,197 bytes, line 1
1var w1,w2,div=$("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),innerDiv=div.children()[0];return $("body").append(div),w1=innerDiv.offsetWidth,div.css("overflow","scroll"),w1===(w2=innerDiv.offsetWidth)&&(w2=div[0].clientWidth),div.remove(),cachedScrollbarWidth=w1-w2},getScrollInfo:function(within){var overflowX=within.isWindow||within.isDocument?"":within.element.css("overflow-x"),overflowY=within.isWindow||within.isDocument?"":within.element.css("overflow-y"),hasOverflowX="scroll"===overflowX||"auto"===overflowX&&within.width<within.element[0].scrollWidth;return{width:"scroll"===overflowY||"auto"===overflowY&&within.height<within.element[0].scrollHeight?$.position.scrollbarWidth():0,height:hasOverflowX?$.position.scrollbarWidth():0}},getWithinInfo:function(element){var withinElement=$(element||window),isWindow=$.isWindow(withinElement[0]),isDocument=!!withinElement[0]&&9===withinElement[0].nodeType;return{element:withinElement,isWindow:isWindow,isDocument:isDocument,offset:!isWindow&&!isDocument?$(element).offset():{left:0,top:0},scrollLeft:withinElement.scrollLeft(),scrollTop:withinElement.scrollTop(),width:withinElement.outerWidth(),height:withinElement.outerHeight()}}},$.fn.position=function(options){if(!options||!options.of)return _position.apply(this,arguments);options=$.extend({},options);var atOffset,targetWidth,targetHeight,targetOffset,basePosition,dimensions,elem,raw,target=$(options.of),within=$.position.getWithinInfo(options.within),scrollInfo=$.position.getScrollInfo(within),collision=(options.collision||"flip").split(" "),offsets={};return dimensions=9===(raw=(elem=target)[0]).nodeType?{width:elem.width(),height:elem.height(),offset:{top:0,left:0}}:$.isWindow(raw)?{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}}:raw.preventDefault?{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}}:{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()},target[0].preventDefault&&(options.at="left top"),targetWidth=dimensions.width,targetHeight=dimensions.height,targetOffset=dimensions.offset,basePosition=$.extend({},targetOffset),$.each(["my","at"],function(){var horizontalOffset,verticalOffset,pos=(options[this]||"").split(" ");1===pos.length&&(pos=rhorizontal.test(pos[0])?pos.concat(["center"]):rvertical.test(pos[0])?["center"].concat(pos):["center","center"]),pos[0]=rhorizontal.test(pos[0])?pos[0]:"center",pos[1]=rvertical.test(pos[1])?pos[1]:"center",horizontalOffset=roffset.exec(pos[0]),verticalOffset=roffset.exec(pos[1]),offsets[this]=[horizontalOffset?horizontalOffset[0]:0,verticalOffset?verticalOffset[0]:0],options[this]=[rposition.exec(pos[0])[0],rposition.exec(pos[1])[0]]}),1===collision.length&&(collision[1]=collision[0]),"right"===options.at[0]?basePosition.left+=targetWidth:"center"===options.at[0]&&(basePosition.left+=targetWidth/2),"bottom"===options.at[1]?basePosition.top+=targetHeight:"center"===options.at[1]&&(basePosition.top+=targetHeight/2),atOffset=getOffsets(offsets.at,targetWidth,targetHeight),basePosition.left+=atOffset[0],basePosition.top+=atOffset[1],this.each(function(){var collisionPosition,using,elem=$(this),elemWidth=elem.outerWidth(),elemHeight=elem.outerHeight(),marginLeft=parseCss(this,"marginLeft"),marginTop=parseCss(this,"marginTop"),collisionWidth=elemWidth+marginLeft+parseCss(this,"marginRight")+scrollInfo.width,collisionHeight=elemHeight+marginTop+parseCss(this,"marginBottom")+scrollInfo.height,position=$.extend({},basePosition),myOffset=getOffsets(offsets.my,elem.outerWidth(),elem.outerHeight());"right"===options.my[0]?position.left-=elemWidth:"center"===options.my[0]&&(position.left-=elemWidth/2),"bottom"===options.my[1]?position.top-=elemHeight:"center"===options.my[1]&&(position.top-=elemHeight/2),position.left+=myOffset[0],position.top+=myOffset[1],collisionPosition={marginLeft:marginLeft,marginTop:marginTop},$.each(["left","top"],function(i,dir){$.ui.position[collision[i]]&&$.ui.position[collision[i]][dir](position,{targetWidth:targetWidth,targetHeight:targetHeight,elemWidth:elemWidth,elemHeight:elemHeight,collisionPosition:collisionPosition,collisionWidth:collisionWidth,collisionHeight:collisionHeight,offset:[atOffset[0]+myOffset[0],atOffset[1]+myOffset[1]],my:options.my,at:options.at,within:within,elem:elem})}),options.using&&(using=function(props){var left=targetOffset.left-position.left,right=left+targetWidth-elemWidth,top=targetOffset.top-position.top,bottom=top+targetHeight-elemHeight,feedback={target:{element:target,left:targetOffset.left,top:targetOffset.top,width:targetWidth,height:targetHeight},element:{element:elem,left:position.left,top:position.top,width:elemWidth,height:elemHeight},horizontal:right<0?"left":left>0?"right":"center",vertical:bottom<0?"top":top>0?"bottom":"middle"};targetWidth<elemWidth&&abs(left+right)<targetWidth&&(feedback.horizontal="center"),targetHeight<elemHeight&&abs(top+bottom)<targetHeight&&(feedback.vertical="middle"),max(abs(left),abs(right))>max(abs(top),abs(bottom))?feedback.important="horizontal":feedback.important="vertical",options.using.call(this,props,feedback)}),elem.offset($.extend(position,{using:using}))})},$.ui.position={fit:{left:function(position,data){var newOverRight,within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset;data.collisionWidth>outerWidth?overLeft>0&&overRight<=0?(newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset,position.left+=overLeft-newOverRight):position.left=overRight>0&&overLeft<=0?withinOffset:overLeft>overRight?withinOffset+outerWidth-data.collisionWidth:withinOffset:overLeft>0?position.left+=overLeft:overRight>0?position.left-=overRight:position.left=max(position.left-collisionPosLeft,position.left)},top:function(position,data){var newOverBottom,within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset;data.collisionHeight>outerHeight?overTop>0&&overBottom<=0?(newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset,position.top+=overTop-newOverBottom):position.top=overBottom>0&&overTop<=0?withinOffset:overTop>overBottom?withinOffset+outerHeight-data.collisionHeight:withinOffset:overTop>0?position.top+=overTop:overBottom>0?position.top-=overBottom:position.top=max(position.top-collisionPosTop,position.top)}},flip:{left:function(position,data){var newOverRight,newOverLeft,within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset="left"===data.my[0]?-data.elemWidth:"right"===data.my[0]?data.elemWidth:0,atOffset="left"===data.at[0]?data.targetWidth:"right"===data.at[0]?-data.targetWidth:0,offset=-2*data.offset[0];overLeft<0?((newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset)<0||newOverRight<abs(overLeft))&&(position.left+=myOffset+atOffset+offset):overRight>0&&((newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft)>0||abs(newOverLeft)<overRight)&&(position.left+=myOffset+atOffset+offset)},top:function(position,data){var newOverTop,newOverBottom,within=data.within,withinOffset=within.offset.top+within.scrollTop,outerHeight=within.height,offsetTop=within.isWindow?within.scrollTop:within.offset.top,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=collisionPosTop-offsetTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-offsetTop,myOffset="top"===data.my[1]?-data.elemHeight:"bottom"===data.my[1]?data.elemHeight:0,atOffset="top"===data.at[1]?data.targetHeight:"bottom"===data.at[1]?-data.targetHeight:0,offset=-2*data.offset[1];overTop<0?((newOverBottom=position.top+myOffset+atOffset+offset+data.collisionHeight-outerHeight-withinOffset)<0||newOverBottom<abs(overTop))&&(position.top+=myOffset+atOffset+offset):overBottom>0&&((newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop)>0||abs(newOverTop)<overBottom)&&(position.top+=myOffset+atOffset+offset)}},flipfit:{left:function(){$.ui.position.flip.left.apply(this,arguments),$.ui.position.fit.left.apply(this,arguments)},top:function(){$.ui.position.flip.top.apply(this,arguments),$.ui.position.fit.top.apply(this,arguments)}}}}();$.ui.position,$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName)}}):function(elem,i,match){return!!$.data(elem,match[3])}}),$.fn.extend({disableSelection:(eventType="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(eventType+".ui-disableSelection",function(event){event.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});var eventType,baseEasings,dataSpaceAnimated="ui-effects-animated",jQuery=$;$.effects={effect:{}},function(jQuery,undefined){var colors,rplusequals=/^([\-+])=\s*(\d+\.?\d*)/,stringParsers=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[execResult[1],execResult[2],execResult[3],execResult[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[2.55*execResult[1],2.55*execResult[2],2.55*execResult[3],execResult[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(execResult){return[parseInt(execResult[1],16),parseInt(execResult[2],16),parseInt(execResult[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(execResult){return[parseInt(execResult[1]+execResult[1],16),parseInt(execResult[2]+execResult[2],16),parseInt(execResult[3]+execResult[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(execResult){return[execResult[1],execResult[2]/100,execResult[3]/100,execResult[4]]}}],color=jQuery.Color=function(color,green,blue,alpha){return new jQuery.Color.fn.parse(color,green,blue,alpha)},spaces={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},propTypes={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},support=color.support={},supportElem=jQuery("<p>")[0],each=jQuery.each;function clamp(value,prop,allowEmpty){var type=propTypes[prop.type]||{};return null==value?allowEmpty||!prop.def?null:prop.def:(value=type.floor?~~value:parseFloat(value),isNaN(value)?prop.def:type.mod?(value+type.mod)%type.mod:0>value?0:type.max<value?type.max:value)}function stringParse(string){var inst=color(),rgba=inst._rgba=[];return string=string.toLowerCase(),each(stringParsers,function(i,parser){var parsed,match=parser.re.exec(string),values=match&&parser.parse(match),spaceName=parser.space||"rgba";if(values)return parsed=inst[spaceName](values),inst[spaces[spaceName].cache]=parsed[spaces[spaceName].cache],rgba=inst._rgba=parsed._rgba,!1}),rgba.length?("0,0,0,0"===rgba.join()&&jQuery.extend(rgba,colors.transparent),inst):colors[string]}function hue2rgb(p,q,h){return 6*(h=(h+1)%1)<1?p+(q-p)*h*6:2*h<1?q:3*h<2?p+(q-p)*(2/3-h)*6:p}supportElem.style.cssText="background-color:rgba(1,1,1,.5)",support.rgba=supportElem.style.backgroundColor.indexOf("rgba")>-1,each(spaces,function(spaceName,space){space.cache="_"+spaceName,space.props.alpha={idx:3,type:"percent",def:1}}),color.fn=jQuery.extend(color.prototype,{parse:function(red,green,blue,alpha){if(void 0===red)return this._rgba=[null,null,null,null],this;(red.jquery||red.nodeType)&&(red=jQuery(red).css(green),green=void 0);var inst=this,type=jQuery.type(red),rgba=this._rgba=[];return void 0!==green&&(red=[red,green,blue,alpha],type="array"),"string"===type?this.parse(stringParse(red)||colors._default):"array"===type?(each(spaces.rgba.props,function(key,prop){rgba[prop.idx]=clamp(red[prop.idx],prop)}),this):"object"===type?(each(spaces,red instanceof color?function(spaceName,space){red[space.cache]&&(inst[space.cache]=red[space.cache].slice())}:function(spaceName,space){var cache=space.cache;each(space.props,function(key,prop){if(!inst[cache]&&space.to){if("alpha"===key||null==red[key])return;inst[cache]=space.to(inst._rgba)}inst[cache][prop.idx]=clamp(red[key],prop,!0)}),inst[cache]&&jQuery.inArray(null,inst[cache].slice(0,3))<0&&(inst[cache][3]=1,space.from&&(inst._rgba=space.from(inst[cache])))}),this):void 0},is:function(compare){var is=color(compare),same=!0,inst=this;return each(spaces,function(_,space){var localCache,isCache=is[space.cache];return isCache&&(localCache=inst[space.cache]||space.to&&space.to(inst._rgba)||[],each(space.props,function(_,prop){if(null!=isCache[prop.idx])return same=isCache[prop.idx]===localCache[prop.idx]})),same}),same},_space:function(){var used=[],inst=this;return each(spaces,function(spaceName,space){inst[space.cache]&&used.push(spaceName)}),used.pop()},transition:function(other,distance){var end=color(other),spaceName=end._space(),space=spaces[spaceName],startColor=0===this.alpha()?color("transparent"):this,start=startColor[space.cache]||space.to(startColor._rgba),result=start.slice();return end=end[space.cache],each(space.props,function(key,prop){var index=prop.idx,startValue=start[index],endValue=end[index],type=propTypes[prop.type]||{};null!==endValue&&(null===startValue?result[index]=endValue:(type.mod&&(endValue-startValue>type.mod/2?startValue+=type.mod:startValue-endValue>type.mod/2&&(startValue-=type.mod)),result[index]=clamp((endValue-startValue)*distance+startValue,prop)))}),this[spaceName](result)},blend:function(opaque){if(1===this._rgba[3])return this;var rgb=this._rgba.slice(),a=rgb.pop(),blend=color(opaque)._rgba;return color(jQuery.map(rgb,function(v,i){return(1-a)*blend[i]+a*v}))},toRgbaString:function(){var prefix="rgba(",rgba=jQuery.map(this._rgba,function(v,i){return null==v?i>2?1:0:v});return 1===rgba[3]&&(rgba.pop(),prefix="rgb("),prefix+rgba.join()+")"},toHslaString:function(){var prefix="hsla(",hsla=jQuery.map(this.hsla(),function(v,i){return null==v&&(v=i>2?1:0),i&&i<3&&(v=Math.round(100*v)+"%"),v});return 1===hsla[3]&&(hsla.pop(),prefix="hsl("),prefix+hsla.join()+")"},toHexString:function(includeAlpha){var rgba=this._rgba.slice(),alpha=rgba.pop();return includeAlpha&&rgba.push(~~(255*alpha)),"#"+jQuery.map(rgba,function(v){return 1===(v=(v||0).toString(16)).length?"0"+v:v}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),color.fn.parse.prototype=color.fn,spaces.hsla.to=function(rgba){if(null==rgba[0]||null==rgba[1]||null==rgba[2])return[null,null,null,rgba[3]];var h,s,r=rgba[0]/255,g=rgba[1]/255,b=rgba[2]/255,a=rgba[3],max=Math.max(r,g,b),min=Math.min(r,g,b),diff=max-min,add=max+min,l=.5*add;return h=min===max?0:r===max?60*(g-b)/diff+360:g===max?60*(b-r)/diff+120:60*(r-g)/diff+240,s=0===diff?0:l<=.5?diff/add:diff/(2-add),[Math.round(h)%360,s,l,null==a?1:a]},spaces.hsla.from=function(hsla){if(null==hsla[0]||null==hsla[1]||null==hsla[2])return[null,null,null,hsla[3]];var h=hsla[0]/360,s=hsla[1],l=hsla[2],a=hsla[3],q=l<=.5?l*(1+s):l+s-l*s,p=2*l-q;return[Math.round(255*hue2rgb(p,q,h+1/3)),Math.round(255*hue2rgb(p,q,h)),Math.round(255*hue2rgb(p,q,h-1/3)),a]},each(spaces,function(spaceName,space){var props=space.props,cache=space.cache,to=space.to,from=space.from;color.fn[spaceName]=function(value){if(to&&!this[cache]&&(this[cache]=to(this._rgba)),void 0===value)return this[cache].slice();var ret,type=jQuery.type(value),arr="array"===type||"object"===type?value:arguments,local=this[cache].slice();return each(props,function(key,prop){var val=arr["object"===type?key:prop.idx];null==val&&(val=local[prop.idx]),local[prop.idx]=clamp(val,prop)}),from?((ret=color(from(local)))[cache]=local,ret):color(local)},each(props,function(key,prop){color.fn[key]||(color.fn[key]=function(value){var match,vtype=jQuery.type(value),fn="alpha"===key?this._hsla?"hsla":"rgba":spaceName,local=this[fn](),cur=local[prop.idx];return"undefined"===vtype?cur:("function"===vtype&&(value=value.call(this,cur),vtype=jQuery.type(value)),null==value&&prop.empty?this:("string"===vtype&&(match=rplusequals.exec(value))&&(value=cur+parseFloat(match[2])*("+"===match[1]?1:-1)),local[prop.idx]=value,this[fn](local)))})})}),color.hook=function(hook){var hooks=hook.split(" ");each(hooks,function(i,hook){jQuery.cssHooks[hook]={set:function(elem,value){var parsed,curElem,backgroundColor="";if("transparent"!==value&&("string"!==jQuery.type(value)||(parsed=stringParse(value)))){if(value=color(parsed||value),!support.rgba&&1!==value._rgba[3]){for(curElem="backgroundColor"===hook?elem.parentNode:elem;(""===backgroundColor||"transparent"===backgroundColor)&&curElem&&curElem.style;)try{backgroundColor=jQuery.css(curElem,"backgroundColor"),curElem=curElem.parentNode}catch(e){}value=value.blend(backgroundColor&&"transparent"!==backgroundColor?backgroundColor:"_default")}value=value.toRgbaString()}try{elem.style[hook]=value}catch(e){}}},jQuery.fx.step[hook]=function(fx){fx.colorInit||(fx.start=color(fx.elem,hook),fx.end=color(fx.end),fx.colorInit=!0),jQuery.cssHooks[hook].set(fx.elem,fx.start.transition(fx.end,fx.pos))}})},color.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),jQuery.cssHooks.borderColor={expand:function(value){var expanded={};return each(["Top","Right","Bottom","Left"],function(i,part){expanded["border"+part+"Color"]=value}),expanded}},colors=jQuery.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){var orig,classAnimationActions=["add","remove","toggle"],shorthandStyles={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function getElementStyles(elem){var key,len,style=elem.ownerDocument.defaultView?elem.ownerDocument.defaultView.getComputedStyle(elem,null):elem.currentStyle,styles={};if(style&&style.length&&style[0]&&style[style[0]])for(len=style.length;len--;)"string"==typeof style[key=style[len]]&&(styles[$.camelCase(key)]=style[key]);else for(key in style)"string"==typeof style[key]&&(styles[key]=style[key]);return styles}$.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(_,prop){$.fx.step[prop]=function(fx){("none"!==fx.end&&!fx.setAttr||1===fx.pos&&!fx.setAttr)&&(jQuery.style(fx.elem,prop,fx.end),fx.setAttr=!0)}}),$.fn.addBack||($.fn.addBack=function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}),$.effects.animateClass=function(value,duration,easing,callback){var o=$.speed(duration,easing,callback);return this.queue(function(){var applyClassChange,animated=$(this),baseClass=animated.attr("class")||"",allAnimations=o.children?animated.find("*").addBack():animated;allAnimations=allAnimations.map(function(){return{el:$(this),start:getElementStyles(this)}}),(applyClassChange=function(){$.each(classAnimationActions,function(i,action){value[action]&&animated[action+"Class"](value[action])})})(),allAnimations=allAnimations.map(function(){return this.end=getElementStyles(this.el[0]),this.diff=function(oldStyle,newStyle){var name,value,diff={};for(name in newStyle)value=newStyle[name],oldStyle[name]!==value&&(shorthandStyles[name]||!$.fx.step[name]&&isNaN(parseFloat(value))||(diff[name]=value));return diff}(this.start,this.end),this}),animated.attr("class",baseClass),allAnimations=allAnimations.map(function(){var styleInfo=this,dfd=$.Deferred(),opts=$.extend({},o,{queue:!1,complete:function(){dfd.resolve(styleInfo)}});return this.el.animate(this.diff,opts),dfd.promise()}),$.when.apply($,allAnimations.get()).done(function(){applyClassChange(),$.each(arguments,function(){var el=this.el;$.each(this.diff,function(key){el.css(key,"")})}),o.complete.call(animated[0])})})},$.fn.extend({addClass:(orig=$.fn.addClass,function(classNames,speed,easing,callback){return speed?$.effects.animateClass.call(this,{add:classNames},speed,easing,callback):orig.apply(this,arguments)}),removeClass:function(orig){return function(classNames,speed,easing,callback){return arguments.length>1?$.effects.animateClass.call(this,{remove:classNames},speed,easing,callback):orig.apply(this,arguments)}}($.fn.removeClass),toggleClass:function(orig){return function(classNames,force,speed,easing,callback){return"boolean"==typeof force||void 0===force?speed?$.effects.animateClass.call(this,force?{add:classNames}:{remove:classNames},speed,easing,callback):orig.apply(this,arguments):$.effects.animateClass.call(this,{toggle:classNames},force,speed,easing)}}($.fn.toggleClass),switchClass:function(remove,add,speed,easing,callback){return $.effects.animateClass.call(this,{add:add,remove:remove},speed,easing,callback)}})}(),function(){var orig;function _normalizeArguments(effect,options,speed,callback){return $.isPlainObject(effect)&&(options=effect,effect=effect.effect),effect={effect:effect},null==options&&(options={}),$.isFunction(options)&&(callback=options,speed=null,options={}),("number"==typeof options||$.fx.speeds[options])&&(callback=speed,speed=options,options={}),$.isFunction(speed)&&(callback=speed,speed=null),options&&$.extend(effect,options),speed=speed||options.duration,effect.duration=$.fx.off?0:"number"==typeof speed?speed:speed in $.fx.speeds?$.fx.speeds[speed]:$.fx.speeds._default,effect.complete=callback||options.complete,effect}function standardAnimationOption(option){return!(option&&"number"!=typeof option&&!$.fx.speeds[option])||("string"==typeof option&&!$.effects.effect[option]||(!!$.isFunction(option)||"object"==typeof option&&!option.effect))}function parseClip(str,element){var outerWidth=element.outerWidth(),outerHeight=element.outerHeight(),values=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(str)||["",0,outerWidth,outerHeight,0];return{top:parseFloat(values[1])||0,right:"auto"===values[2]?outerWidth:parseFloat(values[2]),bottom:"auto"===values[3]?outerHeight:parseFloat(values[3]),left:parseFloat(values[4])||0}}$.expr&&$.expr.filters&&$.expr.filters.animated&&($.expr.filters.animated=(orig=$.expr.filters.animated,function(elem){return!!$(elem).data(dataSpaceAnimated)||orig(elem)})),!1!==$.uiBackCompat&&$.extend($.effects,{save:function(element,set){for(var i=0,length=set.length;i<length;i++)null!==set[i]&&element.data("ui-effects-"+set[i],element[0].style[set[i]])},restore:function(element,set){for(var val,i=0,length=set.length;i<length;i++)null!==set[i]&&(val=element.data("ui-effects-"+set[i]),element.css(set[i],val))},setMode:function(el,mode){return"toggle"===mode&&(mode=el.is(":hidden")?"show":"hide"),mode},createWrapper:function(element){if(element.parent().is(".ui-effects-wrapper"))return element.parent();var props={width:element.outerWidth(!0),height:element.outerHeight(!0),float:element.css("float")},wrapper=$("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),size={width:element.width(),height:element.height()},active=document.activeElement;try{active.id}catch(e){active=document.body}return element.wrap(wrapper),(element[0]===active||$.contains(element[0],active))&&$(active).trigger("focus"),wrapper=element.parent(),"static"===element.css("position")?(wrapper.css({position:"relative"}),element.css({position:"relative"})):($.extend(props,{position:element.css("position"),zIndex:element.css("z-index")}),$.each(["top","left","bottom","right"],function(i,pos){props[pos]=element.css(pos),isNaN(parseInt(props[pos],10))&&(props[pos]="auto")}),element.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),element.css(size),wrapper.css(props).show()},removeWrapper:function(element){var active=document.activeElement;return element.parent().is(".ui-effects-wrapper")&&(element.parent().replaceWith(element),(element[0]===active||$.contains(element[0],active))&&$(active).trigger("focus")),element}}),$.extend($.effects,{version:"1.12.1",define:function(name,mode,effect){return effect||(effect=mode,mode="effect"),$.effects.effect[name]=effect,$.effects.effect[name].mode=mode,effect},scaledDimensions:function(element,percent,direction){if(0===percent)return{height:0,width:0,outerHeight:0,outerWidth:0};var x="horizontal"!==direction?(percent||100)/100:1,y="vertical"!==direction?(percent||100)/100:1;return{height:element.height()*y,width:element.width()*x,outerHeight:element.outerHeight()*y,outerWidth:element.outerWidth()*x}},clipToBox:function(animation){return{width:animation.clip.right-animation.clip.left,height:animation.clip.bottom-animation.clip.top,left:animation.clip.left,top:animation.clip.top}},unshift:function(element,queueLength,count){var queue=element.queue();queueLength>1&&queue.splice.apply(queue,[1,0].concat(queue.splice(queueLength,count))),element.dequeue()},saveStyle:function(element){element.data("ui-effects-style",element[0].style.cssText)},restoreStyle:function(element){element[0].style.cssText=element.data("ui-effects-style")||"",element.removeData("ui-effects-style")},mode:function(element,mode){var hidden=element.is(":hidden");return"toggle"===mode&&(mode=hidden?"show":"hide"),(hidden?"hide"===mode:"show"===mode)&&(mode="none"),mode},getBaseline:function(origin,original){var y,x;switch(origin[0]){case"top":y=0;break;case"middle":y=.5;break;case"bottom":y=1;break;default:y=origin[0]/original.height}switch(origin[1]){case"left":x=0;break;case"center":x=.5;break;case"right":x=1;break;default:x=origin[1]/original.width}return{x:x,y:y}},createPlaceholder:function(element){var placeholder,cssPosition=element.css("position"),position=element.position();return element.css({marginTop:element.css("marginTop"),marginBottom:element.css("marginBottom"),marginLeft:element.css("marginLeft"),marginRight:element.css("marginRight")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight()),/^(static|relative)/.test(cssPosition)&&(cssPosition="absolute",placeholder=$("<"+element[0].nodeName+">").insertAfter(element).css({display:/^(inline|ruby)/.test(element.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:element.css("marginTop"),marginBottom:element.css("marginBottom"),marginLeft:element.css("marginLeft"),marginRight:element.css("marginRight"),float:element.css("float")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight()).addClass("ui-effects-placeholder"),element.data("ui-effects-placeholder",placeholder)),element.css({position:cssPosition,left:position.left,top:position.top}),placeholder},removePlaceholder:function(element){var dataKey="ui-effects-placeholder",placeholder=element.data(dataKey);placeholder&&(placeholder.remove(),element.removeData(dataKey))},cleanUp:function(element){$.effects.restoreStyle(element),$.effects.removePlaceholder(element)},setTransition:function(element,list,factor,value){return value=value||{},$.each(list,function(i,x){var unit=element.cssUnit(x);unit[0]>0&&(value[x]=unit[0]*factor+unit[1])}),value}}),$.fn.extend({effect:function(){var args=_normalizeArguments.apply(this,arguments),effectMethod=$.effects.effect[args.effect],defaultMode=effectMethod.mode,queue=args.queue,queueName=queue||"fx",complete=args.complete,mode=args.mode,modes=[],prefilter=function(next){var el=$(this),normalizedMode=$.effects.mode(el,mode)||defaultMode;el.data(dataSpaceAnimated,!0),modes.push(normalizedMode),defaultMode&&("show"===normalizedMode||normalizedMode===defaultMode&&"hide"===normalizedMode)&&el.show(),defaultMode&&"none"===normalizedMode||$.effects.saveStyle(el),$.isFunction(next)&&next()};if($.fx.off||!effectMethod)return mode?this[mode](args.duration,complete):this.each(function(){complete&&complete.call(this)});function run(next){var elem=$(this);function done(){$.isFunction(complete)&&complete.call(elem[0]),$.isFunction(next)&&next()}args.mode=modes.shift(),!1===$.uiBackCompat||defaultMode?"none"===args.mode?(elem[mode](),done()):effectMethod.call(elem[0],args,function(){elem.removeData(dataSpaceAnimated),$.effects.cleanUp(elem),"hide"===args.mode&&elem.hide(),done()}):(elem.is(":hidden")?"hide"===mode:"show"===mode)?(elem[mode](),done()):effectMethod.call(elem[0],args,done)}return!1===queue?this.each(prefilter).each(run):this.queue(queueName,prefilter).queue(queueName,run)},show:function(orig){return function(option){if(standardAnimationOption(option))return orig.apply(this,arguments);var args=_normalizeArguments.apply(this,arguments);return args.mode="show",this.effect.call(this,args)}}($.fn.show),hide:function(orig){return function(option){if(standardAnimationOption(option))return orig.apply(this,arguments);var args=_normalizeArguments.apply(this,arguments);return args.mode="hide",this.effect.call(this,args)}}($.fn.hide),toggle:function(orig){return function(option){if(standardAnimationOption(option)||"boolean"==typeof option)return orig.apply(this,arguments);var args=_normalizeArguments.apply(this,arguments);return args.mode="toggle",this.effect.call(this,args)}}($.fn.toggle),cssUnit:function(key){var style=this.css(key),val=[];return $.each(["em","px","%","pt"],function(i,unit){style.indexOf(unit)>0&&(val=[parseFloat(style),unit])}),val},cssClip:function(clipObj){return clipObj?this.css("clip","rect("+clipObj.top+"px "+clipObj.right+"px "+clipObj.bottom+"px "+clipObj.left+"px)"):parseClip(this.css("clip"),this)},transfer:function(options,done){var element=$(this),target=$(options.to),targetFixed="fixed"===target.css("position"),body=$("body"),fixTop=targetFixed?body.scrollTop():0,fixLeft=targetFixed?body.scrollLeft():0,endPosition=target.offset(),animation={top:endPosition.top-fixTop,left:endPosition.left-fixLeft,height:target.innerHeight(),width:target.innerWidth()},startPosition=element.offset(),transfer=$("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(options.className).css({top:startPosition.top-fixTop,left:startPosition.left-fixLeft,height:element.innerHeight(),width:element.innerWidth(),position:targetFixed?"fixed":"absolute"}).animate(animation,options.duration,options.easing,function(){transfer.remove(),$.isFunction(done)&&done()})}}),$.fx.step.clip=function(fx){fx.clipInit||(fx.start=$(fx.elem).cssClip(),"string"==typeof fx.end&&(fx.end=parseClip(fx.end,fx.elem)),fx.clipInit=!0),$(fx.elem).cssClip({top:fx.pos*(fx.end.top-fx.start.top)+fx.start.top,right:fx.pos*(fx.end.right-fx.start.right)+fx.start.right,bottom:fx.pos*(fx.end.bottom-fx.start.bottom)+fx.start.bottom,left:fx.pos*(fx.end.left-fx.start.left)+fx.start.left})}}(),baseEasings={},$.each(["Quad","Cubic","Quart","Quint","Expo"],function(i,name){baseEasings[name]=function(p){return Math.pow(p,i+2)}}),$.extend(baseEasings,{Sine:function(p){return 1-Math.cos(p*Math.PI/2)},Circ:function(p){return 1-Math.sqrt(1-p*p)},Elastic:function(p){return 0===p||1===p?p:-Math.pow(2,8*(p-1))*Math.sin((80*(p-1)-7.5)*Math.PI/15)},Back:function(p){return p*p*(3*p-2)},Bounce:function(p){for(var pow2,bounce=4;p<((pow2=Math.pow(2,--bounce))-1)/11;);return 1/Math.pow(4,3-bounce)-7.5625*Math.pow((3*pow2-2)/22-p,2)}}),$.each(baseEasings,function(name,easeIn){$.easing["easeIn"+name]=easeIn,$.easing["easeOut"+name]=function(p){return 1-easeIn(1-p)},$.easing["easeInOut"+name]=function(p){return p<.5?easeIn(2*p)/2:1-easeIn(-2*p+2)/2}});$.effects,$.effects.define("blind","hide",function(options,done){var map={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},element=$(this),direction=options.direction||"up",start=element.cssClip(),animate={clip:$.extend({},start)},placeholder=$.effects.createPlaceholder(element);animate.clip[map[direction][0]]=animate.clip[map[direction][1]],"show"===options.mode&&(element.cssClip(animate.clip),placeholder&&placeholder.css($.effects.clipToBox(animate)),animate.clip=start),placeholder&&placeholder.animate($.effects.clipToBox(animate),options.duration,options.easing),element.animate(animate,{queue:!1,duration:options.duration,easing:options.easing,complete:done})}),$.effects.define("bounce",function(options,done){var upAnim,downAnim,refValue,element=$(this),mode=options.mode,hide="hide"===mode,show="show"===mode,direction=options.direction||"up",distance=options.distance,times=options.times||5,anims=2*times+(show||hide?1:0),speed=options.duration/anims,easing=options.easing,ref="up"===direction||"down"===direction?"top":"left",motion="up"===direction||"left"===direction,i=0,queuelen=element.queue().length;for($.effects.createPlaceholder(element),refValue=element.css(ref),distance||(distance=element["top"===ref?"outerHeight":"outerWidth"]()/3),show&&((downAnim={opacity:1})[ref]=refValue,element.css("opacity",0).css(ref,motion?2*-distance:2*distance).animate(downAnim,speed,easing)),hide&&(distance/=Math.pow(2,times-1)),(downAnim={})[ref]=refValue;i<times;i++)(upAnim={})[ref]=(motion?"-=":"+=")+distance,element.animate(upAnim,speed,easing).animate(downAnim,speed,easing),distance=hide?2*distance:distance/2;hide&&((upAnim={opacity:0})[ref]=(motion?"-=":"+=")+distance,element.animate(upAnim,speed,easing)),element.queue(done),$.effects.unshift(element,queuelen,anims+1)}),$.effects.define("clip","hide",function(options,done){var start,animate={},element=$(this),direction=options.direction||"vertical",both="both"===direction,horizontal=both||"horizontal"===direction,vertical=both||"vertical"===direction;start=element.cssClip(),animate.clip={top:vertical?(start.bottom-start.top)/2:start.top,right:horizontal?(start.right-start.left)/2:start.right,bottom:vertical?(start.bottom-start.top)/2:start.bottom,left:horizontal?(start.right-start.left)/2:start.left},$.effects.createPlaceholder(element),"show"===options.mode&&(element.cssClip(animate.clip),animate.clip=start),element.animate(animate,{queue:!1,duration:options.duration,easing:options.easing,complete:done})}),$.effects.define("drop","hide",function(options,done){var distance,element=$(this),show="show"===options.mode,direction=options.direction||"left",ref="up"===direction||"down"===direction?"top":"left",motion="up"===direction||"left"===direction?"-=":"+=",oppositeMotion="+="===motion?"-=":"+=",animation={opacity:0};$.effects.createPlaceholder(element),distance=options.distance||element["top"===ref?"outerHeight":"outerWidth"](!0)/2,animation[ref]=motion+distance,show&&(element.css(animation),animation[ref]=oppositeMotion+distance,animation.opacity=1),element.animate(animation,{queue:!1,duration:options.duration,easing:options.easing,complete:done})}),$.effects.define("explode","hide",function(options,done){var i,j,left,top,mx,my,rows=options.pieces?Math.round(Math.sqrt(options.pieces)):3,cells=rows,element=$(this),show="show"===options.mode,offset=element.show().css("visibility","hidden").offset(),width=Math.ceil(element.outerWidth()/cells),height=Math.ceil(element.outerHeight()/rows),pieces=[];function childComplete(){pieces.push(this),pieces.length===rows*cells&&(element.css({visibility:"visible"}),$(pieces).remove(),done())}for(i=0;i<rows;i++)for(top=offset.top+i*height,my=i-(rows-1)/2,j=0;j<cells;j++)left=offset.left+j*width,mx=j-(cells-1)/2,element.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*width,top:-i*height}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:width,height:height,left:left+(show?mx*width:0),top:top+(show?my*height:0),opacity:show?0:1}).animate({left:left+(show?0:mx*width),top:top+(show?0:my*height),opacity:show?1:0},options.duration||500,options.easing,childComplete)}),$.effects.define("fade","toggle",function(options,done){var show="show"===options.mode;$(this).css("opacity",show?0:1).animate({opacity:show?1:0},{queue:!1,duration:options.duration,easing:options.easing,complete:done})}),$.effects.define("fold","hide",function(options,done){var element=$(this),mode=options.mode,show="show"===mode,hide="hide"===mode,size=options.size||15,percent=/([0-9]+)%/.exec(size),ref=!!options.horizFirst?["right","bottom"]:["bottom","right"],duration=options.duration/2,placeholder=$.effects.createPlaceholder(element),start=element.cssClip(),animation1={clip:$.extend({},start)},animation2={clip:$.extend({},start)},distance=[start[ref[0]],start[ref[1]]],queuelen=element.queue().length;percent&&(size=parseInt(percent[1],10)/100*distance[hide?0:1]),animation1.clip[ref[0]]=size,animation2.clip[ref[0]]=size,animation2.clip[ref[1]]=0,show&&(element.cssClip(animation2.clip),placeholder&&placeholder.css($.effects.clipToBox(animation2)),animation2.clip=start),element.queue(function(next){placeholder&&placeholder.animate($.effects.clipToBox(animation1),duration,options.easing).animate($.effects.clipToBox(animation2),duration,options.easing),next()}).animate(animation1,duration,options.easing).animate(animation2,duration,options.easing).queue(done),$.effects.unshift(element,queuelen,4)}),$.effects.define("highlight","show",function(options,done){var element=$(this),animation={backgroundColor:element.css("backgroundColor")};"hide"===options.mode&&(animation.opacity=0),$.effects.saveStyle(element),element.css({backgroundImage:"none",backgroundColor:options.color||"#ffff99"}).animate(animation,{queue:!1,duration:options.duration,easing:options.easing,complete:done})}),$.effects.define("size",function(options,done){var baseline,factor,temp,element=$(this),cProps=["fontSize"],vProps=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],hProps=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],mode=options.mode,restore="effect"!==mode,scale=options.scale||"both",origin=options.origin||["middle","center"],position=element.css("position"),pos=element.position(),original=$.effects.scaledDimensions(element),from=options.from||original,to=options.to||$.effects.scaledDimensions(element,0);$.effects.createPlaceholder(element),"show"===mode&&(temp=from,from=to,to=temp),factor={from:{y:from.height/original.height,x:from.width/original.width},to:{y:to.height/original.height,x:to.width/original.width}},"box"!==scale&&"both"!==scale||(factor.from.y!==factor.to.y&&(from=$.effects.setTransition(element,vProps,factor.from.y,from),to=$.effects.setTransition(element,vProps,factor.to.y,to)),factor.from.x!==factor.to.x&&(from=$.effects.setTransition(element,hProps,factor.from.x,from),to=$.effects.setTransition(element,hProps,factor.to.x,to))),"content"!==scale&&"both"!==scale||factor.from.y!==factor.to.y&&(from=$.effects.setTransition(element,cProps,factor.from.y,from),to=$.effects.setTransition(element,cProps,factor.to.y,to)),origin&&(baseline=$.effects.getBaseline(origin,original),from.top=(original.outerHeight-from.outerHeight)*baseline.y+pos.top,from.left=(original.outerWidth-from.outerWidth)*baseline.x+pos.left,to.top=(original.outerHeight-to.outerHeight)*baseline.y+pos.top,to.left=(original.outerWidth-to.outerWidth)*baseline.x+pos.left),element.css(from),"content"!==scale&&"both"!==scale||(vProps=vProps.concat(["marginTop","marginBottom"]).concat(cProps),hProps=hProps.concat(["marginLeft","marginRight"]),element.find("*[width]").each(function(){var child=$(this),childOriginal=$.effects.scaledDimensions(child),childFrom={height:childOriginal.height*factor.from.y,width:childOriginal.width*factor.from.x,outerHeight:childOriginal.outerHeight*factor.from.y,outerWidth:childOriginal.outerWidth*factor.from.x},childTo={height:childOriginal.height*factor.to.y,width:childOriginal.width*factor.to.x,outerHeight:childOriginal.height*factor.to.y,outerWidth:childOriginal.width*factor.to.x};factor.from.y!==factor.to.y&&(childFrom=$.effects.setTransition(child,vProps,factor.from.y,childFrom),childTo=$.effects.setTransition(child,vProps,factor.to.y,childTo)),factor.from.x!==factor.to.x&&(childFrom=$.effects.setTransition(child,hProps,factor.from.x,childFrom),childTo=$.effects.setTransition(child,hProps,factor.to.x,childTo)),restore&&$.effects.saveStyle(child),child.css(childFrom),child.animate(childTo,options.duration,options.easing,function(){restore&&$.effects.restoreStyle(child)})})),element.animate(to,{queue:!1,duration:options.duration,easing:options.easing,complete:function(){var offset=element.offset();0===to.opacity&&element.css("opacity",from.opacity),restore||(element.css("position","static"===position?"relative":position).offset(offset),$.effects.saveStyle(element)),done()}})}),$.effects.define("scale",function(options,done){var el=$(this),mode=options.mode,percent=parseInt(options.percent,10)||(0===parseInt(options.percent,10)?0:"effect"!==mode?0:100),newOptions=$.extend(!0,{from:$.effects.scaledDimensions(el),to:$.effects.scaledDimensions(el,percent,options.direction||"both"),origin:options.origin||["middle","center"]},options);options.fade&&(newOptions.from.opacity=1,newOptions.to.opacity=0),$.effects.effect.size.call(this,newOptions,done)}),$.effects.define("puff","hide",function(options,done){var newOptions=$.extend(!0,{},options,{fade:!0,percent:parseInt(options.percent,10)||150});$.effects.effect.scale.call(this,newOptions,done)}),$.effects.define("pulsate","show",function(options,done){var element=$(this),mode=options.mode,show="show"===mode,showhide=show||"hide"===mode,anims=2*(options.times||5)+(showhide?1:0),duration=options.duration/anims,animateTo=0,i=1,queuelen=element.queue().length;for(!show&&element.is(":visible")||(element.css("opacity",0).show(),animateTo=1);i<anims;i++)element.animate({opacity:animateTo},duration,options.easing),animateTo=1-animateTo;element.animate({opacity:animateTo},duration,options.easing),element.queue(done),$.effects.unshift(element,queuelen,anims+1)}),$.effects.define("shake",function(options,done){var i=1,element=$(this),direction=options.direction||"left",distance=options.distance||20,times=options.times||3,anims=2*times+1,speed=Math.round(options.duration/anims),ref="up"===direction||"down"===direction?"top":"left",positiveMotion="up"===direction||"left"===direction,animation={},animation1={},animation2={},queuelen=element.queue().length;for($.effects.createPlaceholder(element),animation[ref]=(positiveMotion?"-=":"+=")+distance,animation1[ref]=(positiveMotion?"+=":"-=")+2*distance,animation2[ref]=(positiveMotion?"-=":"+=")+2*distance,element.animate(animation,speed,options.easing);i<times;i++)element.animate(animation1,speed,options.easing).animate(animation2,speed,options.easing);element.animate(animation1,speed,options.easing).animate(animation,speed/2,options.easing).queue(done),$.effects.unshift(element,queuelen,anims+1)}),$.effects.define("slide","show",function(options,done){var startClip,startRef,element=$(this),map={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},mode=options.mode,direction=options.direction||"left",ref="up"===direction||"down"===direction?"top":"left",positiveMotion="up"===direction||"left"===direction,distance=options.distance||element["top"===ref?"outerHeight":"outerWidth"](!0),animation={};$.effects.createPlaceholder(element),startClip=element.cssClip(),startRef=element.position()[ref],animation[ref]=(positiveMotion?-1:1)*distance+startRef,animation.clip=element.cssClip(),animation.clip[map[direction][1]]=animation.clip[map[direction][0]],"show"===mode&&(element.cssClip(animation.clip),element.css(ref,animation[ref]),animation.clip=startClip,animation[ref]=startRef),element.animate(animation,{queue:!1,duration:options.duration,easing:options.easing,complete:done})});!1!==$.uiBackCompat&&$.effects.define("transfer",function(options,done){$(this).transfer(options,done)});$.ui.focusable=function(element,hasTabindex){var map,mapName,img,focusableIfVisible,fieldset,nodeName=element.nodeName.toLowerCase();return"area"===nodeName?(mapName=(map=element.parentNode).name,!(!element.href||!mapName||"map"!==map.nodeName.toLowerCase())&&((img=$("img[usemap='#"+mapName+"']")).length>0&&img.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(nodeName)?(focusableIfVisible=!element.disabled)&&(fieldset=$(element).closest("fieldset")[0])&&(focusableIfVisible=!fieldset.disabled):focusableIfVisible="a"===nodeName&&element.href||hasTabindex,focusableIfVisible&&$(element).is(":visible")&&function(element){var visibility=element.css("visibility");for(;"inherit"===visibility;)element=element.parent(),visibility=element.css("visibility");return"hidden"!==visibility}($(element)))},$.extend($.expr[":"],{focusable:function(element){return $.ui.focusable(element,null!=$.attr(element,"tabindex"))}});$.ui.focusable,$.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):$(this[0].form)},$.ui.formResetMixin={_formResetHandler:function(){var form=$(this);setTimeout(function(){var instances=form.data("ui-form-reset-instances");$.each(instances,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var instances=this.form.data("ui-form-reset-instances")||[];instances.length||this.form.on("reset.ui-form-reset",this._formResetHandler),instances.push(this),this.form.data("ui-form-reset-instances",instances)}},_unbindFormResetHandler:function(){if(this.form.length){var instances=this.form.data("ui-form-reset-instances");instances.splice($.inArray(this,instances),1),instances.length?this.form.data("ui-form-reset-instances",instances):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}};"1.7"===$.fn.jquery.substring(0,3)&&($.each(["Width","Height"],function(i,name){var side="Width"===name?["Left","Right"]:["Top","Bottom"],type=name.toLowerCase(),orig={innerWidth:$.fn.innerWidth,innerHeight:$.fn.innerHeight,outerWidth:$.fn.outerWidth,outerHeight:$.fn.outerHeight};function reduce(elem,size,border,margin){return $.each(side,function(){size-=parseFloat($.css(elem,"padding"+this))||0,border&&(size-=parseFloat($.css(elem,"border"+this+"Width"))||0),margin&&(size-=parseFloat($.css(elem,"margin"+this))||0)}),size}$.fn["inner"+name]=function(size){return void 0===size?orig["inner"+name].call(this):this.each(function(){$(this).css(type,reduce(this,size)+"px")})},$.fn["outer"+name]=function(size,margin){return"number"!=typeof size?orig["outer"+name].call(this,size):this.each(function(){$(this).css(type,reduce(this,size,!0,margin)+"px")})}}),$.fn.addBack=function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))});var selectorEscape,uuid;$.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},$.ui.escapeSelector=(selectorEscape=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g,function(selector){return selector.replace(selectorEscape,"\\$1")}),$.fn.labels=function(){var ancestor,selector,id,labels,ancestors;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(labels=this.eq(0).parents("label"),(id=this.attr("id"))&&(ancestors=(ancestor=this.eq(0).parents().last()).add(ancestor.length?ancestor.siblings():this.siblings()),selector="label[for='"+$.ui.escapeSelector(id)+"']",labels=labels.add(ancestors.find(selector).addBack(selector))),this.pushStack(labels))},$.fn.scrollParent=function(includeHidden){var position=this.css("position"),excludeStaticParent="absolute"===position,overflowRegex=includeHidden?/(auto|scroll|hidden)/:/(auto|scroll)/,scrollParent=this.parents().filter(function(){var parent=$(this);return(!excludeStaticParent||"static"!==parent.css("position"))&&overflowRegex.test(parent.css("overflow")+parent.css("overflow-y")+parent.css("overflow-x"))}).eq(0);return"fixed"!==position&&scrollParent.length?scrollParent:$(this[0].ownerDocument||document)},$.extend($.expr[":"],{tabbable:function(element){var tabIndex=$.attr(element,"tabindex"),hasTabindex=null!=tabIndex;return(!hasTabindex||tabIndex>=0)&&$.ui.focusable(element,hasTabindex)}}),$.fn.extend({uniqueId:(uuid=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++uuid)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&$(this).removeAttr("id")})}}),$.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var options=this.options;this.prevShow=this.prevHide=$(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),options.collapsible||!1!==options.active&&null!=options.active||(options.active=0),this._processPanels(),options.active<0&&(options.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():$()}},_createIcons:function(){var icon,children,icons=this.options.icons;icons&&(icon=$("<span>"),this._addClass(icon,"ui-accordion-header-icon","ui-icon "+icons.header),icon.prependTo(this.headers),children=this.active.children(".ui-accordion-header-icon"),this._removeClass(children,icons.header)._addClass(children,null,icons.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var contents;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),contents=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&contents.css("height","")},_setOption:function(key,value){"active"!==key?("event"===key&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(value)),this._super(key,value),"collapsible"!==key||value||!1!==this.options.active||this._activate(0),"icons"===key&&(this._destroyIcons(),value&&this._createIcons())):this._activate(value)},_setOptionDisabled:function(value){this._super(value),this.element.attr("aria-disabled",value),this._toggleClass(null,"ui-state-disabled",!!value),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!value)},_keydown:function(event){if(!event.altKey&&!event.ctrlKey){var keyCode=$.ui.keyCode,length=this.headers.length,currentIndex=this.headers.index(event.target),toFocus=!1;switch(event.keyCode){case keyCode.RIGHT:case keyCode.DOWN:toFocus=this.headers[(currentIndex+1)%length];break;case keyCode.LEFT:case keyCode.UP:toFocus=this.headers[(currentIndex-1+length)%length];break;case keyCode.SPACE:case keyCode.ENTER:this._eventHandler(event);break;case keyCode.HOME:toFocus=this.headers[0];break;case keyCode.END:toFocus=this.headers[length-1]}toFocus&&($(event.target).attr("tabIndex",-1),$(toFocus).attr("tabIndex",0),$(toFocus).trigger("focus"),event.preventDefault())}},_panelKeyDown:function(event){event.keyCode===$.ui.keyCode.UP&&event.ctrlKey&&$(event.currentTarget).prev().trigger("focus")},refresh:function(){var options=this.options;this._processPanels(),!1===options.active&&!0===options.collapsible||!this.headers.length?(options.active=!1,this.active=$()):!1===options.active?this._activate(0):this.active.length&&!$.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(options.active=!1,this.active=$()):this._activate(Math.max(0,options.active-1)):options.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var prevHeaders=this.headers,prevPanels=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),prevPanels&&(this._off(prevHeaders.not(this.headers)),this._off(prevPanels.not(this.panels)))},_refresh:function(){var maxHeight,options=this.options,heightStyle=options.heightStyle,parent=this.element.parent();this.active=this._findActive(options.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var header=$(this),headerId=header.uniqueId().attr("id"),panel=header.next(),panelId=panel.uniqueId().attr("id");header.attr("aria-controls",panelId),panel.attr("aria-labelledby",headerId)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(options.event),"fill"===heightStyle?(maxHeight=parent.height(),this.element.siblings(":visible").each(function(){var elem=$(this),position=elem.css("position");"absolute"!==position&&"fixed"!==position&&(maxHeight-=elem.outerHeight(!0))}),this.headers.each(function(){maxHeight-=$(this).outerHeight(!0)}),this.headers.next().each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()))}).css("overflow","auto")):"auto"===heightStyle&&(maxHeight=0,this.headers.next().each(function(){var isVisible=$(this).is(":visible");isVisible||$(this).show(),maxHeight=Math.max(maxHeight,$(this).css("height","").height()),isVisible||$(this).hide()}).height(maxHeight))},_activate:function(index){var active=this._findActive(index)[0];active!==this.active[0]&&(active=active||this.active[0],this._eventHandler({target:active,currentTarget:active,preventDefault:$.noop}))},_findActive:function(selector){return"number"==typeof selector?this.headers.eq(selector):$()},_setupEvents:function(event){var events={keydown:"_keydown"};event&&$.each(event.split(" "),function(index,eventName){events[eventName]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,events),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(event){var activeChildren,clickedChildren,options=this.options,active=this.active,clicked=$(event.currentTarget),clickedIsActive=clicked[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():clicked.next(),eventData={oldHeader:active,oldPanel:active.next(),newHeader:collapsing?$():clicked,newPanel:toShow};event.preventDefault(),clickedIsActive&&!options.collapsible||!1===this._trigger("beforeActivate",event,eventData)||(options.active=!collapsing&&this.headers.index(clicked),this.active=clickedIsActive?$():clicked,this._toggle(eventData),this._removeClass(active,"ui-accordion-header-active","ui-state-active"),options.icons&&(activeChildren=active.children(".ui-accordion-header-icon"),this._removeClass(activeChildren,null,options.icons.activeHeader)._addClass(activeChildren,null,options.icons.header)),clickedIsActive||(this._removeClass(clicked,"ui-accordion-header-collapsed")._addClass(clicked,"ui-accordion-header-active","ui-state-active"),options.icons&&(clickedChildren=clicked.children(".ui-accordion-header-icon"),this._removeClass(clickedChildren,null,options.icons.header)._addClass(clickedChildren,null,options.icons.activeHeader)),this._addClass(clicked.next(),"ui-accordion-content-active")))},_toggle:function(data){var toShow=data.newPanel,toHide=this.prevShow.length?this.prevShow:data.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=toShow,this.prevHide=toHide,this.options.animate?this._animate(toShow,toHide,data):(toHide.hide(),toShow.show(),this._toggleComplete(data)),toHide.attr({"aria-hidden":"true"}),toHide.prev().attr({"aria-selected":"false","aria-expanded":"false"}),toShow.length&&toHide.length?toHide.prev().attr({tabIndex:-1,"aria-expanded":"false"}):toShow.length&&this.headers.filter(function(){return 0===parseInt($(this).attr("tabIndex"),10)}).attr("tabIndex",-1),toShow.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(toShow,toHide,data){var total,easing,duration,that=this,adjust=0,boxSizing=toShow.css("box-sizing"),down=toShow.length&&(!toHide.length||toShow.index()<toHide.index()),animate=this.options.animate||{},options=down&&animate.down||animate,complete=function(){that._toggleComplete(data)};return"number"==typeof options&&(duration=options),"string"==typeof options&&(easing=options),easing=easing||options.easing||animate.easing,duration=duration||options.duration||animate.duration,toHide.length?toShow.length?(total=toShow.show().outerHeight(),toHide.animate(this.hideProps,{duration:duration,easing:easing,step:function(now,fx){fx.now=Math.round(now)}}),void toShow.hide().animate(this.showProps,{duration:duration,easing:easing,complete:complete,step:function(now,fx){fx.now=Math.round(now),"height"!==fx.prop?"content-box"===boxSizing&&(adjust+=fx.now):"content"!==that.options.heightStyle&&(fx.now=Math.round(total-toHide.outerHeight()-adjust),adjust=0)}})):toHide.animate(this.hideProps,duration,easing,complete):toShow.animate(this.showProps,duration,easing,complete)},_toggleComplete:function(data){var toHide=data.oldPanel,prev=toHide.prev();this._removeClass(toHide,"ui-accordion-content-active"),this._removeClass(prev,"ui-accordion-header-active")._addClass(prev,"ui-accordion-header-collapsed"),toHide.length&&(toHide.parent()[0].className=toHide.parent()[0].className),this._trigger("activate",null,data)}}),$.ui.safeActiveElement=function(document){var activeElement;try{activeElement=document.activeElement}catch(error){activeElement=document.body}return activeElement||(activeElement=document.body),activeElement.nodeName||(activeElement=document.body),activeElement},$.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(event){event.preventDefault()},"click .ui-menu-item":function(event){var target=$(event.target),active=$($.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&target.not(".ui-state-disabled").length&&(this.select(event),event.isPropagationStopped()||(this.mouseHandled=!0),target.has(".ui-menu").length?this.expand(event):!this.element.is(":focus")&&active.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(event){if(!this.previousFilter){var actualTarget=$(event.target).closest(".ui-menu-item"),target=$(event.currentTarget);actualTarget[0]===target[0]&&(this._removeClass(target.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(event,target))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(event,keepActiveItem){var item=this.active||this.element.find(this.options.items).eq(0);keepActiveItem||this.focus(event,item)},blur:function(event){this._delay(function(){!$.contains(this.element[0],$.ui.safeActiveElement(this.document[0]))&&this.collapseAll(event)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(event){this._closeOnDocumentClick(event)&&this.collapseAll(event),this.mouseHandled=!1}})},_destroy:function(){var submenus=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),submenus.children().each(function(){var elem=$(this);elem.data("ui-menu-submenu-caret")&&elem.remove()})},_keydown:function(event){var match,prev,character,skip,preventDefault=!0;switch(event.keyCode){case $.ui.keyCode.PAGE_UP:this.previousPage(event);break;case $.ui.keyCode.PAGE_DOWN:this.nextPage(event);break;case $.ui.keyCode.HOME:this._move("first","first",event);break;case $.ui.keyCode.END:this._move("last","last",event);break;case $.ui.keyCode.UP:this.previous(event);break;case $.ui.keyCode.DOWN:this.next(event);break;case $.ui.keyCode.LEFT:this.collapse(event);break;case $.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(event);break;case $.ui.keyCode.ENTER:case $.ui.keyCode.SPACE:this._activate(event);break;case $.ui.keyCode.ESCAPE:this.collapse(event);break;default:preventDefault=!1,prev=this.previousFilter||"",skip=!1,character=event.keyCode>=96&&event.keyCode<=105?(event.keyCode-96).toString():String.fromCharCode(event.keyCode),clearTimeout(this.filterTimer),character===prev?skip=!0:character=prev+character,match=this._filterMenuItems(character),(match=skip&&-1!==match.index(this.active.next())?this.active.nextAll(".ui-menu-item"):match).length||(character=String.fromCharCode(event.keyCode),match=this._filterMenuItems(character)),match.length?(this.focus(event,match),this.previousFilter=character,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}preventDefault&&event.preventDefault()},_activate:function(event){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(event):this.select(event))},refresh:function(){var items,newSubmenus,newItems,newWrappers,that=this,icon=this.options.icons.submenu,submenus=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),newSubmenus=submenus.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var menu=$(this),item=menu.prev(),submenuCaret=$("<span>").data("ui-menu-submenu-caret",!0);that._addClass(submenuCaret,"ui-menu-icon","ui-icon "+icon),item.attr("aria-haspopup","true").prepend(submenuCaret),menu.attr("aria-labelledby",item.attr("id"))}),this._addClass(newSubmenus,"ui-menu","ui-widget ui-widget-content ui-front"),(items=submenus.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var item=$(this);that._isDivider(item)&&that._addClass(item,"ui-menu-divider","ui-widget-content")}),newWrappers=(newItems=items.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(newItems,"ui-menu-item")._addClass(newWrappers,"ui-menu-item-wrapper"),items.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!$.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(key,value){if("icons"===key){var icons=this.element.find(".ui-menu-icon");this._removeClass(icons,null,this.options.icons.submenu)._addClass(icons,null,value.submenu)}this._super(key,value)},_setOptionDisabled:function(value){this._super(value),this.element.attr("aria-disabled",String(value)),this._toggleClass(null,"ui-state-disabled",!!value)},focus:function(event,item){var nested,focused,activeParent;this.blur(event,event&&"focus"===event.type),this._scrollIntoView(item),this.active=item.first(),focused=this.active.children(".ui-menu-item-wrapper"),this._addClass(focused,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",focused.attr("id")),activeParent=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(activeParent,null,"ui-state-active"),event&&"keydown"===event.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(nested=item.children(".ui-menu")).length&&event&&/^mouse/.test(event.type)&&this._startOpening(nested),this.activeMenu=item.parent(),this._trigger("focus",event,{item:item})},_scrollIntoView:function(item){var borderTop,paddingTop,offset,scroll,elementHeight,itemHeight;this._hasScroll()&&(borderTop=parseFloat($.css(this.activeMenu[0],"borderTopWidth"))||0,paddingTop=parseFloat($.css(this.activeMenu[0],"paddingTop"))||0,offset=item.offset().top-this.activeMenu.offset().top-borderTop-paddingTop,scroll=this.activeMenu.scrollTop(),elementHeight=this.activeMenu.height(),itemHeight=item.outerHeight(),offset<0?this.activeMenu.scrollTop(scroll+offset):offset+itemHeight>elementHeight&&this.activeMenu.scrollTop(scroll+offset-elementHeight+itemHeight))},blur:function(event,fromFocus){fromFocus||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",event,{item:this.active}),this.active=null)},_startOpening:function(submenu){clearTimeout(this.timer),"true"===submenu.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(submenu)},this.delay))},_open:function(submenu){var position=$.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(submenu.parents(".ui-menu")).hide().attr("aria-hidden","true"),submenu.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(position)},collapseAll:function(event,all){clearTimeout(this.timer),this.timer=this._delay(function(){var currentMenu=all?this.element:$(event&&event.target).closest(this.element.find(".ui-menu"));currentMenu.length||(currentMenu=this.element),this._close(currentMenu),this.blur(event),this._removeClass(currentMenu.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=currentMenu},this.delay)},_close:function(startMenu){startMenu||(startMenu=this.active?this.active.parent():this.element),startMenu.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(event){return!$(event.target).closest(".ui-menu").length},_isDivider:function(item){return!/[^\-\u2014\u2013\s]/.test(item.text())},collapse:function(event){var newItem=this.active&&this.active.parent().closest(".ui-menu-item",this.element);newItem&&newItem.length&&(this._close(),this.focus(event,newItem))},expand:function(event){var newItem=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();newItem&&newItem.length&&(this._open(newItem.parent()),this._delay(function(){this.focus(event,newItem)}))},next:function(event){this._move("next","first",event)},previous:function(event){this._move("prev","last",event)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(direction,filter,event){var next;this.active&&(next="first"===direction||"last"===direction?this.active["first"===direction?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[direction+"All"](".ui-menu-item").eq(0)),next&&next.length&&this.active||(next=this.activeMenu.find(this.options.items)[filter]()),this.focus(event,next)},nextPage:function(event){var item,base,height;this.active?this.isLastItem()||(this._hasScroll()?(base=this.active.offset().top,height=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(item=$(this)).offset().top-base-height<0}),this.focus(event,item)):this.focus(event,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(event)},previousPage:function(event){var item,base,height;this.active?this.isFirstItem()||(this._hasScroll()?(base=this.active.offset().top,height=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(item=$(this)).offset().top-base+height>0}),this.focus(event,item)):this.focus(event,this.activeMenu.find(this.options.items).first())):this.next(event)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(event){this.active=this.active||$(event.target).closest(".ui-menu-item");var ui={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(event,!0),this._trigger("select",event,ui)},_filterMenuItems:function(character){var escapedCharacter=character.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),regex=new RegExp("^"+escapedCharacter,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return regex.test($.trim($(this).children(".ui-menu-item-wrapper").text()))})}});$.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var suppressKeyPress,suppressKeyPressRepeat,suppressInput,nodeName=this.element[0].nodeName.toLowerCase(),isTextarea="textarea"===nodeName,isInput="input"===nodeName;this.isMultiLine=isTextarea||!isInput&&this._isContentEditable(this.element),this.valueMethod=this.element[isTextarea||isInput?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(event){if(this.element.prop("readOnly"))return suppressKeyPress=!0,suppressInput=!0,void(suppressKeyPressRepeat=!0);suppressKeyPress=!1,suppressInput=!1,suppressKeyPressRepeat=!1;var keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.PAGE_UP:suppressKeyPress=!0,this._move("previousPage",event);break;case keyCode.PAGE_DOWN:suppressKeyPress=!0,this._move("nextPage",event);break;case keyCode.UP:suppressKeyPress=!0,this._keyEvent("previous",event);break;case keyCode.DOWN:suppressKeyPress=!0,this._keyEvent("next",event);break;case keyCode.ENTER:this.menu.active&&(suppressKeyPress=!0,event.preventDefault(),this.menu.select(event));break;case keyCode.TAB:this.menu.active&&this.menu.select(event);break;case keyCode.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(event),event.preventDefault());break;default:suppressKeyPressRepeat=!0,this._searchTimeout(event)}},keypress:function(event){if(suppressKeyPress)return suppressKeyPress=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||event.preventDefault());if(!suppressKeyPressRepeat){var keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.PAGE_UP:this._move("previousPage",event);break;case keyCode.PAGE_DOWN:this._move("nextPage",event);break;case keyCode.UP:this._keyEvent("previous",event);break;case keyCode.DOWN:this._keyEvent("next",event)}}},input:function(event){if(suppressInput)return suppressInput=!1,void event.preventDefault();this._searchTimeout(event)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(event){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(event),this._change(event))}}),this._initSource(),this.menu=$("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(event){event.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==$.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(event,ui){var label,item;if(this.isNewMenu&&(this.isNewMenu=!1,event.originalEvent&&/^mouse/.test(event.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){$(event.target).trigger(event.originalEvent)});item=ui.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",event,{item:item})&&event.originalEvent&&/^key/.test(event.originalEvent.type)&&this._value(item.value),(label=ui.item.attr("aria-label")||item.value)&&$.trim(label).length&&(this.liveRegion.children().hide(),$("<div>").text(label).appendTo(this.liveRegion))},menuselect:function(event,ui){var item=ui.item.data("ui-autocomplete-item"),previous=this.previous;this.element[0]!==$.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=previous,this._delay(function(){this.previous=previous,this.selectedItem=item})),!1!==this._trigger("select",event,{item:item})&&this._value(item.value),this.term=this._value(),this.close(event),this.selectedItem=item}}),this.liveRegion=$("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(key,value){this._super(key,value),"source"===key&&this._initSource(),"appendTo"===key&&this.menu.element.appendTo(this._appendTo()),"disabled"===key&&value&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(event){var menuElement=this.menu.element[0];return event.target===this.element[0]||event.target===menuElement||$.contains(menuElement,event.target)},_closeOnClickOutside:function(event){this._isEventTargetInWidget(event)||this.close()},_appendTo:function(){var element=this.options.appendTo;return element&&(element=element.jquery||element.nodeType?$(element):this.document.find(element).eq(0)),element&&element[0]||(element=this.element.closest(".ui-front, dialog")),element.length||(element=this.document[0].body),element},_initSource:function(){var array,url,that=this;$.isArray(this.options.source)?(array=this.options.source,this.source=function(request,response){response($.ui.autocomplete.filter(array,request.term))}):"string"==typeof this.options.source?(url=this.options.source,this.source=function(request,response){that.xhr&&that.xhr.abort(),that.xhr=$.ajax({url:url,data:request,dataType:"json",success:function(data){response(data)},error:function(){response([])}})}):this.source=this.options.source},_searchTimeout:function(event){clearTimeout(this.searching),this.searching=this._delay(function(){var equalValues=this.term===this._value(),menuVisible=this.menu.element.is(":visible"),modifierKey=event.altKey||event.ctrlKey||event.metaKey||event.shiftKey;equalValues&&(!equalValues||menuVisible||modifierKey)||(this.selectedItem=null,this.search(null,event))},this.options.delay)},search:function(value,event){return value=null!=value?value:this._value(),this.term=this._value(),value.length<this.options.minLength?this.close(event):!1!==this._trigger("search",event)?this._search(value):void 0},_search:function(value){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:value},this._response())},_response:function(){var index=++this.requestIndex;return $.proxy(function(content){index===this.requestIndex&&this.__response(content),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(content){content&&(content=this._normalize(content)),this._trigger("response",null,{content:content}),!this.options.disabled&&content&&content.length&&!this.cancelSearch?(this._suggest(content),this._trigger("open")):this._close()},close:function(event){this.cancelSearch=!0,this._close(event)},_close:function(event){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",event))},_change:function(event){this.previous!==this._value()&&this._trigger("change",event,{item:this.selectedItem})},_normalize:function(items){return items.length&&items[0].label&&items[0].value?items:$.map(items,function(item){return"string"==typeof item?{label:item,value:item}:$.extend({},item,{label:item.label||item.value,value:item.value||item.label})})},_suggest:function(items){var ul=this.menu.element.empty();this._renderMenu(ul,items),this.isNewMenu=!0,this.menu.refresh(),ul.show(),this._resizeMenu(),ul.position($.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var ul=this.menu.element;ul.outerWidth(Math.max(ul.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(ul,items){var that=this;$.each(items,function(index,item){that._renderItemData(ul,item)})},_renderItemData:function(ul,item){return this._renderItem(ul,item).data("ui-autocomplete-item",item)},_renderItem:function(ul,item){return $("<li>").append($("<div>").text(item.label)).appendTo(ul)},_move:function(direction,event){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(direction)||this.menu.isLastItem()&&/^next/.test(direction)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[direction](event);this.search(null,event)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(keyEvent,event){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(keyEvent,event),event.preventDefault())},_isContentEditable:function(element){if(!element.length)return!1;var editable=element.prop("contentEditable");return"inherit"===editable?this._isContentEditable(element.parent()):"true"===editable}}),$.extend($.ui.autocomplete,{escapeRegex:function(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(array,term){var matcher=new RegExp($.ui.autocomplete.escapeRegex(term),"i");return $.grep(array,function(value){return matcher.test(value.label||value.value||value)})}}),$.widget("ui.autocomplete",$.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(amount){return amount+(amount>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(content){var message;this._superApply(arguments),this.options.disabled||this.cancelSearch||(message=content&&content.length?this.options.messages.results(content.length):this.options.messages.noResults,this.liveRegion.children().hide(),$("<div>").text(message).appendTo(this.liveRegion))}});$.ui.autocomplete;var controlgroupCornerRegex=/ui-corner-([a-z]){2,6}/g;$.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var that=this,childWidgets=[];$.each(this.options.items,function(widget,selector){var labels,options={};if(selector)return"controlgroupLabel"===widget?((labels=that.element.find(selector)).each(function(){var element=$(this);element.children(".ui-controlgroup-label-contents").length||element.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),that._addClass(labels,null,"ui-widget ui-widget-content ui-state-default"),void(childWidgets=childWidgets.concat(labels.get()))):void($.fn[widget]&&(options=that["_"+widget+"Options"]?that["_"+widget+"Options"]("middle"):{classes:{}},that.element.find(selector).each(function(){var element=$(this),instance=element[widget]("instance"),instanceOptions=$.widget.extend({},options);if("button"!==widget||!element.parent(".ui-spinner").length){instance||(instance=element[widget]()[widget]("instance")),instance&&(instanceOptions.classes=that._resolveClassesValues(instanceOptions.classes,instance)),element[widget](instanceOptions);var widgetElement=element[widget]("widget");$.data(widgetElement[0],"ui-controlgroup-data",instance||element[widget]("instance")),childWidgets.push(widgetElement[0])}})))}),this.childWidgets=$($.unique(childWidgets)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(method){this.childWidgets.each(function(){var data=$(this).data("ui-controlgroup-data");data&&data[method]&&data[method]()})},_updateCornerClass:function(element,position){var add=this._buildSimpleOptions(position,"label").classes.label;this._removeClass(element,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(element,null,add)},_buildSimpleOptions:function(position,key){var direction="vertical"===this.options.direction,result={classes:{}};return result.classes[key]={middle:"",first:"ui-corner-"+(direction?"top":"left"),last:"ui-corner-"+(direction?"bottom":"right"),only:"ui-corner-all"}[position],result},_spinnerOptions:function(position){var options=this._buildSimpleOptions(position,"ui-spinner");return options.classes["ui-spinner-up"]="",options.classes["ui-spinner-down"]="",options},_buttonOptions:function(position){return this._buildSimpleOptions(position,"ui-button")},_checkboxradioOptions:function(position){return this._buildSimpleOptions(position,"ui-checkboxradio-label")},_selectmenuOptions:function(position){var direction="vertical"===this.options.direction;return{width:!!direction&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(direction?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(direction?"top":"left")},last:{"ui-selectmenu-button-open":direction?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(direction?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[position]}},_resolveClassesValues:function(classes,instance){var result={};return $.each(classes,function(key){var current=instance.options.classes[key]||"";current=$.trim(current.replace(controlgroupCornerRegex,"")),result[key]=(current+" "+classes[key]).replace(/\s+/g," ")}),result},_setOption:function(key,value){"direction"===key&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(key,value),"disabled"!==key?this.refresh():this._callChildMethod(value?"disable":"enable")},refresh:function(){var children,that=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),children=this.childWidgets,this.options.onlyVisible&&(children=children.filter(":visible")),children.length&&($.each(["first","last"],function(index,value){var instance=children[value]().data("ui-controlgroup-data");if(instance&&that["_"+instance.widgetName+"Options"]){var options=that["_"+instance.widgetName+"Options"](1===children.length?"only":value);options.classes=that._resolveClassesValues(options.classes,instance),instance.element[instance.widgetName](options)}else that._updateCornerClass(children[value](),value)}),this._callChildMethod("refresh"))}});$.widget("ui.checkboxradio",[$.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var disabled,labels,that=this,options=this._super()||{};return this._readType(),labels=this.element.labels(),this.label=$(labels[labels.length-1]),this.label.length||$.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){that.originalLabel+=3===this.nodeType?$(this).text():this.outerHTML}),this.originalLabel&&(options.label=this.originalLabel),null!=(disabled=this.element[0].disabled)&&(options.disabled=disabled),options},_create:function(){var checked=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),checked&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var nodeName=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===nodeName&&/radio|checkbox/.test(this.type)||$.error("Can't create checkboxradio on element.nodeName="+nodeName+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var name=this.element[0].name,nameSelector="input[name='"+$.ui.escapeSelector(name)+"']";return name?(this.form.length?$(this.form[0].elements).filter(nameSelector):$(nameSelector).filter(function(){return 0===$(this).form().length})).not(this.element):$([])},_toggleClasses:function(){var checked=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",checked),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",checked)._toggleClass(this.icon,null,"ui-icon-blank",!checked),"radio"===this.type&&this._getRadioGroup().each(function(){var instance=$(this).checkboxradio("instance");instance&&instance._removeClass(instance.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(key,value){if("label"!==key||value){if(this._super(key,value),"disabled"===key)return this._toggleClass(this.label,null,"ui-state-disabled",value),void(this.element[0].disabled=value);this.refresh()}},_updateIcon:function(checked){var toAdd="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=$("<span>"),this.iconSpace=$("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(toAdd+=checked?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,checked?"ui-icon-blank":"ui-icon-check")):toAdd+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",toAdd),checked||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var contents=this.label.contents().not(this.element[0]);this.icon&&(contents=contents.not(this.icon[0])),this.iconSpace&&(contents=contents.not(this.iconSpace[0])),contents.remove(),this.label.append(this.options.label)},refresh:function(){var checked=this.element[0].checked,isDisabled=this.element[0].disabled;this._updateIcon(checked),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",checked),null!==this.options.label&&this._updateLabel(),isDisabled!==this.options.disabled&&this._setOptions({disabled:isDisabled})}}]);$.ui.checkboxradio;$.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var disabled,options=this._super()||{};return this.isInput=this.element.is("input"),null!=(disabled=this.element[0].disabled)&&(options.disabled=disabled),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(options.label=this.originalLabel),options},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(event){event.keyCode===$.ui.keyCode.SPACE&&(event.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(option,value){var icon="iconPosition"!==option,position=icon?this.options.iconPosition:value,displayBlock="top"===position||"bottom"===position;this.icon?icon&&this._removeClass(this.icon,null,this.options.icon):(this.icon=$("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),icon&&this._addClass(this.icon,null,value),this._attachIcon(position),displayBlock?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=$("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(position))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(iconPosition){this.icon[/^(?:end|bottom)/.test(iconPosition)?"before":"after"](this.iconSpace)},_attachIcon:function(iconPosition){this.element[/^(?:end|bottom)/.test(iconPosition)?"append":"prepend"](this.icon)},_setOptions:function(options){var newShowLabel=void 0===options.showLabel?this.options.showLabel:options.showLabel,newIcon=void 0===options.icon?this.options.icon:options.icon;newShowLabel||newIcon||(options.showLabel=!0),this._super(options)},_setOption:function(key,value){"icon"===key&&(value?this._updateIcon(key,value):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===key&&this._updateIcon(key,value),"showLabel"===key&&(this._toggleClass("ui-button-icon-only",null,!value),this._updateTooltip()),"label"===key&&(this.isInput?this.element.val(value):(this.element.html(value),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(key,value),"disabled"===key&&(this._toggleClass(null,"ui-state-disabled",value),this.element[0].disabled=value,value&&this.element.blur())},refresh:function(){var isDisabled=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");isDisabled!==this.options.disabled&&this._setOptions({disabled:isDisabled}),this._updateTooltip()}}),!1!==$.uiBackCompat&&($.widget("ui.button",$.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(key,value){"text"!==key?("showLabel"===key&&(this.options.text=value),"icon"===key&&(this.options.icons.primary=value),"icons"===key&&(value.primary?(this._super("icon",value.primary),this._super("iconPosition","beginning")):value.secondary&&(this._super("icon",value.secondary),this._super("iconPosition","end"))),this._superApply(arguments)):this._super("showLabel",value)}}),$.fn.button=function(orig){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?orig.apply(this,arguments):($.ui.checkboxradio||$.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}($.fn.button),$.fn.buttonset=function(){return $.ui.controlgroup||$.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))});var datepicker_instActive;$.ui.button;function Datepicker(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.regional.en=$.extend(!0,{},this.regional[""]),this.regional["en-US"]=$.extend(!0,{},this.regional.en),this.dpDiv=datepicker_bindHover($("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function datepicker_bindHover(dpDiv){var selector="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return dpDiv.on("mouseout",selector,function(){$(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&$(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&$(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",selector,datepicker_handleMouseover)}function datepicker_handleMouseover(){$.datepicker._isDisabledDatepicker(datepicker_instActive.inline?datepicker_instActive.dpDiv.parent()[0]:datepicker_instActive.input[0])||($(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),$(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&$(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&$(this).addClass("ui-datepicker-next-hover"))}function datepicker_extendRemove(target,props){for(var name in $.extend(target,props),props)null==props[name]&&(target[name]=props[name]);return target}$.extend($.ui,{datepicker:{version:"1.12.1"}}),$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(settings){return datepicker_extendRemove(this._defaults,settings||{}),this},_attachDatepicker:function(target,settings){var nodeName,inline,inst;inline="div"===(nodeName=target.nodeName.toLowerCase())||"span"===nodeName,target.id||(this.uuid+=1,target.id="dp"+this.uuid),(inst=this._newInst($(target),inline)).settings=$.extend({},settings||{}),"input"===nodeName?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(target,inline){return{id:target[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:inline?datepicker_bindHover($("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]),inst.trigger=$([]),input.hasClass(this.markerClassName)||(this._attachments(input,inst),input.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(inst),$.data(target,"datepicker",inst),inst.settings.disabled&&this._disableDatepicker(target))},_attachments:function(input,inst){var showOn,buttonText,buttonImage,appendText=this._get(inst,"appendText"),isRTL=this._get(inst,"isRTL");inst.append&&inst.append.remove(),appendText&&(inst.append=$("<span class='"+this._appendClass+"'>"+appendText+"</span>"),input[isRTL?"before":"after"](inst.append)),input.off("focus",this._showDatepicker),inst.trigger&&inst.trigger.remove(),"focus"!==(showOn=this._get(inst,"showOn"))&&"both"!==showOn||input.on("focus",this._showDatepicker),"button"!==showOn&&"both"!==showOn||(buttonText=this._get(inst,"buttonText"),buttonImage=this._get(inst,"buttonImage"),inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$("<button type='button'></button>").addClass(this._triggerClass).html(buttonImage?$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText}):buttonText)),input[isRTL?"before":"after"](inst.trigger),inst.trigger.on("click",function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput===input[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!==input[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(input[0])):$.datepicker._showDatepicker(input[0]),!1}))},_autoSize:function(inst){if(this._get(inst,"autoSize")&&!inst.inline){var findMax,max,maxI,i,date=new Date(2009,11,20),dateFormat=this._get(inst,"dateFormat");dateFormat.match(/[DM]/)&&(findMax=function(names){for(max=0,maxI=0,i=0;i<names.length;i++)names[i].length>max&&(max=names[i].length,maxI=i);return maxI},date.setMonth(findMax(this._get(inst,dateFormat.match(/MM/)?"monthNames":"monthNamesShort"))),date.setDate(findMax(this._get(inst,dateFormat.match(/DD/)?"dayNames":"dayNamesShort"))+20-date.getDay())),inst.input.attr("size",this._formatDate(inst,date).length)}},_inlineDatepicker:function(target,inst){var divSpan=$(target);divSpan.hasClass(this.markerClassName)||(divSpan.addClass(this.markerClassName).append(inst.dpDiv),$.data(target,"datepicker",inst),this._setDate(inst,this._getDefaultDate(inst),!0),this._updateDatepicker(inst),this._updateAlternate(inst),inst.settings.disabled&&this._disableDatepicker(target),inst.dpDiv.css("display","block"))},_dialogDatepicker:function(input,date,onSelect,settings,pos){var id,browserWidth,browserHeight,scrollX,scrollY,inst=this._dialogInst;return inst||(this.uuid+=1,id="dp"+this.uuid,this._dialogInput=$("<input type='text' id='"+id+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),$("body").append(this._dialogInput),(inst=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},$.data(this._dialogInput[0],"datepicker",inst)),datepicker_extendRemove(inst.settings,settings||{}),date=date&&date.constructor===Date?this._formatDate(inst,date):date,this._dialogInput.val(date),this._pos=pos?pos.length?pos:[pos.pageX,pos.pageY]:null,this._pos||(browserWidth=document.documentElement.clientWidth,browserHeight=document.documentElement.clientHeight,scrollX=document.documentElement.scrollLeft||document.body.scrollLeft,scrollY=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[browserWidth/2-100+scrollX,browserHeight/2-150+scrollY]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),inst.settings.onSelect=onSelect,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],"datepicker",inst),this},_destroyDatepicker:function(target){var nodeName,$target=$(target),inst=$.data(target,"datepicker");$target.hasClass(this.markerClassName)&&(nodeName=target.nodeName.toLowerCase(),$.removeData(target,"datepicker"),"input"===nodeName?(inst.append.remove(),inst.trigger.remove(),$target.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==nodeName&&"span"!==nodeName||$target.removeClass(this.markerClassName).empty(),datepicker_instActive===inst&&(datepicker_instActive=null))},_enableDatepicker:function(target){var nodeName,inline,$target=$(target),inst=$.data(target,"datepicker");$target.hasClass(this.markerClassName)&&("input"===(nodeName=target.nodeName.toLowerCase())?(target.disabled=!1,inst.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==nodeName&&"span"!==nodeName||((inline=$target.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),inline.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=$.map(this._disabledInputs,function(value){return value===target?null:value}))},_disableDatepicker:function(target){var nodeName,inline,$target=$(target),inst=$.data(target,"datepicker");$target.hasClass(this.markerClassName)&&("input"===(nodeName=target.nodeName.toLowerCase())?(target.disabled=!0,inst.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==nodeName&&"span"!==nodeName||((inline=$target.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),inline.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=$.map(this._disabledInputs,function(value){return value===target?null:value}),this._disabledInputs[this._disabledInputs.length]=target)},_isDisabledDatepicker:function(target){if(!target)return!1;for(var i=0;i<this._disabledInputs.length;i++)if(this._disabledInputs[i]===target)return!0;return!1},_getInst:function(target){try{return $.data(target,"datepicker")}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var settings,date,minDate,maxDate,inst=this._getInst(target);if(2===arguments.length&&"string"==typeof name)return"defaults"===name?$.extend({},$.datepicker._defaults):inst?"all"===name?$.extend({},inst.settings):this._get(inst,name):null;settings=name||{},"string"==typeof name&&((settings={})[name]=value),inst&&(this._curInst===inst&&this._hideDatepicker(),date=this._getDateDatepicker(target,!0),minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),datepicker_extendRemove(inst.settings,settings),null!==minDate&&void 0!==settings.dateFormat&&void 0===settings.minDate&&(inst.settings.minDate=this._formatDate(inst,minDate)),null!==maxDate&&void 0!==settings.dateFormat&&void 0===settings.maxDate&&(inst.settings.maxDate=this._formatDate(inst,maxDate)),"disabled"in settings&&(settings.disabled?this._disableDatepicker(target):this._enableDatepicker(target)),this._attachments($(target),inst),this._autoSize(inst),this._setDate(inst,date),this._updateAlternate(inst),this._updateDatepicker(inst))},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);inst&&this._updateDatepicker(inst)},_setDateDatepicker:function(target,date){var inst=this._getInst(target);inst&&(this._setDate(inst,date),this._updateDatepicker(inst),this._updateAlternate(inst))},_getDateDatepicker:function(target,noDefault){var inst=this._getInst(target);return inst&&!inst.inline&&this._setDateFromField(inst,noDefault),inst?this._getDate(inst):null},_doKeyDown:function(event){var onSelect,dateStr,sel,inst=$.datepicker._getInst(event.target),handled=!0,isRTL=inst.dpDiv.is(".ui-datepicker-rtl");if(inst._keyEvent=!0,$.datepicker._datepickerShowing)switch(event.keyCode){case 9:$.datepicker._hideDatepicker(),handled=!1;break;case 13:return(sel=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",inst.dpDiv))[0]&&$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0]),(onSelect=$.datepicker._get(inst,"onSelect"))?(dateStr=$.datepicker._formatDate(inst),onSelect.apply(inst.input?inst.input[0]:null,[dateStr,inst])):$.datepicker._hideDatepicker(),!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(event.target,event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(event.target,event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths"),"M");break;case 35:(event.ctrlKey||event.metaKey)&&$.datepicker._clearDate(event.target),handled=event.ctrlKey||event.metaKey;break;case 36:(event.ctrlKey||event.metaKey)&&$.datepicker._gotoToday(event.target),handled=event.ctrlKey||event.metaKey;break;case 37:(event.ctrlKey||event.metaKey)&&$.datepicker._adjustDate(event.target,isRTL?1:-1,"D"),handled=event.ctrlKey||event.metaKey,event.originalEvent.altKey&&$.datepicker._adjustDate(event.target,event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths"),"M");break;case 38:(event.ctrlKey||event.metaKey)&&$.datepicker._adjustDate(event.target,-7,"D"),handled=event.ctrlKey||event.metaKey;break;case 39:(event.ctrlKey||event.metaKey)&&$.datepicker._adjustDate(event.target,isRTL?-1:1,"D"),handled=event.ctrlKey||event.metaKey,event.originalEvent.altKey&&$.datepicker._adjustDate(event.target,event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths"),"M");break;case 40:(event.ctrlKey||event.metaKey)&&$.datepicker._adjustDate(event.target,7,"D"),handled=event.ctrlKey||event.metaKey;break;default:handled=!1}else 36===event.keyCode&&event.ctrlKey?$.datepicker._showDatepicker(this):handled=!1;handled&&(event.preventDefault(),event.stopPropagation())},_doKeyPress:function(event){var chars,chr,inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput"))return chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat")),chr=String.fromCharCode(null==event.charCode?event.keyCode:event.charCode),event.ctrlKey||event.metaKey||chr<" "||!chars||chars.indexOf(chr)>-1},_doKeyUp:function(event){var inst=$.datepicker._getInst(event.target);if(inst.input.val()!==inst.lastVal)try{$.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),inst.input?inst.input.val():null,$.datepicker._getFormatConfig(inst))&&($.datepicker._setDateFromField(inst),$.datepicker._updateAlternate(inst),$.datepicker._updateDatepicker(inst))}catch(err){}return!0},_showDatepicker:function(input){var inst,beforeShow,beforeShowSettings,isFixed,offset,showAnim,duration;("input"!==(input=input.target||input).nodeName.toLowerCase()&&(input=$("input",input.parentNode)[0]),$.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput===input)||(inst=$.datepicker._getInst(input),$.datepicker._curInst&&$.datepicker._curInst!==inst&&($.datepicker._curInst.dpDiv.stop(!0,!0),inst&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0])),!1!==(beforeShowSettings=(beforeShow=$.datepicker._get(inst,"beforeShow"))?beforeShow.apply(input,[input,inst]):{})&&(datepicker_extendRemove(inst.settings,beforeShowSettings),inst.lastVal=null,$.datepicker._lastInput=input,$.datepicker._setDateFromField(inst),$.datepicker._inDialog&&(input.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(input),$.datepicker._pos[1]+=input.offsetHeight),isFixed=!1,$(input).parents().each(function(){return!(isFixed|="fixed"===$(this).css("position"))}),offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]},$.datepicker._pos=null,inst.dpDiv.empty(),inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(inst),offset=$.datepicker._checkOffset(inst,offset,isFixed),inst.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":isFixed?"fixed":"absolute",display:"none",left:offset.left+"px",top:offset.top+"px"}),inst.inline||(showAnim=$.datepicker._get(inst,"showAnim"),duration=$.datepicker._get(inst,"duration"),inst.dpDiv.css("z-index",function(elem){for(var position,value;elem.length&&elem[0]!==document;){if(("absolute"===(position=elem.css("position"))||"relative"===position||"fixed"===position)&&(value=parseInt(elem.css("zIndex"),10),!isNaN(value)&&0!==value))return value;elem=elem.parent()}return 0}($(input))+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects.effect[showAnim]?inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration):inst.dpDiv[showAnim||"show"](showAnim?duration:null),$.datepicker._shouldFocusInput(inst)&&inst.input.trigger("focus"),$.datepicker._curInst=inst)))},_updateDatepicker:function(inst){this.maxRows=4,datepicker_instActive=inst,inst.dpDiv.empty().append(this._generateHTML(inst)),this._attachHandlers(inst);var origyearshtml,numMonths=this._getNumberOfMonths(inst),cols=numMonths[1],activeCell=inst.dpDiv.find("."+this._dayOverClass+" a");activeCell.length>0&&datepicker_handleMouseover.apply(activeCell.get(0)),inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),cols>1&&inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",17*cols+"em"),inst.dpDiv[(1!==numMonths[0]||1!==numMonths[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),inst===$.datepicker._curInst&&$.datepicker._datepickerShowing&&$.datepicker._shouldFocusInput(inst)&&inst.input.trigger("focus"),inst.yearshtml&&(origyearshtml=inst.yearshtml,setTimeout(function(){origyearshtml===inst.yearshtml&&inst.yearshtml&&inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml),origyearshtml=inst.yearshtml=null},0))},_shouldFocusInput:function(inst){return inst.input&&inst.input.is(":visible")&&!inst.input.is(":disabled")&&!inst.input.is(":focus")},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth(),dpHeight=inst.dpDiv.outerHeight(),inputWidth=inst.input?inst.input.outerWidth():0,inputHeight=inst.input?inst.input.outerHeight():0,viewWidth=document.documentElement.clientWidth+(isFixed?0:$(document).scrollLeft()),viewHeight=document.documentElement.clientHeight+(isFixed?0:$(document).scrollTop());return offset.left-=this._get(inst,"isRTL")?dpWidth-inputWidth:0,offset.left-=isFixed&&offset.left===inst.input.offset().left?$(document).scrollLeft():0,offset.top-=isFixed&&offset.top===inst.input.offset().top+inputHeight?$(document).scrollTop():0,offset.left-=Math.min(offset.left,offset.left+dpWidth>viewWidth&&viewWidth>dpWidth?Math.abs(offset.left+dpWidth-viewWidth):0),offset.top-=Math.min(offset.top,offset.top+dpHeight>viewHeight&&viewHeight>dpHeight?Math.abs(dpHeight+inputHeight):0),offset},_findPos:function(obj){for(var position,inst=this._getInst(obj),isRTL=this._get(inst,"isRTL");obj&&("hidden"===obj.type||1!==obj.nodeType||$.expr.filters.hidden(obj));)obj=obj[isRTL?"previousSibling":"nextSibling"];return[(position=$(obj).offset()).left,position.top]},_hideDatepicker:function(input){var showAnim,duration,postProcess,onClose,inst=this._curInst;!inst||input&&inst!==$.data(input,"datepicker")||this._datepickerShowing&&(showAnim=this._get(inst,"showAnim"),duration=this._get(inst,"duration"),postProcess=function(){$.datepicker._tidyDialog(inst)},$.effects&&($.effects.effect[showAnim]||$.effects[showAnim])?inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess):inst.dpDiv["slideDown"===showAnim?"slideUp":"fadeIn"===showAnim?"fadeOut":"hide"](showAnim?duration:null,postProcess),showAnim||postProcess(),this._datepickerShowing=!1,(onClose=this._get(inst,"onClose"))&&onClose.apply(inst.input?inst.input[0]:null,[inst.input?inst.input.val():"",inst]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(event){if($.datepicker._curInst){var $target=$(event.target),inst=$.datepicker._getInst($target[0]);($target[0].id===$.datepicker._mainDivId||0!==$target.parents("#"+$.datepicker._mainDivId).length||$target.hasClass($.datepicker.markerClassName)||$target.closest("."+$.datepicker._triggerClass).length||!$.datepicker._datepickerShowing||$.datepicker._inDialog&&$.blockUI)&&(!$target.hasClass($.datepicker.markerClassName)||$.datepicker._curInst===inst)||$.datepicker._hideDatepicker()}},_adjustDate:function(id,offset,period){var target=$(id),inst=this._getInst(target[0]);this._isDisabledDatepicker(target[0])||(this._adjustInstDate(inst,offset+("M"===period?this._get(inst,"showCurrentAtPos"):0),period),this._updateDatepicker(inst))},_gotoToday:function(id){var date,target=$(id),inst=this._getInst(target[0]);this._get(inst,"gotoCurrent")&&inst.currentDay?(inst.selectedDay=inst.currentDay,inst.drawMonth=inst.selectedMonth=inst.currentMonth,inst.drawYear=inst.selectedYear=inst.currentYear):(date=new Date,inst.selectedDay=date.getDate(),inst.drawMonth=inst.selectedMonth=date.getMonth(),inst.drawYear=inst.selectedYear=date.getFullYear()),this._notifyChange(inst),this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id),inst=this._getInst(target[0]);inst["selected"+("M"===period?"Month":"Year")]=inst["draw"+("M"===period?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10),this._notifyChange(inst),this._adjustDate(target)},_selectDay:function(id,month,year,td){var inst,target=$(id);$(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])||((inst=this._getInst(target[0])).selectedDay=inst.currentDay=$("a",td).html(),inst.selectedMonth=inst.currentMonth=month,inst.selectedYear=inst.currentYear=year,this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear)))},_clearDate:function(id){var target=$(id);this._selectDate(target,"")},_selectDate:function(id,dateStr){var onSelect,target=$(id),inst=this._getInst(target[0]);dateStr=null!=dateStr?dateStr:this._formatDate(inst),inst.input&&inst.input.val(dateStr),this._updateAlternate(inst),(onSelect=this._get(inst,"onSelect"))?onSelect.apply(inst.input?inst.input[0]:null,[dateStr,inst]):inst.input&&inst.input.trigger("change"),inst.inline?this._updateDatepicker(inst):(this._hideDatepicker(),this._lastInput=inst.input[0],"object"!=typeof inst.input[0]&&inst.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(inst){var altFormat,date,dateStr,altField=this._get(inst,"altField");altField&&(altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat"),date=this._getDate(inst),dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst)),$(altField).val(dateStr))},noWeekends:function(date){var day=date.getDay();return[day>0&&day<6,""]},iso8601Week:function(date){var time,checkDate=new Date(date.getTime());return checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7)),time=checkDate.getTime(),checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1},parseDate:function(format,value,settings){if(null==format||null==value)throw"Invalid arguments";if(""===(value="object"==typeof value?value.toString():value+""))return null;var iFormat,dim,extra,date,iValue=0,shortYearCutoffTemp=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff,shortYearCutoff="string"!=typeof shortYearCutoffTemp?shortYearCutoffTemp:(new Date).getFullYear()%100+parseInt(shortYearCutoffTemp,10),dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,year=-1,month=-1,day=-1,doy=-1,literal=!1,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;return matches&&iFormat++,matches},getNumber=function(match){var isDoubled=lookAhead(match),size="@"===match?14:"!"===match?20:"y"===match&&isDoubled?4:"o"===match?3:2,digits=new RegExp("^\\d{"+("y"===match?size:1)+","+size+"}"),num=value.substring(iValue).match(digits);if(!num)throw"Missing number at position "+iValue;return iValue+=num[0].length,parseInt(num[0],10)},getName=function(match,shortNames,longNames){var index=-1,names=$.map(lookAhead(match)?longNames:shortNames,function(v,k){return[[k,v]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if($.each(names,function(i,pair){var name=pair[1];if(value.substr(iValue,name.length).toLowerCase()===name.toLowerCase())return index=pair[0],iValue+=name.length,!1}),-1!==index)return index+1;throw"Unknown name at position "+iValue},checkLiteral=function(){if(value.charAt(iValue)!==format.charAt(iFormat))throw"Unexpected literal at position "+iValue;iValue++};for(iFormat=0;iFormat<format.length;iFormat++)if(literal)"'"!==format.charAt(iFormat)||lookAhead("'")?checkLiteral():literal=!1;else switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":year=(date=new Date(getNumber("@"))).getFullYear(),month=date.getMonth()+1,day=date.getDate();break;case"!":year=(date=new Date((getNumber("!")-this._ticksTo1970)/1e4)).getFullYear(),month=date.getMonth()+1,day=date.getDate();break;case"'":lookAhead("'")?checkLiteral():literal=!0;break;default:checkLiteral()}if(iValue<value.length&&(extra=value.substr(iValue),!/^\s+/.test(extra)))throw"Extra/unparsed characters found in date: "+extra;if(-1===year?year=(new Date).getFullYear():year<100&&(year+=(new Date).getFullYear()-(new Date).getFullYear()%100+(year<=shortYearCutoff?0:-100)),doy>-1)for(month=1,day=doy;;){if(day<=(dim=this._getDaysInMonth(year,month-1)))break;month++,day-=dim}if((date=this._daylightSavingAdjust(new Date(year,month-1,day))).getFullYear()!==year||date.getMonth()+1!==month||date.getDate()!==day)throw"Invalid date";return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(format,date,settings){if(!date)return"";var iFormat,dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;return matches&&iFormat++,matches},formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match))for(;num.length<len;)num="0"+num;return num},formatName=function(match,value,shortNames,longNames){return lookAhead(match)?longNames[value]:shortNames[value]},output="",literal=!1;if(date)for(iFormat=0;iFormat<format.length;iFormat++)if(literal)"'"!==format.charAt(iFormat)||lookAhead("'")?output+=format.charAt(iFormat):literal
vendor: 4,512 bytes, line 1
1=!1;else switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":output+=formatNumber("o",Math.round((new Date(date.getFullYear(),date.getMonth(),date.getDate()).getTime()-new Date(date.getFullYear(),0,0).getTime())/864e5),3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=lookAhead("y")?date.getFullYear():(date.getFullYear()%100<10?"0":"")+date.getFullYear()%100;break;case"@":output+=date.getTime();break;case"!":output+=1e4*date.getTime()+this._ticksTo1970;break;case"'":lookAhead("'")?output+="'":literal=!0;break;default:output+=format.charAt(iFormat)}return output},_possibleChars:function(format){var iFormat,chars="",literal=!1,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;return matches&&iFormat++,matches};for(iFormat=0;iFormat<format.length;iFormat++)if(literal)"'"!==format.charAt(iFormat)||lookAhead("'")?chars+=format.charAt(iFormat):literal=!1;else switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":lookAhead("'")?chars+="'":literal=!0;break;default:chars+=format.charAt(iFormat)}return chars},_get:function(inst,name){return void 0!==inst.settings[name]?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst,noDefault){if(inst.input.val()!==inst.lastVal){var dateFormat=this._get(inst,"dateFormat"),dates=inst.lastVal=inst.input?inst.input.val():null,defaultDate=this._getDefaultDate(inst),date=defaultDate,settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){dates=noDefault?"":dates}inst.selectedDay=date.getDate(),inst.drawMonth=inst.selectedMonth=date.getMonth(),inst.drawYear=inst.selectedYear=date.getFullYear(),inst.currentDay=dates?date.getDate():0,inst.currentMonth=dates?date.getMonth():0,inst.currentYear=dates?date.getFullYear():0,this._adjustInstDate(inst)}},_getDefaultDate:function(inst){return this._restrictMinMax(inst,this._determineDate(inst,this._get(inst,"defaultDate"),new Date))},_determineDate:function(inst,date,defaultDate){var newDate=null==date||""===date?defaultDate:"string"==typeof date?function(offset){try{return $.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),offset,$.datepicker._getFormatConfig(inst))}catch(e){}for(var date=(offset.toLowerCase().match(/^c/)?$.datepicker._getDate(inst):null)||new Date,year=date.getFullYear(),month=date.getMonth(),day=date.getDate(),pattern=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,matches=pattern.exec(offset);matches;){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=7*parseInt(matches[1],10);break;case"m":case"M":month+=parseInt(matches[1],10),day=Math.min(day,$.datepicker._getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10),day=Math.min(day,$.datepicker._getDaysInMonth(year,month))}matches=pattern.exec(offset)}return new Date(year,month,day)}(date):"number"==typeof date?isNaN(date)?defaultDate:function(offset){var date=new Date;return date.setDate(date.getDate()+offset),date}(date):new Date(date.getTime());return(newDate=newDate&&"Invalid Date"===newDate.toString()?defaultDate:newDate)&&(newDate.setHours(0),newDate.setMinutes(0),newDate.setSeconds(0),newDate.setMilliseconds(0)),this._daylightSavingAdjust(newDate)},_daylightSavingAdjust:function(date){return date?(date.setHours(date.getHours()>12?date.getHours()+2:0),date):null},_setDate:function(inst,date,noChange){var clear=!date,origMonth=inst.selectedMonth,origYear=inst.selectedYear,newDate=this._restrictMinMax(inst,this._determineDate(inst,date,new Date));inst.selectedDay=inst.currentDay=newDate.getDate(),inst.drawMonth=inst.selectedMonth=inst.currentMonth=newDate.getMonth(),inst.drawYear=inst.selectedYear=inst.currentYear=newDate.getFullYear(),origMonth===inst.selectedMonth&&origYear===inst.selectedYear||noChange||this._notifyChange(inst),this._adjustInstDate(inst),inst.input&&inst.input.val(clear?"":this._formatDate(inst))},_getDate:function(inst){return!inst.currentYear||inst.input&&""===inst.input.val()?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay))},_attachHandlers:function(inst){var stepMonths=this._get(inst,"stepMonths"),id="#"+inst.id.replace(/\\\\/g,"\\");
vendor: 4,267 bytes, line 1
1inst.dpDiv.find("[data-handler]").map(function(){var handler={prev:function(){$.datepicker._adjustDate(id,-stepMonths,"M")},next:function(){$.datepicker._adjustDate(id,+stepMonths,"M")},hide:function(){$.datepicker._hideDatepicker()},today:function(){$.datepicker._gotoToday(id)},selectDay:function(){return $.datepicker._selectDay(id,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return $.datepicker._selectMonthYear(id,this,"M"),!1},selectYear:function(){return $.datepicker._selectMonthYear(id,this,"Y"),!1}};$(this).on(this.getAttribute("data-event"),handler[this.getAttribute("data-handler")])})},_generateHTML:function(inst){var maxDraw,prevText,prev,nextText,next,currentText,gotoDate,controls,buttonPanel,firstDay,showWeek,dayNames,dayNamesMin,monthNames,monthNamesShort,beforeShowDay,showOtherMonths,selectOtherMonths,defaultDate,html,dow,row,group,col,selectedDate,cornerClass,calender,thead,day,daysInMonth,leadDays,curRows,numRows,printDate,dRow,tbody,daySettings,otherMonth,unselectable,tempDate=new Date,today=this._daylightSavingAdjust(new Date(tempDate.getFullYear(),tempDate.getMonth(),tempDate.getDate())),isRTL=this._get(inst,"isRTL"),showButtonPanel=this._get(inst,"showButtonPanel"),hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext"),navigationAsDateFormat=this._get(inst,"navigationAsDateFormat"),numMonths=this._getNumberOfMonths(inst),showCurrentAtPos=this._get(inst,"showCurrentAtPos"),stepMonths=this._get(inst,"stepMonths"),isMultiMonth=1!==numMonths[0]||1!==numMonths[1],currentDate=this._daylightSavingAdjust(inst.currentDay?new Date(inst.currentYear,inst.currentMonth,inst.currentDay):new Date(9999,9,9)),minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),drawMonth=inst.drawMonth-showCurrentAtPos,drawYear=inst.drawYear;if(drawMonth<0&&(drawMonth+=12,drawYear--),maxDate)for(maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[0]*numMonths[1]+1,maxDate.getDate())),maxDraw=minDate&&maxDraw<minDate?minDate:maxDraw;this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw;)--drawMonth<0&&(drawMonth=11,drawYear--);for(inst.drawMonth=drawMonth,inst.drawYear=drawYear,prevText=this._get(inst,"prevText"),prevText=navigationAsDateFormat?this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)):prevText,prev=this._canAdjustMonth(inst,-1,drawYear,drawMonth)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+prevText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"e":"w")+"'>"+prevText+"</span></a>":hideIfNoPrevNext?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+prevText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"e":"w")+"'>"+prevText+"</span></a>",nextText=this._get(inst,"nextText"),nextText=navigationAsDateFormat?this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)):nextText,next=this._canAdjustMonth(inst,1,drawYear,drawMonth)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+nextText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"w":"e")+"'>"+nextText+"</span></a>":hideIfNoPrevNext?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+nextText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"w":"e")+"'>"+nextText+"</span></a>",currentText=this._get(inst,"currentText"),gotoDate=this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today,currentText=navigationAsDateFormat?this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)):currentText,controls=inst.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(inst,"closeText")+"</button>",buttonPanel=showButtonPanel?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+currentText+"</button>
1":"")+(isRTL?"":controls)+"</div>":"",firstDay=parseInt(this._get(inst,"firstDay"),10),firstDay=isNaN(firstDay)?0:firstDay,showWeek=this._get(inst,"showWeek"),dayNames=this._get(inst,"dayNames"),dayNamesMin=this._get(inst,"dayNamesMin"),monthNames=this._get(inst,"monthNames"),monthNamesShort=this._get(inst,"monthNamesShort"),beforeShowDay=this._get(inst,"beforeShowDay"),showOtherMonths=this._get(inst,"showOtherMonths"),selectOtherMonths=this._get(inst,"selectOtherMonths"),defaultDate=this._getDefaultDate(inst),html="",row=0;row<numMonths[0];row++){for(group="",this.maxRows=4,col=0;col<numMonths[1];col++){if(selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay)),cornerClass=" ui-corner-all",calender="",isMultiMonth){if(calender+="<div class='ui-datepicker-group",numMonths[1]>1)switch(col){case 0:calender+=" ui-datepicker-group-first",cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+=" ui-datepicker-group-last",cornerClass=" ui-corner-"+(isRTL?"left":"r
1ight");break;default:calender+=" ui-datepicker-group-middle",cornerClass=""}calender+="'>"}for(calender+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+cornerClass+"'>"+(/all|left/.test(cornerClass)&&0===row?isRTL?next:prev:"")+(/all|right/.test(cornerClass)&&0===row?isRTL?prev:next:"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,row>0||col>0,monthNames,monthNamesShort)+"</div><table class='ui-datepicker-calendar'><thead><tr>",thead=showWeek?"<th class='ui-datepicker-week-col'>"+this._get(inst,"weekHeader")+"</th>":"",dow=0;dow<7;dow++)day=(dow+firstDay)%7,thead+="<th scope='col'"+((dow+firstDay+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+dayNames[day]+"'>"+dayNamesMin[day]+"</span></th>";for(calender+=thead+"</tr></thead><tbody>",daysInMonth=this._getDaysInMonth(drawYear,drawMonth),drawYear===inst.selectedYear&&drawMonth===inst.selectedMonth&&(inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)),leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7,curRows=Math.ceil((leadDays+daysInMonth)/7),numRows=isMultiMonth&&this.maxRows>curRows?this.maxRows:curRows,this.maxRows=numRows,printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays)),dRow=0;dRow<numRows;dRow++){for(calender+="<tr>",tbody=showWeek?"<td class='ui-datepicker-week-col'>"+this._get(inst,"calculateWeek")(printDate)+"</td>":"",dow=0;dow<7;dow++)daySettings=beforeShowDay?beforeShowDay.apply(inst.input?inst.input[0]:null,[printDate]):[!0,""],unselectable=(otherMonth=printDate.getMonth()!==drawMonth)&&!selectOtherMonths||!daySettings[0]||minDate&&printDate<minDate||maxDate&&printDate>maxDate,tbody+="<td class='"+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+(printDate.getTime()===selectedDate.getTime()&&drawMonth===inst.selectedMonth&&inst._keyEvent||defaultDate.getTime()===printDate.getTime()&&defaultDate.getTime()===selectedDate.getTime()?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()===currentDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()===today.getTime()?" ui-datepicker-today":""))+"'"+(otherMonth&&!showOtherMonths||!daySettings[2]?"":" title='"+daySettings[2].replace(/'/g,"&#39;")+"'")+(unselectable?"":" data-handler='selectDay' data-event='click' data-month='"+printDate.getMonth()+"' data-year='"+printDate.getFullYear()+"'")+">"+(otherMonth&&!showOtherMonths?"&#xa0;":unselectable?"<span class='ui-state-default'>"+printDate.getDate()+"</span>":"<a class='ui-state-default"+(printDate.getTime()===today.getTime()?" ui-state-highlight":"")+(printDate.getTime()===currentDate.getTime()?" ui-state-active":"")+(otherMonth?" ui-priority-secondary":"")+"' href='#'>"+printDate.getDate()+"</a>")+"</td>",printDate.setDate(printDate.getDate()+1),printDate=this._daylightSavingAdjust(printDate);calender+=tbody+"</tr>"}++drawMonth>11&&(drawMonth=0,drawYear++),group+=calender+="</tbody></table>"+(isMultiMonth?"</div>"+(numMonths[0]>0&&col===numMonths[1]-1?"<div class='ui-datepicker-row-break'></div>":""):"")}html+=group}return html+=buttonPanel,inst._keyEvent=!1,html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,secondary,monthNames,monthNamesShort){var inMinYear,inMaxYear,month,years,thisYear,determineYear,year,endYear,changeMonth=this._get(inst,"changeMonth"),changeYear=this._get(inst,"changeYear"),showMonthAfterYear=this._get(inst,"showMonthAfterYear"),html="<div class='ui-datepicker-title'>",monthHtml="";if(secondary||!changeMonth)monthHtml+="<span class='ui-datepicker-month'>"+monthNames[drawMonth]+"</span>";else{for(inMinYear=minDate&&minDate.getFullYear()===drawYear,inMaxYear=maxDate&&maxDate.getFullYear()===drawYear,monthHtml+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",month=0;month<12;month++)(!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())&&(monthHtml+="<option value='"+month+"'"+(month===drawMonth?" selected='selected'":"")+">"+monthNamesShort[month]+"</option>");monthHtml+="</select>"}if(showMonthAfterYear||(html+=monthHtml+(!secondary&&changeMonth&&changeYear?"":"&#xa0;")),!inst.yearshtml)if(inst.yearshtml="",secondary||!changeYear)html+="<span class='ui-datepicker-year'>"+drawYear+"</span>";else{for(years=this._get(inst,"yearRange").split(":"),thisYear=(new Date).getFullYear(),year=(determineYear=function(value){var year=value.match(/c[+\-].*/)?drawYear+parseInt(value.substring(1),10):value.match(/[+\-].*/)?thisYear+parseInt(value,10):parseInt(value,10);return isNaN(year)?thisYear:year})(years[0]),endYear=Math.max(year,determineYear(years[1]||"")),year=minDate?Math.max(year,minDate.getFullYear()):year,endYear=maxDate?Math.min(endYear,maxDate.getFullYear()):en
vendor: 14,339 bytes, line 1
1dYear,inst.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";year<=endYear;year++)inst.yearshtml+="<option value='"+year+"'"+(year===drawYear?" selected='selected'":"")+">"+year+"</option>";inst.yearshtml+="</select>",html+=inst.yearshtml,inst.yearshtml=null}return html+=this._get(inst,"yearSuffix"),showMonthAfterYear&&(html+=(!secondary&&changeMonth&&changeYear?"":"&#xa0;")+monthHtml),html+="</div>"},_adjustInstDate:function(inst,offset,period){var year=inst.selectedYear+("Y"===period?offset:0),month=inst.selectedMonth+("M"===period?offset:0),day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+("D"===period?offset:0),date=this._restrictMinMax(inst,this._daylightSavingAdjust(new Date(year,month,day)));inst.selectedDay=date.getDate(),inst.drawMonth=inst.selectedMonth=date.getMonth(),inst.drawYear=inst.selectedYear=date.getFullYear(),"M"!==period&&"Y"!==period||this._notifyChange(inst)},_restrictMinMax:function(inst,date){var minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),newDate=minDate&&date<minDate?minDate:date;return maxDate&&newDate>maxDate?maxDate:newDate},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");onChange&&onChange.apply(inst.input?inst.input[0]:null,[inst.selectedYear,inst.selectedMonth+1,inst])},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return null==numMonths?[1,1]:"number"==typeof numMonths?[1,numMonths]:numMonths},_getMinMaxDate:function(inst,minMax){return this._determineDate(inst,this._get(inst,minMax+"Date"),null)},_getDaysInMonth:function(year,month){return 32-this._daylightSavingAdjust(new Date(year,month,32)).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst),date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[0]*numMonths[1]),1));return offset<0&&date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth())),this._isInRange(inst,date)},_isInRange:function(inst,date){var yearSplit,currentYear,minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),minYear=null,maxYear=null,years=this._get(inst,"yearRange");return years&&(yearSplit=years.split(":"),currentYear=(new Date).getFullYear(),minYear=parseInt(yearSplit[0],10),maxYear=parseInt(yearSplit[1],10),yearSplit[0].match(/[+\-].*/)&&(minYear+=currentYear),yearSplit[1].match(/[+\-].*/)&&(maxYear+=currentYear)),(!minDate||date.getTime()>=minDate.getTime())&&(!maxDate||date.getTime()<=maxDate.getTime())&&(!minYear||date.getFullYear()>=minYear)&&(!maxYear||date.getFullYear()<=maxYear)},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");return{shortYearCutoff:shortYearCutoff="string"!=typeof shortYearCutoff?shortYearCutoff:(new Date).getFullYear()%100+parseInt(shortYearCutoff,10),dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){day||(inst.currentDay=inst.selectedDay,inst.currentMonth=inst.selectedMonth,inst.currentYear=inst.selectedYear);var date=day?"object"==typeof day?day:this._daylightSavingAdjust(new Date(year,month,day)):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}}),$.fn.datepicker=function(options){if(!this.length)return this;$.datepicker.initialized||($(document).on("mousedown",$.datepicker._checkExternalClick),$.datepicker.initialized=!0),0===$("#"+$.datepicker._mainDivId).length&&$("body").append($.datepicker.dpDiv);var otherArgs=Array.prototype.slice.call(arguments,1);return"string"!=typeof options||"isDisabled"!==options&&"getDate"!==options&&"widget"!==options?"option"===options&&2===arguments.length&&"string"==typeof arguments[1]?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs)):this.each(function(){"string"==typeof options?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)}):$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.12.1";$.datepicker,$.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var mouseHandled=!1;$(document).on("mouseup",function(){mouseHandled=!1});$.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var that=this;this.element.on("mousedown."+this.widgetName,function(event){return that._mouseDown(event)}).on("click."+this.widgetName,function(event){if(!0===$.data(event.target,that.widgetName+".preventClickEvent"))return $.removeData(event.target,that.widgetName+".preventClickEvent"),event.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(event){if(!mouseHandled){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(event),this._mouseDownEvent=event;var that=this,btnIsLeft=1===event.which,elIsCancel=!("string"!=typeof this.options.cancel||!event.target.nodeName)&&$(event.target).closest(this.options.cancel).length;return!(btnIsLeft&&!elIsCancel&&this._mouseCapture(event))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){that.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(event)&&this._mouseDelayMet(event)&&(this._mouseStarted=!1!==this._mouseStart(event),!this._mouseStarted)?(event.preventDefault(),!0):(!0===$.data(event.target,this.widgetName+".preventClickEvent")&&$.removeData(event.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(event){return that._mouseMove(event)},this._mouseUpDelegate=function(event){return that._mouseUp(event)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),event.preventDefault(),mouseHandled=!0,!0))}},_mouseMove:function(event){if(this._mouseMoved){if($.ui.ie&&(!document.documentMode||document.documentMode<9)&&!event.button)return this._mouseUp(event);if(!event.which)if(event.originalEvent.altKey||event.originalEvent.ctrlKey||event.originalEvent.metaKey||event.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(event)}return(event.which||event.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(event),event.preventDefault()):(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,event),this._mouseStarted?this._mouseDrag(event):this._mouseUp(event)),!this._mouseStarted)},_mouseUp:function(event){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,event.target===this._mouseDownEvent.target&&$.data(event.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(event)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,mouseHandled=!1,event.preventDefault()},_mouseDistanceMet:function(event){return Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),$.ui.plugin={add:function(module,option,set){var i,proto=$.ui[module].prototype;for(i in set)proto.plugins[i]=proto.plugins[i]||[],proto.plugins[i].push([option,set[i]])},call:function(instance,name,args,allowDisconnected){var i,set=instance.plugins[name];if(set&&(allowDisconnected||instance.element[0].parentNode&&11!==instance.element[0].parentNode.nodeType))for(i=0;i<set.length;i++)instance.options[set[i][0]]&&set[i][1].apply(instance.element,args)}},$.ui.safeBlur=function(element){element&&"body"!==element.nodeName.toLowerCase()&&$(element).trigger("blur")};$.widget("ui.draggable",$.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(key,value){this._super(key,value),"handle"===key&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(event){var o=this.options;return!(this.helper||o.disabled||$(event.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(event),!!this.handle&&(this._blurActiveElement(event),this._blockFrames(!0===o.iframeFix?"iframe":o.iframeFix),!0))},_blockFrames:function(selector){this.iframeBlocks=this.document.find(selector).map(function(){var iframe=$(this);return $("<div>").css("position","absolute").appendTo(iframe.parent()).outerWidth(iframe.outerWidth()).outerHeight(iframe.outerHeight()).offset(iframe.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(event){var activeElement=$.ui.safeActiveElement(this.document[0]);$(event.target).closest(activeElement).length||$.ui.safeBlur(activeElement)},_mouseStart:function(event){var o=this.options;return this.helper=this._createHelper(event),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),$.ui.ddmanager&&($.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===$(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(event),this.originalPosition=this.position=this._generatePosition(event,!1),this.originalPageX=event.pageX,this.originalPageY=event.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this._setContainment(),!1===this._trigger("start",event)?(this._clear(),!1):(this._cacheHelperProportions(),$.ui.ddmanager&&!o.dropBehaviour&&$.ui.ddmanager.prepareOffsets(this,event),this._mouseDrag(event,!0),$.ui.ddmanager&&$.ui.ddmanager.dragStart(this,event),!0)},_refreshOffsets:function(event){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:event.pageX-this.offset.left,top:event.pageY-this.offset.top}},_mouseDrag:function(event,noPropagation){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(event,!0),this.positionAbs=this._convertPositionTo("absolute"),!noPropagation){var ui=this._uiHash();if(!1===this._trigger("drag",event,ui))return this._mouseUp(new $.Event("mouseup",event)),!1;this.position=ui.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",$.ui.ddmanager&&$.ui.ddmanager.drag(this,event),!1},_mouseStop:function(event){var that=this,dropped=!1;return $.ui.ddmanager&&!this.options.dropBehaviour&&(dropped=$.ui.ddmanager.drop(this,event)),this.dropped&&(dropped=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!dropped||"valid"===this.options.revert&&dropped||!0===this.options.revert||$.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped)?$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==that._trigger("stop",event)&&that._clear()}):!1!==this._trigger("stop",event)&&this._clear(),!1},_mouseUp:function(event){return this._unblockFrames(),$.ui.ddmanager&&$.ui.ddmanager.dragStop(this,event),this.handleElement.is(event.target)&&this.element.trigger("focus"),$.ui.mouse.prototype._mouseUp.call(this,event)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new $.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(event){return!this.options.handle||!!$(event.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(event){var o=this.options,helperIsFunction=$.isFunction(o.helper),helper=helperIsFunction?$(o.helper.apply(this.element[0],[event])):"clone"===o.helper?this.element.clone().removeAttr("id"):this.element;return helper.parents("body").length||helper.appendTo("parent"===o.appendTo?this.element[0].parentNode:o.appendTo),helperIsFunction&&helper[0]===this.element[0]&&this._setPositionRelative(),helper[0]===this.element[0]||/(fixed|absolute)/.test(helper.css("position"))||helper.css("position","absolute"),helper},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(obj){"string"==typeof obj&&(obj=obj.split(" ")),$.isArray(obj)&&(obj={left:+obj[0],top:+obj[1]||0}
vendor: 4,280 bytes, line 1
1),"left"in obj&&(this.offset.click.left=obj.left+this.margins.left),"right"in obj&&(this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left),"top"in obj&&(this.offset.click.top=obj.top+this.margins.top),"bottom"in obj&&(this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top)},_isRootNode:function(element){return/(html|body)/i.test(element.tagName)||element===this.document[0]},_getParentOffset:function(){var po=this.offsetParent.offset(),document=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&$.contains(this.scrollParent[0],this.offsetParent[0])&&(po.left+=this.scrollParent.scrollLeft(),po.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(po={top:0,left:0}),{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var p=this.element.position(),scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+(scrollIsRootNode?0:this.scrollParent.scrollTop()),left:p.left-(parseInt(this.helper.css("left"),10)||0)+(scrollIsRootNode?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var isUserScrollable,c,ce,o=this.options,document=this.document[0];this.relativeContainer=null,o.containment?"window"!==o.containment?"document"!==o.containment?o.containment.constructor!==Array?("parent"===o.containment&&(o.containment=this.helper[0].parentNode),(ce=(c=$(o.containment))[0])&&(isUserScrollable=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(isUserScrollable?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(isUserScrollable?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c)):this.containment=o.containment:this.containment=[0,0,$(document).width()-this.helperProportions.width-this.margins.left,($(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[$(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,$(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,$(window).scrollLeft()+$(window).width()-this.helperProportions.width-this.margins.left,$(window).scrollTop()+($(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(d,pos){pos||(pos=this.position);var mod="absolute"===d?1:-1,scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-("fixed"===this.cssPosition?-this.offset.scroll.top:scrollIsRootNode?0:this.offset.scroll.top)*mod,left:pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-("fixed"===this.cssPosition?-this.offset.scroll.left:scrollIsRootNode?0:this.offset.scroll.left)*mod}},_generatePosition:function(event,constrainPosition){var containment,co,top,left,o=this.options,scrollIsRootNode=this._isRootNode(this.scrollParent[0]),pageX=event.pageX,pageY=event.pageY;return scrollIsRootNode&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),constrainPosition&&(this.containment&&(this.relativeContainer?(co=this.relativeContainer.offset(),c
vendor: 1,946 bytes, line 1
1ontainment=[this.containment[0]+co.left,this.containment[1]+co.top,this.containment[2]+co.left,this.containment[3]+co.top]):containment=this.containment,event.pageX-this.offset.click.left<containment[0]&&(pageX=containment[0]+this.offset.click.left),event.pageY-this.offset.click.top<containment[1]&&(pageY=containment[1]+this.offset.click.top),event.pageX-this.offset.click.left>containment[2]&&(pageX=containment[2]+this.offset.click.left),event.pageY-this.offset.click.top>containment[3]&&(pageY=containment[3]+this.offset.click.top)),o.grid&&(top=o.grid[1]?this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,pageY=containment?top-this.offset.click.top>=containment[1]||top-this.offset.click.top>containment[3]?top:top-this.offset.click.top>=containment[1]?top-o.grid[1]:top+o.grid[1]:top,left=o.grid[0]?this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,pageX=containment?left-this.offset.click.left>=containment[0]||left-this.offset.click.left>containment[2]?left:left-this.offset.click.left>=containment[0]?left-o.grid[0]:left+o.grid[0]:left),"y"===o.axis&&(pageX=this.originalPageX),"x"===o.axis&&(pageY=this.originalPageY)),{top:pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:scrollIsRootNode?0:this.offset.scroll.top),left:pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:scrollIsRootNode?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(type,event,ui){return ui=ui||this._uiHash(),$.ui.plugin.call(this,type,[event,ui,this],!0),/^(drag|start|stop
vendor: 6,159 bytes, line 1
1)/.test(type)&&(this.positionAbs=this._convertPositionTo("absolute"),ui.offset=this.positionAbs),$.Widget.prototype._trigger.call(this,type,event,ui)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.sortables=[],$(draggable.options.connectToSortable).each(function(){var sortable=$(this).sortable("instance");sortable&&!sortable.options.disabled&&(draggable.sortables.push(sortable),sortable.refreshPositions(),sortable._trigger("activate",event,uiSortable))})},stop:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.cancelHelperRemoval=!1,$.each(draggable.sortables,function(){this.isOver?(this.isOver=0,draggable.cancelHelperRemoval=!0,this.cancelHelperRemoval=!1,this._storedCSS={position:this.placeholder.css("position"),top:this.placeholder.css("top"),left:this.placeholder.css("left")},this._mouseStop(event),this.options.helper=this.options._helper):(this.cancelHelperRemoval=!0,this._trigger("deactivate",event,uiSortable))})},drag:function(event,ui,draggable){$.each(draggable.sortables,function(){var innermostIntersecting=!1,sortable=this;sortable.positionAbs=draggable.positionAbs,sortable.helperProportions=draggable.helperProportions,sortable.offset.click=draggable.offset.click,sortable._intersectsWith(sortable.containerCache)&&(innermostIntersecting=!0,$.each(draggable.sortables,function(){return this.positionAbs=draggable.positionAbs,this.helperProportions=draggable.helperProportions,this.offset.click=draggable.offset.click,this!==sortable&&this._intersectsWith(this.containerCache)&&$.contains(sortable.element[0],this.element[0])&&(innermostIntersecting=!1),innermostIntersecting})),innermostIntersecting?(sortable.isOver||(sortable.isOver=1,draggable._parent=ui.helper.parent(),sortable.currentItem=ui.helper.appendTo(sortable.element).data("ui-sortable-item",!0),sortable.options._helper=sortable.options.helper,sortable.options.helper=function(){return ui.helper[0]},event.target=sortable.currentItem[0],sortable._mouseCapture(event,!0),sortable._mouseStart(event,!0,!0),sortable.offset.click.top=draggable.offset.click.top,sortable.offset.click.left=draggable.offset.click.left,sortable.offset.parent.left-=draggable.offset.parent.left-sortable.offset.parent.left,sortable.offset.parent.top-=draggable.offset.parent.top-sortable.offset.parent.top,draggable._trigger("toSortable",event),draggable.dropped=sortable.element,$.each(draggable.sortables,function(){this.refreshPositions()}),draggable.currentItem=draggable.element,sortable.fromOutside=draggable),sortable.currentItem&&(sortable._mouseDrag(event),ui.position=sortable.position)):sortable.isOver&&(sortable.isOver=0,sortable.cancelHelperRemoval=!0,sortable.options._revert=sortable.options.revert,sortable.options.revert=!1,sortable._trigger("out",event,sortable._uiHash(sortable)),sortable._mouseStop(event,!0),sortable.options.revert=sortable.options._revert,sortable.options.helper=sortable.options._helper,sortable.placeholder&&sortable.placeholder.remove(),ui.helper.appendTo(draggable._parent),draggable._refreshOffsets(event),ui.position=draggable._generatePosition(event,!0),draggable._trigger("fromSortable",event),draggable.dropped=!1,$.each(draggable.sortables,function(){this.refreshPositions()}))})}}),$.ui.plugin.add("draggable","cursor",{start:function(event,ui,instance){var t=$("body"),o=instance.options;t.css("cursor")&&(o._cursor=t.css("cursor")),t.css("cursor",o.cursor)},stop:function(event,ui,instance){var o=instance.options;o._cursor&&$("body").css("cursor",o._cursor)}}),$.ui.plugin.add("draggable","opacity",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;t.css("opacity")&&(o._opacity=t.css("opacity")),t.css("opacity",o.opacity)},stop:function(event,ui,instance){var o=instance.options;o._opacity&&$(ui.helper).css("opacity",o._opacity)}}),$.ui.plugin.add("draggable","scroll",{start:function(event,ui,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(event,ui,i){var o=i.options,scrolled=!1,scrollParent=i.scrollParentNotHidden[0],document=i.document[0];scrollParent!==document&&"HTML"!==scrollParent.tagName?(o.axis&&"x"===o.axis||(i.overflowOffset.top+scrollParent.offsetHeight-event.pageY<o.scrollSensitivity?scrollParent.scrollTop=scrolled=scrollParent.scrollTop+o.scrollSpeed:event.pageY-i.overflowOffset.top<o.scrollSensitivity&&(scrollParent.scrollTop=scrolled=scrollParent.scrollTop-o.scrollSpeed)),o.axis&&"y"===o.axis||(i.overflowOffset.left+scrollParent.offsetWidth-event.pageX<o.scrollSensitivity?scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft+o.scrollSpeed:event.pageX-i.overflowOffset.left<o.scrollSensitivity&&(scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft-o.scrollSpeed))):(o.axis&&"x"===o.axis||(event.pageY-$(document).scrollTop()<o.scrollSensitivity?scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed):$(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity&&(scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed))),o.axis&&"y"===o.axis||(event.pageX-$(document).scrollLeft()<o.scrollSensitivity?scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed):$(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity&&(scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)))),!1!==scrolled&&$.ui.ddmanager&&!o.dropBehaviour&&$.ui.ddmanager.prepareOffsets(i,event)}}),$.ui.plugin.add("draggable","snap",{start:function(event,ui,i){var o=i.options;i.snapElements=[],$(o.snap.constructor!==String?o.snap.items||":data(ui-draggable)":o.snap).each(function(){var $t=$(this),$o=$t.offset();this!==i.element[0]&&i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left
vendor: 6,955 bytes, line 1
1:$o.left})})},drag:function(event,ui,inst){var ts,bs,ls,rs,l,r,t,b,i,first,o=inst.options,d=o.snapTolerance,x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(i=inst.snapElements.length-1;i>=0;i--)r=(l=inst.snapElements[i].left-inst.margins.left)+inst.snapElements[i].width,b=(t=inst.snapElements[i].top-inst.margins.top)+inst.snapElements[i].height,x2<l-d||x1>r+d||y2<t-d||y1>b+d||!$.contains(inst.snapElements[i].item.ownerDocument,inst.snapElements[i].item)?(inst.snapElements[i].snapping&&inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})),inst.snapElements[i].snapping=!1):("inner"!==o.snapMode&&(ts=Math.abs(t-y2)<=d,bs=Math.abs(b-y1)<=d,ls=Math.abs(l-x2)<=d,rs=Math.abs(r-x1)<=d,ts&&(ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top),bs&&(ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top),ls&&(ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left),rs&&(ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left)),first=ts||bs||ls||rs,"outer"!==o.snapMode&&(ts=Math.abs(t-y1)<=d,bs=Math.abs(b-y2)<=d,ls=Math.abs(l-x1)<=d,rs=Math.abs(r-x2)<=d,ts&&(ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top),bs&&(ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top),ls&&(ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left),rs&&(ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left)),!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first)&&inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})),inst.snapElements[i].snapping=ts||bs||ls||rs||first)}}),$.ui.plugin.add("draggable","stack",{start:function(event,ui,instance){var min,o=instance.options,group=$.makeArray($(o.stack)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||0)-(parseInt($(b).css("zIndex"),10)||0)});group.length&&(min=parseInt($(group[0]).css("zIndex"),10)||0,$(group).each(function(i){$(this).css("zIndex",min+i)}),this.css("zIndex",min+group.length))}}),$.ui.plugin.add("draggable","zIndex",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;t.css("zIndex")&&(o._zIndex=t.css("zIndex")),t.css("zIndex",o.zIndex)},stop:function(event,ui,instance){var o=instance.options;o._zIndex&&$(ui.helper).css("zIndex",o._zIndex)}});$.ui.draggable;$.widget("ui.resizable",$.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(value){return parseFloat(value)||0},_isNumber:function(value){return!isNaN(parseFloat(value))},_hasScroll:function(el,a){if("hidden"===$(el).css("overflow"))return!1;var has,scroll=a&&"left"===a?"scrollLeft":"scrollTop";return el[scroll]>0||(el[scroll]=1,has=el[scroll]>0,el[scroll]=0,has)},_create:function(){var margins,o=this.options,that=this;this._addClass("ui-resizable"),$.extend(this,{_aspectRatio:!!o.aspectRatio,aspectRatio:o.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:o.helper||o.ghost||o.animate?o.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap($("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,margins={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(margins),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(margins),this._proportionallyResize()),this._setupHandles(),o.autoHide&&$(this.element).on("mouseenter",function(){o.disabled||(that._removeClass("ui-resizable-autohide"),that._handles.show())}).on("mouseleave",function(){o.disabled||that.resizing||(that._addClass("ui-resizable-autohide"),that._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var wrapper,_destroy=function(exp){$(exp).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(_destroy(this.element),wrapper=this.element,this.originalElement.css({position:wrapper.css("position"),width:wrapper.outerWidth(),height:wrapper.outerHeight(),top:wrapper.css("top"),left:wrapper.css("left")}).insertAfter(wrapper),wrapper.remove()),this.originalElement.css("resize",this.originalResizeStyle),_destroy(this.originalElement),this},_setOption:function(key,value){switch(this._super(key,value),key){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var handle,i,n,hname,axis,o=this.options,that=this;if(this.handles=o.handles||($(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=$(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),n=this.handles.split(","),this.handles={},i=0;i<n.length;i++)hname="ui-resizable-"+(handle=$.trim(n[i])),axis=$("<div>"),this._addClass(axis,"ui-resizable-handle "+hname),axis.css({zIndex:o.zIndex}),this.handles[handle]=".ui-resizable-"+handle,this.element.append(axis);this._renderAxis=function(target){var i,axis,padPos,padWrapper;for(i in target=target||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=$(this.handles[i]),this._on(this.handles[i],{mousedown:that._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(axis=$(this.handles[i],this.element),padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth(),padPos=["padding",/ne|nw|n
vendor: 6,794 bytes, line 1
1/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),target.css(padPos,padWrapper),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){that.resizing||(this.className&&(axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),that.axis=axis&&axis[1]?axis[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(event){var i,handle,capture=!1;for(i in this.handles)((handle=$(this.handles[i])[0])===event.target||$.contains(handle,event.target))&&(capture=!0);return!this.options.disabled&&capture},_mouseStart:function(event){var curleft,curtop,cursor,o=this.options,el=this.element;return this.resizing=!0,this._renderProxy(),curleft=this._num(this.helper.css("left")),curtop=this._num(this.helper.css("top")),o.containment&&(curleft+=$(o.containment).scrollLeft()||0,curtop+=$(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:curleft,top:curtop},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:el.width(),height:el.height()},this.originalSize=this._helper?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()},this.sizeDiff={width:el.outerWidth()-el.width(),height:el.outerHeight()-el.height()},this.originalPosition={left:curleft,top:curtop},this.originalMousePosition={left:event.pageX,top:event.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,cursor=$(".ui-resizable-"+this.axis).css("cursor"),$("body").css("cursor","auto"===cursor?this.axis+"-resize":cursor),this._addClass("ui-resizable-resizing"),this._propagate("start",event),!0},_mouseDrag:function(event){var data,props,smp=this.originalMousePosition,a=this.axis,dx=event.pageX-smp.left||0,dy=event.pageY-smp.top||0,trigger=this._change[a];return this._updatePrevProperties(),!!trigger&&(data=trigger.apply(this,[event,dx,dy]),this._updateVirtualBoundaries(event.shiftKey),(this._aspectRatio||event.shiftKey)&&(data=this._updateRatio(data,event)),data=this._respectSize(data,event),this._updateCache(data),this._propagate("resize",event),props=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),$.isEmptyObject(props)||(this._updatePrevProperties(),this._trigger("resize",event,this.ui()),this._applyChanges()),!1)},_mouseStop:function(event){this.resizing=!1;var pr,ista,soffseth,soffsetw,s,left,top,o=this.options;return this._helper&&(soffseth=(ista=(pr=this._proportionallyResizeElements).length&&/textarea/i.test(pr[0].nodeName))&&this._hasScroll(pr[0],"left")?0:this.sizeDiff.height,soffsetw=ista?0:this.sizeDiff.width,s={width:this.helper.width()-soffsetw,height:this.helper.height()-soffseth},left=parseFloat(this.element.css("left"))+(this.position.left-this.originalPosition.left)||null,top=parseFloat(this.element.css("top"))+(this.position.top-this.originalPosition.top)||null,o.animate||this.element.css($.extend(s,{top:top,left:left})),this.helper.height(this.size.height),this.helper.width(this.size.width),this._helper&&!o.animate&&this._proportionallyResize()),$("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",event),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var props={};return this.position.top!==this.prevPosition.top&&(props.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(props.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(props.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(props.height=this.size.height+"px"),this.helper.css(props),props},_updateVirtualBoundaries:function(forceAspectRatio){var pMinWidth,pMaxWidth,pMinHeight,pMaxHeight,b,o=this.options;b={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||forceAspectRatio)&&(pMinWidth=b.minHeight*this.aspectRatio,pMinHeight=b.minWidth/this.aspectRatio,pMaxWidth=b.maxHeight*this.aspectRatio,pMaxHeight=b.maxWidth/this.aspectRatio,pMinWidth>b.minWidth&&(b.minWidth=pMinWidth),pMinHeight>b.minHeight&&(b.minHeight=pMinHeight),pMaxWidth<b.maxWidth&&(b.maxWidth=pMaxWidth),pMaxHeight<b.maxHeight&&(b.maxHeight=pMaxHeight)),this._vBoundaries=b},_updateCache:function(data){this.offset=this.helper.offset(),this._isNumber(data.left)&&(this.position.left=data.left),this._isNumber(data.top)&&(this.position.top=data.top),this._isNumber(data.height)&&(this.size.height=data.height),this._isNumber(data.width)&&(this.size.width=data.width)},_updateRatio:function(data){var cpos=this.position,csize=this.size,a=this.axis;return this._isNumber(data.height)?data.width=data.height*this.aspectRatio:this._isNumber(data.width)&&(data.height=data.width/this.aspectRatio),"sw"===a&&(data.left=cpos.left+(csize.width-data.width),data.top=null),"nw"===a&&(data.top=cpos.top+(csize.height-data.height),data.left=cpos.left+(csize.width-data.width)),data},_respectSize:function(data){var o=this._vBoundaries,a=this.axis,ismaxw=this._isNumber(data.width)&&o.maxWidth&&o.maxWidth<data.width,ismaxh=this._isNumber(data.height)&&o.maxHeight&&o.maxHeight<data.height,isminw=this._isNumber(data.width)&&o.minWidth&&o.minWidth>data.width,isminh=this._isNumber(data.height)&&o.minHeight&&o.minHeight>data.height,dw=this.originalPosition.left+this.originalSize.width,dh=this.originalPosition.top+this.originalSize.height,cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);return isminw&&(data.width=o.minWidth),isminh&&(data.height=o.minHeight),ismaxw&&(data.width=o.maxWidth),ismaxh&&(data.height=o.maxHeight),isminw&&cw&&(data.left=dw-o.minWidth),ismaxw&&cw&&(data.left=dw-o.maxWidth),isminh&&ch&&(data.top=dh-o.minHeight),ismaxh&&ch&&(data.top=dh-o.maxHeight),data.width||data.height||data.left||!data.top?data.width||data.height||data.top||!data.left||(data.left=null):data.top=null,data},_getPaddingPlusBorderDimensions:function(element){for(var i=0,widths=[],borders=[element.css("borderTopWidth"),element.css("borderRightWidth"),element.css("borderBottomWidth"),element.css("borderLeftWidth")],paddings=[element.css("paddingTop"),element.css("paddingRight"),element.css("paddingBottom"),element.css("paddingLeft")];i<4;
vendor: 4,757 bytes, line 1
1i++)widths[i]=parseFloat(borders[i])||0,widths[i]+=parseFloat(paddings[i])||0;return{height:widths[0]+widths[2],width:widths[1]+widths[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var prel,i=0,element=this.helper||this.element;i<this._proportionallyResizeElements.length;i++)prel=this._proportionallyResizeElements[i],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(prel)),prel.css({height:element.height()-this.outerDimensions.height||0,width:element.width()-this.outerDimensions.width||0})},_renderProxy:function(){var el=this.element,o=this.options;this.elementOffset=el.offset(),this._helper?(this.helper=this.helper||$("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++o.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(event,dx){return{width:this.originalSize.width+dx}},w:function(event,dx){var cs=this.originalSize;return{left:this.originalPosition.left+dx,width:cs.width-dx}},n:function(event,dx,dy){var cs=this.originalSize;return{top:this.originalPosition.top+dy,height:cs.height-dy}},s:function(event,dx,dy){return{height:this.originalSize.height+dy}},se:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},sw:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))},ne:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},nw:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))}},_propagate:function(n,event){$.ui.plugin.call(this,n,[event,this.ui()]),"resize"!==n&&this._trigger(n,event,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),$.ui.plugin.add("resizable","animate",{stop:function(event){var that=$(this).resizable("instance"),o=that.options,pr=that._proportionallyResizeElements,ista=pr.length&&/textarea/i.test(pr[0].nodeName),soffseth=ista&&that._hasScroll(pr[0],"left")?0:that.sizeDiff.height,soffsetw=ista?0:that.sizeDiff.width,style={width:that.size.width-soffsetw,height:that.size.height-soffseth},left=parseFloat(that.element.css("left"))+(that.position.left-that.originalPosition.left)||null,top=parseFloat(that.element.css("top"))+(that.position.top-that.originalPosition.top)||null;that.element.animate($.extend(style,top&&left?{top:top,left:left}:{}),{duration:o.animateDuration,easing:o.animateEasing,step:function(){var data={width:parseFloat(that.element.css("width")),height:parseFloat(that.element.css("height")),top:parseFloat(that.element.css("top")),left:parseFloat(that.element.css("left"))};pr&&pr.length&&$(pr[0]).css({width:data.width,height:data.height}),that._updateCache(data),that._propagate("resize",event)}})}}),$.ui.plugin.add("resizable","containment",{start:function(){var element,p,co,ch,cw,width,height,that=$(this).resizable("instance"),o=that.options,el=that.element,oc=o.containment,ce=oc instanceof $?oc.get(0):/parent/.test(oc)?el.parent().get(0):oc;ce&&(that.containerElement=$(ce),/document/.test(oc)||oc===document?(that.containerOffset={left:0,top:0},that.containerPosition={left:0,top:0},that.parentData={element:$(document),left:0,top:0,width:$(document).width(),height:$(document).height()||document.body.parentNode.scrollHeight}):(element=$(ce),p=[],$(["Top","Right","Left","Bottom"]).each(function(i,name){p[i]=that._num(element.css("padding"+name))}),that.containerOffset=element.offset(),that.containerPosition=element.position(),that.containerSize={height:element.innerHeight()-p[3],width:element.innerWidth()-p[1]},co=that.containerOffset,ch=that.containerSize.height,cw=that.containerSize.width,width=that._hasScroll(ce,"left")?ce.scrollWidth:cw,height=that._hasScroll(ce)?ce.scrollHeight:ch,that.parentData={element:ce,left:co.left,top:co.top,width:width,height:height}))},resize:function(event){var woset,hoset,isParent,isOffsetRelative,that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cp=that.position,pRatio=that._aspectRatio||event.shiftKey,cop={top:0,left:0},ce=that.containerElement,continueResize=!0;ce[0]!==document&&/static/.test(ce.css("position"))&&(cop=co),cp.left<(that._helper?co.left:0)&&(that.size.width=that.size.width+(that._helper?that.position.left-co.left
vendor: 2,565 bytes, line 1
1:that.position.left-cop.left),pRatio&&(that.size.height=that.size.width/that.aspectRatio,continueResize=!1),that.position.left=o.helper?co.left:0),cp.top<(that._helper?co.top:0)&&(that.size.height=that.size.height+(that._helper?that.position.top-co.top:that.position.top),pRatio&&(that.size.width=that.size.height*that.aspectRatio,continueResize=!1),that.position.top=that._helper?co.top:0),isParent=that.containerElement.get(0)===that.element.parent().get(0),isOffsetRelative=/relative|absolute/.test(that.containerElement.css("position")),isParent&&isOffsetRelative?(that.offset.left=that.parentData.left+that.position.left,that.offset.top=that.parentData.top+that.position.top):(that.offset.left=that.element.offset().left,that.offset.top=that.element.offset().top),woset=Math.abs(that.sizeDiff.width+(that._helper?that.offset.left-cop.left:that.offset.left-co.left)),hoset=Math.abs(that.sizeDiff.height+(that._helper?that.offset.top-cop.top:that.offset.top-co.top)),woset+that.size.width>=that.parentData.width&&(that.size.width=that.parentData.width-woset,pRatio&&(that.size.height=that.size.width/that.aspectRatio,continueResize=!1)),hoset+that.size.height>=that.parentData.height&&(that.size.height=that.parentData.height-hoset,pRatio&&(that.size.width=that.size.height*that.aspectRatio,continueResize=!1)),continueResize||(that.position.left=that.prevPosition.left,that.position.top=that.prevPosition.top,that.size.width=that.prevSize.width,that.size.height=that.prevSize.height)},stop:function(){var that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cop=that.containerPosition,ce=that.containerElement,helper=$(that.helper),ho=helper.offset(),w=helper.outerWidth()-that.sizeDiff.width,h=helper.outerHeight()-that.sizeDiff.height;that._helper&&!o.animate&&/relative/.test(ce.css("position"))&&$(this).css({left:ho.left-cop.left-co.left,width:w,height:h}),that._helper&&!o.animate&&/static/.test(ce.css("position"))&&$(this).css({left:ho.left-cop.left-co.left,width:w,height:h})}}),$.ui.plugin.add("resizable","alsoResize",{start:function(){var o=$(this).resizable("instance").options;$(o.alsoResize).each(function(){var el=$(this);el.data("ui-resizable-alsoresize",{width:parseFloat(el.width()),height:parseFloat(el.height()),left:parseFloat(el.css("left")),top:parseFloat(el.css("top"))})})},resize:function(event,ui){var that=$(this).resizable("instance"),o=that.options,os=that.originalSize,op=that.originalPosition,delta={height:that.size.height-os.height||0,width:that.size.width-os.width||0,top:that.position.top-op.top||0,left
vendor: 75,208 bytes, line 1
1:that.position.left-op.left||0};$(o.alsoResize).each(function(){var el=$(this),start=$(this).data("ui-resizable-alsoresize"),style={},css=el.parents(ui.originalElement[0]).length?["width","height"]:["width","height","top","left"];$.each(css,function(i,prop){var sum=(start[prop]||0)+(delta[prop]||0);sum&&sum>=0&&(style[prop]=sum||null)}),el.css(style)})},stop:function(){$(this).removeData("ui-resizable-alsoresize")}}),$.ui.plugin.add("resizable","ghost",{start:function(){var that=$(this).resizable("instance"),cs=that.size;that.ghost=that.originalElement.clone(),that.ghost.css({opacity:.25,display:"block",position:"relative",height:cs.height,width:cs.width,margin:0,left:0,top:0}),that._addClass(that.ghost,"ui-resizable-ghost"),!1!==$.uiBackCompat&&"string"==typeof that.options.ghost&&that.ghost.addClass(this.options.ghost),that.ghost.appendTo(that.helper)},resize:function(){var that=$(this).resizable("instance");that.ghost&&that.ghost.css({position:"relative",height:that.size.height,width:that.size.width})},stop:function(){var that=$(this).resizable("instance");that.ghost&&that.helper&&that.helper.get(0).removeChild(that.ghost.get(0))}}),$.ui.plugin.add("resizable","grid",{resize:function(){var outerDimensions,that=$(this).resizable("instance"),o=that.options,cs=that.size,os=that.originalSize,op=that.originalPosition,a=that.axis,grid="number"==typeof o.grid?[o.grid,o.grid]:o.grid,gridX=grid[0]||1,gridY=grid[1]||1,ox=Math.round((cs.width-os.width)/gridX)*gridX,oy=Math.round((cs.height-os.height)/gridY)*gridY,newWidth=os.width+ox,newHeight=os.height+oy,isMaxWidth=o.maxWidth&&o.maxWidth<newWidth,isMaxHeight=o.maxHeight&&o.maxHeight<newHeight,isMinWidth=o.minWidth&&o.minWidth>newWidth,isMinHeight=o.minHeight&&o.minHeight>newHeight;o.grid=grid,isMinWidth&&(newWidth+=gridX),isMinHeight&&(newHeight+=gridY),isMaxWidth&&(newWidth-=gridX),isMaxHeight&&(newHeight-=gridY),/^(se|s|e)$/.test(a)?(that.size.width=newWidth,that.size.height=newHeight):/^(ne)$/.test(a)?(that.size.width=newWidth,that.size.height=newHeight,that.position.top=op.top-oy):/^(sw)$/.test(a)?(that.size.width=newWidth,that.size.height=newHeight,that.position.left=op.left-ox):((newHeight-gridY<=0||newWidth-gridX<=0)&&(outerDimensions=that._getPaddingPlusBorderDimensions(this)),newHeight-gridY>0?(that.size.height=newHeight,that.position.top=op.top-oy):(newHeight=gridY-outerDimensions.height,that.size.height=newHeight,that.position.top=op.top+os.height-newHeight),newWidth-gridX>0?(that.size.width=newWidth,that.position.left=op.left-ox):(newWidth=gridX-outerDimensions.width,that.size.width=newWidth,that.position.left=op.left+os.width-newWidth))}});$.ui.resizable;$.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(pos){var topOffset=$(this).css(pos).offset().top;topOffset<0&&$(this).css("top",pos.top-topOffset)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&$.fn.draggable&&this._makeDraggable(),this.options.resizable&&$.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var element=this.options.appendTo;return element&&(element.jquery||element.nodeType)?$(element):this.document.find(element||"body").eq(0)},_destroy:function(){var next,originalPosition=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(next=originalPosition.parent.children().eq(originalPosition.index)).length&&next[0]!==this.element[0]?next.before(this.element):originalPosition.parent.append(this.element)},widget:function(){return this.uiDialog},disable:$.noop,enable:$.noop,close:function(event){var that=this;this._isOpen&&!1!==this._trigger("beforeClose",event)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||$.ui.safeBlur($.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){that._trigger("close",event)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(event,silent){var moved=!1,zIndices=this.uiDialog.siblings(".ui-front:visible").map(function(){return+$(this).css("z-index")}).get(),zIndexMax=Math.max.apply(null,zIndices);return zIndexMax>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",zIndexMax+1),moved=!0),moved&&!silent&&this._trigger("focus",event),moved},open:function(){var that=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=$($.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){that._focusTabbable(),that._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var hasFocus=this._focusedElement;hasFocus||(hasFocus=this.element.find("[autofocus]")),hasFocus.length||(hasFocus=this.element.find(":tabbable")),hasFocus.length||(hasFocus=this.uiDialogButtonPane.find(":tabbable")),hasFocus.length||(hasFocus=this.uiDialogTitlebarClose.filter(":tabbable")),hasFocus.length||(hasFocus=this.uiDialog),hasFocus.eq(0).trigger("focus")},_keepFocus:function(event){function checkFocus(){var activeElement=$.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===activeElement||$.contains(this.uiDialog[0],activeElement)||this._focusTabbable()}event.preventDefault(),checkFocus.call(this),this._delay(checkFocus)},_createWrapper:function(){this.uiDialog=$("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(event){if(this.options.closeOnEscape&&!event.isDefaultPrevented()&&event.keyCode&&event.keyCode===$.ui.keyCode.ESCAPE)return event.preventDefault(),void this.close(event);if(event.keyCode===$.ui.keyCode.TAB&&!event.isDefaultPrevented()){var tabbables=this.uiDialog.find(":tabbable"),first=tabbables.filter(":first"),last=tabbables.filter(":last");event.target!==last[0]&&event.target!==this.uiDialog[0]||event.shiftKey?event.target!==first[0]&&event.target!==this.uiDialog[0]||!event.shiftKey||(this._delay(function(){last.trigger("focus")}),event.preventDefault()):(this._delay(function(){first.trigger("focus")}),event.preventDefault())}},mousedown:function(event){this._moveToTop(event)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var uiDialogTitle;this.uiDialogTitlebar=$("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(event){$(event.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=$("<button type='button'></button>").button({label:$("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(event){event.preventDefault(),this.close(event)}}),uiDialogTitle=$("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(uiDialogTitle,"ui-dialog-title"),this._title(uiDialogTitle),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":uiDialogTitle.attr("id")})},_title:function(title){this.options.title?title.text(this.options.title):title.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=$("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=$("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var that=this,buttons=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),$.isEmptyObject(buttons)||$.isArray(buttons)&&!buttons.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):($.each(buttons,function(name,props){var click,buttonOptions;props=$.isFunction(props)?{click:props,text:name}:props,props=$.extend({type:"button"},props),click=props.click,buttonOptions={icon:props.icon,iconPosition:props.iconPosition,showLabel:props.showLabel,icons:props.icons,text:props.text},delete props.click,delete props.icon,delete props.iconPosition,delete props.showLabel,delete props.icons,"boolean"==typeof props.text&&delete props.text,$("<button></button>",props).button(buttonOptions).appendTo(that.uiButtonSet).on("click",function(){click.apply(that.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var that=this,options=this.options;function filteredUi(ui){return{position:ui.position,offset:ui.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(event,ui){that._addClass($(this),"ui-dialog-dragging"),that._blockFrames(),that._trigger("dragStart",event,filteredUi(ui))},drag:function(event,ui){that._trigger("drag",event,filteredUi(ui))},stop:function(event,ui){var left=ui.offset.left-that.document.scrollLeft(),top=ui.offset.top-that.document.scrollTop();options.position={my:"left top",at:"left"+(left>=0?"+":"")+left+" top"+(top>=0?"+":"")+top,of:that.window},that._removeClass($(this),"ui-dialog-dragging"),that._unblockFrames(),that._trigger("dragStop",event,filteredUi(ui))}})},_makeResizable:function(){var that=this,options=this.options,handles=options.resizable,position=this.uiDialog.css("position"),resizeHandles="string"==typeof handles?handles:"n,e,s,w,se,sw,ne,nw";function filteredUi(ui){return{originalPosition:ui.originalPosition,originalSize:ui.originalSize,position:ui.position,size:ui.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:options.maxWidth,maxHeight:options.maxHeight,minWidth:options.minWidth,minHeight:this._minHeight(),handles:resizeHandles,start:function(event,ui){that._addClass($(this),"ui-dialog-resizing"),that._blockFrames(),that._trigger("resizeStart",event,filteredUi(ui))},resize:function(event,ui){that._trigger("resize",event,filteredUi(ui))},stop:function(event,ui){var offset=that.uiDialog.offset(),left=offset.left-that.document.scrollLeft(),top=offset.top-that.document.scrollTop();options.height=that.uiDialog.height(),options.width=that.uiDialog.width(),options.position={my:"left top",at:"left"+(left>=0?"+":"")+left+" top"+(top>=0?"+":"")+top,of:that.window},that._removeClass($(this),"ui-dialog-resizing"),that._unblockFrames(),that._trigger("resizeStop",event,filteredUi(ui))}}).css("position",position)},_trackFocus:function(){this._on(this.widget(),{focusin:function(event){this._makeFocusTarget(),this._focusedElement=$(event.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var instances=this._trackingInstances(),exists=$.inArray(this,instances);-1!==exists&&instances.splice(exists,1)},_trackingInstances:function(){var instances=this.document.data("ui-dialog-instances");return instances||(instances=[],this.document.data("ui-dialog-instances",instances)),instances},_minHeight:function(){var options=this.options;return"auto"===options.height?options.minHeight:Math.min(options.minHeight,options.height)},_position:function(){var isVisible=this.uiDialog.is(":visible");isVisible||this.uiDialog.show(),this.uiDialog.position(this.options.position),isVisible||this.uiDialog.hide()},_setOptions:function(options){var that=this,resize=!1,resizableOptions={};$.each(options,function(key,value){that._setOption(key,value),key in that.sizeRelatedOptions&&(resize=!0),key in that.resizableRelatedOptions&&(resizableOptions[key]=value)}),resize&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",resizableOptions)},_setOption:function(key,value){var isDraggable,isResizable,uiDialog=this.uiDialog;"disabled"!==key&&(this._super(key,value),"appendTo"===key&&this.uiDialog.appendTo(this._appendTo()),"buttons"===key&&this._createButtons(),"closeText"===key&&this.uiDialogTitlebarClose.button({label:$("<a>").text(""+this.options.closeText).html()}),"draggable"===key&&((isDraggable=uiDialog.is(":data(ui-draggable)"))&&!value&&uiDialog.draggable("destroy"),!isDraggable&&value&&this._makeDraggable()),"position"===key&&this._position(),"resizable"===key&&((isResizable=uiDialog.is(":data(ui-resizable)"))&&!value&&uiDialog.resizable("destroy"),isResizable&&"string"==typeof value&&uiDialog.resizable("option","handles",value),isResizable||!1===value||this._makeResizable()),"title"===key&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var nonContentHeight,minContentHeight,maxContentHeight,options=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),options.minWidth>options.width&&(options.width=options.minWidth),nonContentHeight=this.uiDialog.css({height:"auto",width:options.width}).outerHeight(),minContentHeight=Math.max(0,options.minHeight-nonContentHeight),maxContentHeight="number"==typeof options.maxHeight?Math.max(0,options.maxHeight-nonContentHeight):"none","auto"===options.height?this.element.css({minHeight:minContentHeight,maxHeight:maxContentHeight,height:"auto"}):this.element.height(Math.max(0,options.height-nonContentHeight)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var iframe=$(this);return $("<div>").css({position:"absolute",width:iframe.outerWidth(),height:iframe.outerHeight()}).appendTo(iframe.parent()).offset(iframe.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(event){return!!$(event.target).closest(".ui-dialog").length||!!$(event.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var isOpening=!0;this._delay(function(){isOpening=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(event){isOpening||this._allowInteraction(event)||(event.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=$("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var overlays=this.document.data("ui-dialog-overlays")-1;overlays?this.document.data("ui-dialog-overlays",overlays):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==$.uiBackCompat&&$.widget("ui.dialog",$.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(key,value){"dialogClass"===key&&this.uiDialog.removeClass(this.options.dialogClass).addClass(value),this._superApply(arguments)}});$.ui.dialog;$.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var proportions,o=this.options,accept=o.accept;this.isover=!1,this.isout=!0,this.accept=$.isFunction(accept)?accept:function(d){return d.is(accept)},this.proportions=function(){if(!arguments.length)return proportions||(proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});proportions=arguments[0]},this._addToManager(o.scope),o.addClasses&&this._addClass("ui-droppable")},_addToManager:function(scope){$.ui.ddmanager.droppables[scope]=$.ui.ddmanager.droppables[scope]||[],$.ui.ddmanager.droppables[scope].push(this)},_splice:function(drop){for(var i=0;i<drop.length;i++)drop[i]===this&&drop.splice(i,1)},_destroy:function(){var drop=$.ui.ddmanager.droppables[this.options.scope];this._splice(drop)},_setOption:function(key,value){if("accept"===key)this.accept=$.isFunction(value)?value:function(d){return d.is(value)};else if("scope"===key){var drop=$.ui.ddmanager.droppables[this.options.scope];this._splice(drop),this._addToManager(value)}this._super(key,value)},_activate:function(event){var draggable=$.ui.ddmanager.current;this._addActiveClass(),draggable&&this._trigger("activate",event,this.ui(draggable))},_deactivate:function(event){var draggable=$.ui.ddmanager.current;this._removeActiveClass(),draggable&&this._trigger("deactivate",event,this.ui(draggable))},_over:function(event){var draggable=$.ui.ddmanager.current;draggable&&(draggable.currentItem||draggable.element)[0]!==this.element[0]&&this.accept.call(this.element[0],draggable.currentItem||draggable.element)&&(this._addHoverClass(),this._trigger("over",event,this.ui(draggable)))},_out:function(event){var draggable=$.ui.ddmanager.current;draggable&&(draggable.currentItem||draggable.element)[0]!==this.element[0]&&this.accept.call(this.element[0],draggable.currentItem||draggable.element)&&(this._removeHoverClass(),this._trigger("out",event,this.ui(draggable)))},_drop:function(event,custom){var draggable=custom||$.ui.ddmanager.current,childrenIntersection=!1;return!(!draggable||(draggable.currentItem||draggable.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var inst=$(this).droppable("instance");if(inst.options.greedy&&!inst.options.disabled&&inst.options.scope===draggable.options.scope&&inst.accept.call(inst.element[0],draggable.currentItem||draggable.element)&&intersect(draggable,$.extend(inst,{offset:inst.element.offset()}),inst.options.tolerance,event))return childrenIntersection=!0,!1}),!childrenIntersection&&(!!this.accept.call(this.element[0],draggable.currentItem||draggable.element)&&(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",event,this.ui(draggable)),this.element)))},ui:function(c){return{draggable:c.currentItem||c.element,helper:c.helper,position:c.position,offset:c.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var intersect=$.ui.intersect=function(){function isOverAxis(x,reference,size){return x>=reference&&x<reference+size}return function(draggable,droppable,toleranceMode,event){if(!droppable.offset)return!1;var x1=(draggable.positionAbs||draggable.position.absolute).left+draggable.margins.left,y1=(draggable.positionAbs||draggable.position.absolute).top+draggable.margins.top,x2=x1+draggable.helperProportions.width,y2=y1+draggable.helperProportions.height,l=droppable.offset.left,t=droppable.offset.top,r=l+droppable.proportions().width,b=t+droppable.proportions().height;switch(toleranceMode){case"fit":return l<=x1&&x2<=r&&t<=y1&&y2<=b;case"intersect":return l<x1+draggable.helperProportions.width/2&&x2-draggable.helperProportions.width/2<r&&t<y1+draggable.helperProportions.height/2&&y2-draggable.helperProportions.height/2<b;case"pointer":return isOverAxis(event.pageY,t,droppable.proportions().height)&&isOverAxis(event.pageX,l,droppable.proportions().width);case"touch":return(y1>=t&&y1<=b||y2>=t&&y2<=b||y1<t&&y2>b)&&(x1>=l&&x1<=r||x2>=l&&x2<=r||x1<l&&x2>r);default:return!1}}}();$.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(t,event){var i,j,m=$.ui.ddmanager.droppables[t.options.scope]||[],type=event?event.type:null,list=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();droppablesLoop:for(i=0;i<m.length;i++)if(!(m[i].options.disabled||t&&!m[i].accept.call(m[i].element[0],t.currentItem||t.element))){for(j=0;j<list.length;j++)if(list[j]===m[i].element[0]){m[i].proportions().height=0;continue droppablesLoop}m[i].visible="none"!==m[i].element.css("display"),m[i].visible&&("mousedown"===type&&m[i]._activate.call(m[i],event),m[i].offset=m[i].element.offset(),m[i].proportions({width:m[i].element[0].offsetWidth,height:m[i].element[0].offsetHeight}))}},drop:function(draggable,event){var dropped=!1;return $.each(($.ui.ddmanager.droppables[draggable.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&intersect(draggable,this,this.options.tolerance,event)&&(dropped=this._drop.call(this,event)||dropped),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],draggable.currentItem||draggable.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,event)))}),dropped},dragStart:function(draggable,event){draggable.element.parentsUntil("body").on("scroll.droppable",function(){draggable.options.refreshPositions||$.ui.ddmanager.prepareOffsets(draggable,event)})},drag:function(draggable,event){draggable.options.refreshPositions&&$.ui.ddmanager.prepareOffsets(draggable,event),$.each($.ui.ddmanager.droppables[draggable.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var parentInstance,scope,parent,intersects=intersect(draggable,this,this.options.tolerance,event),c=!intersects&&this.isover?"isout":intersects&&!this.isover?"isover":null;c&&(this.options.greedy&&(scope=this.options.scope,(parent=this.element.parents(":data(ui-droppable)").filter(function(){return $(this).droppable("instance").options.scope===scope})).length&&((parentInstance=$(parent[0]).droppable("instance")).greedyChild="isover"===c)),parentInstance&&"isover"===c&&(parentInstance.isover=!1,parentInstance.isout=!0,parentInstance._out.call(parentInstance,event)),this[c]=!0,this["isout"===c?"isover":"isout"]=!1,this["isover"===c?"_over":"_out"].call(this,event),parentInstance&&"isout"===c&&(parentInstance.isout=!1,parentInstance.isover=!0,parentInstance._over.call(parentInstance,event)))}})},dragStop:function(draggable,event){draggable.element.parentsUntil("body").off("scroll.droppable"),draggable.options.refreshPositions||$.ui.ddmanager.prepareOffsets(draggable,event)}},!1!==$.uiBackCompat&&$.widget("ui.droppable",$.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}});$.ui.droppable,$.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=$("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(newValue){if(void 0===newValue)return this.options.value;this.options.value=this._constrainedValue(newValue),this._refreshValue()},_constrainedValue:function(newValue){return void 0===newValue&&(newValue=this.options.value),this.indeterminate=!1===newValue,"number"!=typeof newValue&&(newValue=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,newValue))},_setOptions:function(options){var value=options.value;delete options.value,this._super(options),this.options.value=this._constrainedValue(value),this._refreshValue()},_setOption:function(key,value){"max"===key&&(value=Math.max(this.min,value)),this._super(key,value)},_setOptionDisabled:function(value){this._super(value),this.element.attr("aria-disabled",value),this._toggleClass(null,"ui-state-disabled",!!value)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var value=this.options.value,percentage=this._percentage();this.valueDiv.toggle(this.indeterminate||value>this.min).width(percentage.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,value===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=$("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":value}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==value&&(this.oldValue=value,this._trigger("change")),value===this.options.max&&this._trigger("complete")}}),$.widget("ui.selectable",$.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var that=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){that.elementPos=$(that.element[0]).offset(),that.selectees=$(that.options.filter,that.element[0]),that._addClass(that.selectees,"ui-selectee"),that.selectees.each(function(){var $this=$(this),selecteeOffset=$this.offset(),pos={left:selecteeOffset.left-that.elementPos.left,top:selecteeOffset.top-that.elementPos.top};$.data(this,"selectable-item",{element:this,$element:$this,left:pos.left,top:pos.top,right:pos.left+$this.outerWidth(),bottom:pos.top+$this.outerHeight(),startselected:!1,selected:$this.hasClass("ui-selected"),selecting:$this.hasClass("ui-selecting"),unselecting:$this.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=$("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(event){var that=this,options=this.options;this.opos=[event.pageX,event.pageY],this.elementPos=$(this.element[0]).offset(),this.options.disabled||(this.selectees=$(options.filter,this.element[0]),this._trigger("start",event),$(options.appendTo).append(this.helper),this.helper.css({left:event.pageX,top:event.pageY,width:0,height:0}),options.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var selectee=$.data(this,"selectable-item");selectee.startselected=!0,event.metaKey||event.ctrlKey||(that._removeClass(selectee.$element,"ui-selected"),selectee.selected=!1,that._addClass(selectee.$element,"ui-unselecting"),selectee.unselecting=!0,that._trigger("unselecting",event,{unselecting:selectee.element}))}),$(event.target).parents().addBack().each(function(){var doSelect,selectee=$.data(this,"selectable-item");if(selectee)return doSelect=!event.metaKey&&!event.ctrlKey||!selectee.$element.hasClass("ui-selected"),that._removeClass(selectee.$element,doSelect?"ui-unselecting":"ui-selected")._addClass(selectee.$element,doSelect?"ui-selecting":"ui-unselecting"),selectee.unselecting=!doSelect,selectee.selecting=doSelect,selectee.selected=doSelect,doSelect?that._trigger("selecting",event,{selecting:selectee.element}):that._trigger("unselecting",event,{unselecting:selectee.element}),!1}))},_mouseDrag:function(event){if(this.dragged=!0,!this.options.disabled){var tmp,that=this,options=this.options,x1=this.opos[0],y1=this.opos[1],x2=event.pageX,y2=event.pageY;return x1>x2&&(tmp=x2,x2=x1,x1=tmp),y1>y2&&(tmp=y2,y2=y1,y1=tmp),this.helper.css({left:x1,top:y1,width:x2-x1,height:y2-y1}),this.selectees.each(function(){var selectee=$.data(this,"selectable-item"),hit=!1,offset={};selectee&&selectee.element!==that.element[0]&&(offset.left=selectee.left+that.elementPos.left,offset.right=selectee.right+that.elementPos.left,offset.top=selectee.top+that.elementPos.top,offset.bottom=selectee.bottom+that.elementPos.top,"touch"===options.tolerance?hit=!(offset.left>x2||offset.right<x1||offset.top>y2||offset.bottom<y1):"fit"===options.tolerance&&(hit=offset.left>x1&&offset.right<x2&&offset.top>y1&&offset.bottom<y2),hit?(selectee.selected&&(that._removeClass(selectee.$element,"ui-selected"),selectee.selected=!1),selectee.unselecting&&(that._removeClass(selectee.$element,"ui-unselecting"),selectee.unselecting=!1),selectee.selecting||(that._addClass(selectee.$element,"ui-selecting"),selectee.selecting=!0,that._trigger("selecting",event,{selecting:selectee.element}))):(selectee.selecting&&((event.metaKey||event.ctrlKey)&&selectee.startselected?(that._removeClass(selectee.$element,"ui-selecting"),selectee.selecting=!1,that._addClass(selectee.$element,"ui-selected"),selectee.selected=!0):(that._removeClass(selectee.$element,"ui-selecting"),selectee.selecting=!1,selectee.startselected&&(that._addClass(selectee.$element,"ui-unselecting"),selectee.unselecting=!0),that._trigger("unselecting",event,{unselecting:selectee.element}))),selectee.selected&&(event.metaKey||event.ctrlKey||selectee.startselected||(that._removeClass(selectee.$element,"ui-selected"),selectee.selected=!1,that._addClass(selectee.$element,"ui-unselecting"),selectee.unselecting=!0,that._trigger("unselecting",event,{unselecting:selectee.element})))))}),!1}},_mouseStop:function(event){var that=this;return this.dragged=!1,$(".ui-unselecting",this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");that._removeClass(selectee.$element,"ui-unselecting"),selectee.unselecting=!1,selectee.startselected=!1,that._trigger("unselected",event,{unselected:selectee.element})}),$(".ui-selecting",this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");that._removeClass(selectee.$element,"ui-selecting")._addClass(selectee.$element,"ui-selected"),selectee.selecting=!1,selectee.selected=!0,selectee.startselected=!0,that._trigger("selected",event,{selected:selectee.element})}),this._trigger("stop",event),this.helper.remove(),!1}}),$.widget("ui.selectmenu",[$.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var selectmenuId=this.element.uniqueId().attr("id");this.ids={element:selectmenuId,button:selectmenuId+"-button",menu:selectmenuId+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=$()},_drawButton:function(){var icon,that=this,item=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(event){this.button.focus(),event.preventDefault()}}),this.element.hide(),this.button=$("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),icon=$("<span>").appendTo(this.button),this._addClass(icon,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(item).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){that._rendered||that._refreshMenu()})},_drawMenu:function(){var that=this;this.menu=$("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=$("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(event,ui){event.preventDefault(),that._setSelection(),that._select(ui.item.data("ui-selectmenu-item"),event)},focus:function(event,ui){var item=ui.item.data("ui-selectmenu-item");null!=that.focusIndex&&item.index!==that.focusIndex&&(that._trigger("focus",event,{item:item}),that.isOpen||that._select(item,event)),that.focusIndex=item.index,that.button.attr("aria-activedescendant",that.menuItems.eq(item.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var item,options=this.element.find("option");this.menu.empty(),this._parseOptions(options),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,options.length&&(item=this._getSelectedItem(),this.menuInstance.focus(null,item),this._setAria(item.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(event){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",event)))},_position:function(){this.menuWrap.position($.extend({of:this.button},this.options.position))},close:function(event){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",event))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(item){var buttonItem=$("<span>");return this._setText(buttonItem,item.label),this._addClass(buttonItem,"ui-selectmenu-text"),buttonItem},_renderMenu:function(ul,items){var that=this,currentOptgroup="";$.each(items,function(index,item){var li;item.optgroup!==currentOptgroup&&(li=$("<li>",{text:item.optgroup}),that._addClass(li,"ui-selectmenu-optgroup","ui-menu-divider"+(item.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),li.appendTo(ul),currentOptgroup=item.optgroup),that._renderItemData(ul,item)})},_renderItemData:function(ul,item){return this._renderItem(ul,item).data("ui-selectmenu-item",item)},_renderItem:function(ul,item){var li=$("<li>"),wrapper=$("<div>",{title:item.element.attr("title")});return item.disabled&&this._addClass(li,null,"ui-state-disabled"),this._setText(wrapper,item.label),li.append(wrapper).appendTo(ul)},_setText:function(element,value){value?element.text(value):element.html("&#160;")},_move:function(direction,event){var item,next,filter=".ui-menu-item";this.isOpen?item=this.menuItems.eq(this.focusIndex).parent("li"):(item=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),filter+=":not(.ui-state-disabled)"),(next="first"===direction||"last"===direction?item["first"===direction?"prevAll":"nextAll"](filter).eq(-1):item[direction+"All"](filter).eq(0)).length&&this.menuInstance.focus(event,next)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(event){this[this.isOpen?"close":"open"](event)},_setSelection:function(){var selection;this.range&&(window.getSelection?((selection=window.getSelection()).removeAllRanges(),selection.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(event){this.isOpen&&($(event.target).closest(".ui-selectmenu-menu, #"+$.ui.escapeSelector(this.ids.button)).length||this.close(event))}},_buttonEvents:{mousedown:function(){var selection;window.getSelection?(selection=window.getSelection()).rangeCount&&(this.range=selection.getRangeAt(0)):this.range=document.selection.createRange()},click:function(event){this._setSelection(),this._toggle(event)},keydown:function(event){var preventDefault=!0;switch(event.keyCode){case $.ui.keyCode.TAB:case $.ui.keyCode.ESCAPE:this.close(event),preventDefault=!1;break;case $.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(event);break;case $.ui.keyCode.UP:event.altKey?this._toggle(event):this._move("prev",event);break;case $.ui.keyCode.DOWN:event.altKey?this._toggle(event):this._move("next",event);break;case $.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(event):this._toggle(event);break;case $.ui.keyCode.LEFT:this._move("prev",event);break;case $.ui.keyCode.RIGHT:this._move("next",event);break;case $.ui.keyCode.HOME:case $.ui.keyCode.PAGE_UP:this._move("first",event);break;case $.ui.keyCode.END:case $.ui.keyCode.PAGE_DOWN:this._move("last",event);break;default:this.menu.trigger(event),preventDefault=!1}preventDefault&&event.preventDefault()}},_selectFocusedItem:function(event){var item=this.menuItems.eq(this.focusIndex).parent("li");item.hasClass("ui-state-disabled")||this._select(item.data("ui-selectmenu-item"),event)},_select:function(item,event){var oldIndex=this.element[0].selectedIndex;this.element[0].selectedIndex=item.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(item)),this._setAria(item),this._trigger("select",event,{item:item}),item.index!==oldIndex&&this._trigger("change",event,{item:item}),this.close(event)},_setAria:function(item){var id=this.menuItems.eq(item.index).attr("id");this.button.attr({"aria-labelledby":id,"aria-activedescendant":id}),this.menu.attr("aria-activedescendant",id)},_setOption:function(key,value){if("icons"===key){var icon=this.button.find("span.ui-icon");this._removeClass(icon,null,this.options.icons.button)._addClass(icon,null,value.button)}this._super(key,value),"appendTo"===key&&this.menuWrap.appendTo(this._appendTo()),"width"===key&&this._resizeButton()},_setOptionDisabled:function(value){this._super(value),this.menuInstance.option("disabled",value),this.button.attr("aria-disabled",value),this._toggleClass(this.button,null,"ui-state-disabled",value),this.element.prop("disabled",value),value?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var element=this.options.appendTo;return element&&(element=element.jquery||element.nodeType?$(element):this.document.find(element).eq(0)),element&&element[0]||(element=this.element.closest(".ui-front, dialog")),element.length||(element=this.document[0].body),element},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var width=this.options.width;!1!==width?(null===width&&(width=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(width)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var options=this._super();return options.disabled=this.element.prop("disabled"),options},_parseOptions:function(options){var that=this,data=[];options.each(function(index,item){data.push(that._parseOption($(item),index))}),this.items=data},_parseOption:function(option,index){var optgroup=option.parent("optgroup");return{element:option,index:index,value:option.val(),label:option.text(),optgroup:optgroup.attr("label")||"",disabled:optgroup.prop("disabled")||option.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),$.widget("ui.slider",$.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var i,handleCount,options=this.options,existingHandles=this.element.find(".ui-slider-handle"),handles=[];for(handleCount=options.values&&options.values.length||1,existingHandles.length>handleCount&&(existingHandles.slice(handleCount).remove(),existingHandles=existingHandles.slice(0,handleCount)),i=existingHandles.length;i<handleCount;i++)handles.push("<span tabindex='0'></span>");this.handles=existingHandles.add($(handles.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(i){$(this).data("ui-slider-handle-index",i).attr("tabIndex",0)})},_createRange:function(){var options=this.options;options.range?(!0===options.range&&(options.values?options.values.length&&2!==options.values.length?options.values=[options.values[0],options.values[0]]:$.isArray(options.values)&&(options.values=options.values.slice(0)):options.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=$("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==options.range&&"max"!==options.range||this._addClass(this.range,"ui-slider-range-"+options.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(event){var position,normValue,distance,closestHandle,index,offset,mouseOverHandle,that=this,o=this.options;return!o.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),position={x:event.pageX,y:event.pageY},normValue=this._normValueFromMouse(position),distance=this._valueMax()-this._valueMin()+1,this.handles.each(function(i){var thisDistance=Math.abs(normValue-that.values(i));(distance>thisDistance||distance===thisDistance&&(i===that._lastChangedValue||that.values(i)===o.min))&&(distance=thisDistance,closestHandle=$(this),index=i)}),!1!==this._start(event,index)&&(this._mouseSliding=!0,this._handleIndex=index,this._addClass(closestHandle,null,"ui-state-active"),closestHandle.trigger("focus"),offset=closestHandle.offset(),mouseOverHandle=!$(event.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=mouseOverHandle?{left:0,top:0}:{left:event.pageX-offset.left-closestHandle.width()/2,top:event.pageY-offset.top-closestHandle.height()/2-(parseInt(closestHandle.css("borderTopWidth"),10)||0)-(parseInt(closestHandle.css("borderBottomWidth"),10)||0)+(parseInt(closestHandle.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(event,index,normValue),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(event){var position={x:event.pageX,y:event.pageY},normValue=this._normValueFromMouse(position);return this._slide(event,this._handleIndex,normValue),!1},_mouseStop:function(event){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(event,this._handleIndex),this._change(event,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(position){var pixelTotal,pixelMouse,percentMouse,valueTotal,valueMouse;return"horizontal"===this.orientation?(pixelTotal=this.elementSize.width,pixelMouse=position.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(pixelTotal=this.elementSize.height,pixelMouse=position.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(percentMouse=pixelMouse/pixelTotal)>1&&(percentMouse=1),percentMouse<0&&(percentMouse=0),"vertical"===this.orientation&&(percentMouse=1-percentMouse),valueTotal=this._valueMax()-this._valueMin(),valueMouse=this._valueMin()+percentMouse*valueTotal,this._trimAlignValue(valueMouse)},_uiHash:function(index,value,values){var uiHash={handle:this.handles[index],handleIndex:index,value:void 0!==value?value:this.value()};return this._hasMultipleValues()&&(uiHash.value=void 0!==value?value:this.values(index),uiHash.values=values||this.values()),uiHash},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(event,index){return this._trigger("start",event,this._uiHash(index))},_slide:function(event,index,newVal){var otherVal,currentValue=this.value(),newValues=this.values();this._hasMultipleValues()&&(otherVal=this.values(index?0:1),currentValue=this.values(index),2===this.options.values.length&&!0===this.options.range&&(newVal=0===index?Math.min(otherVal,newVal):Math.max(otherVal,newVal)),newValues[index]=newVal),newVal!==currentValue&&!1!==this._trigger("slide",event,this._uiHash(index,newVal,newValues))&&(this._hasMultipleValues()?this.values(index,newVal):this.value(newVal))},_stop:function(event,index){this._trigger("stop",event,this._uiHash(index))},_change:function(event,index){this._keySliding||this._mouseSliding||(this._lastChangedValue=index,this._trigger("change",event,this._uiHash(index)))},value:function(newValue){return arguments.length?(this.options.value=this._trimAlignValue(newValue),this._refreshValue(),void this._change(null,0)):this._value()},values:function(index,newValue){var vals,newValues,i;if(arguments.length>1)return this.options.values[index]=this._trimAlignValue(newValue),this._refreshValue(),void this._change(null,index);if(!arguments.length)return this._values();if(!$.isArray(arguments[0]))return this._hasMultipleValues()?this._values(index):this.value();for(vals=this.options.values,newValues=arguments[0],i=0;i<vals.length;i+=1)vals[i]=this._trimAlignValue(newValues[i]),this._change(null,i);this._refreshValue()},_setOption:function(key,value){var i,valsLength=0;switch("range"===key&&!0===this.options.range&&("min"===value?(this.options.value=this._values(0),this.options.values=null):"max"===value&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),$.isArray(this.options.values)&&(valsLength=this.options.values.length),this._super(key,value),key){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(value),this.handles.css("horizontal"===value?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=valsLength-1;i>=0;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(value){this._super(value),this._toggleClass(null,"ui-state-disabled",!!value)},_value:function(){var val=this.options.value;return val=this._trimAlignValue(val)},_values:function(index){var val,vals,i;if(arguments.length)return val=this.options.values[index],val=this._trimAlignValue(val);if(this._hasMultipleValues()){for(vals=this.options.values.slice(),i=0;i<vals.length;i+=1)vals[i]=this._trimAlignValue(vals[i]);return vals}return[]},_trimAlignValue:function(val){if(val<=this._valueMin())return this._valueMin();if(val>=this._valueMax())return this._valueMax();var step=this.options.step>0?this.options.step:1,valModStep=(val-this._valueMin())%step,alignValue=val-valModStep;return 2*Math.abs(valModStep)>=step&&(alignValue+=valModStep>0?step:-step),parseFloat(alignValue.toFixed(5))},_calculateNewMax:function(){var max=this.options.max,min=this._valueMin(),step=this.options.step;(max=Math.round((max-min)/step)*step+min)>this.options.max&&(max-=step),this.max=parseFloat(max.toFixed(this._precision()))},_precision:function(){var precision=this._precisionOf(this.options.step);return null!==this.options.min&&(precision=Math.max(precision,this._precisionOf(this.options.min))),precision},_precisionOf:function(num){var str=num.toString(),decimal=str.indexOf(".");return-1===decimal?0:str.length-decimal-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(orientation){"vertical"===orientation&&this.range.css({width:"",left:""}),"horizontal"===orientation&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var lastValPercent,valPercent,value,valueMin,valueMax,oRange=this.options.range,o=this.options,that=this,animate=!this._animateOff&&o.animate,_set={};this._hasMultipleValues()?this.handles.each(function(i){valPercent=(that.values(i)-that._valueMin())/(that._valueMax()-that._valueMin())*100,_set["horizontal"===that.orientation?"left":"bottom"]=valPercent+"%",$(this).stop(1,1)[animate?"animate":"css"](_set,o.animate),!0===that.options.range&&("horizontal"===that.orientation?(0===i&&that.range.stop(1,1)[animate?"animate":"css"]({left:valPercent+"%"},o.animate),1===i&&that.range[animate?"animate":"css"]({width:valPercent-lastValPercent+"%"},{queue:!1,duration:o.animate})):(0===i&&that.range.stop(1,1)[animate?"animate":"css"]({bottom:valPercent+"%"},o.animate),1===i&&that.range[animate?"animate":"css"]({height:valPercent-lastValPercent+"%"},{queue:!1,duration:o.animate}))),lastValPercent=valPercent}):(value=this.value(),valueMin=this._valueMin(),valueMax=this._valueMax(),valPercent=valueMax!==valueMin?(value-valueMin)/(valueMax-valueMin)*100:0,_set["horizontal"===this.orientation?"left":"bottom"]=valPercent+"%",this.handle.stop(1,1)[animate?"animate":"css"](_set,o.animate),"min"===oRange&&"horizontal"===this.orientation&&this.range.stop(1,1)[animate?"animate":"css"]({width:valPercent+"%"},o.animate),"max"===oRange&&"horizontal"===this.orientation&&this.range.stop(1,1)[animate?"animate":"css"]({width:100-valPercent+"%"},o.animate),"min"===oRange&&"vertical"===this.orientation&&this.range.stop(1,1)[animate?"animate":"css"]({height:valPercent+"%"},o.animate),"max"===oRange&&"vertical"===this.orientation&&this.range.stop(1,1)[animate?"animate":"css"]({height:100-valPercent+"%"},o.animate))},_handleEvents:{keydown:function(event){var curVal,newVal,step,index=$(event.target).data("ui-slider-handle-index");switch(event.keyCode){case $.ui.keyCode.HOME:case $.ui.keyCode.END:case $.ui.keyCode.PAGE_UP:case $.ui.keyCode.PAGE_DOWN:case $.ui.keyCode.UP:case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:case $.ui.keyCode.LEFT:if(event.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass($(event.target),null,"ui-state-active"),!1===this._start(event,index)))return}switch(step=this.options.step,curVal=newVal=this._hasMultipleValues()?this.values(index):this.value(),event.keyCode){case $.ui.keyCode.HOME:newVal=this._valueMin();break;case $.ui.keyCode.END:newVal=this._valueMax();break;case $.ui.keyCode.PAGE_UP:newVal=this._trimAlignValue(curVal+(this._valueMax()-this._valueMin())/this.numPages);break;case $.ui.keyCode.PAGE_DOWN:newVal=this._trimAlignValue(curVal-(this._valueMax()-this._valueMin())/this.numPages);break;case $.ui.keyCode.UP:case $.ui.keyCode.RIGHT:if(curVal===this._valueMax())return;newVal=this._trimAlignValue(curVal+step);break;case $.ui.keyCode.DOWN:case $.ui.keyCode.LEFT:if(curVal===this._valueMin())return;newVal=this._trimAlignValue(curVal-step)}this._slide(event,index,newVal)},keyup:function(event){var index=$(event.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(event,index),this._change(event,index),this._removeClass($(event.target),null,"ui-state-active"))}}}),$.widget("ui.sortable",$.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(x,reference,size){return x>=reference&&x<reference+size},_isFloating:function(item){return/left|right/.test(item.css("float"))||/inline|table-cell/.test(item.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(key,value){this._super(key,value),"handle"===key&&this._setHandleClassName()},_setHandleClassName:function(){var that=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),$.each(this.items,function(){that._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--)this.items[i].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(event,overrideHandle){var currentItem=null,validHandle=!1,that=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(event),$(event.target).parents().each(function(){if($.data(this,that.widgetName+"-item")===that)return currentItem=$(this),!1}),$.data(event.target,that.widgetName+"-item")===that&&(currentItem=$(event.target)),!!currentItem&&(!(this.options.handle&&!overrideHandle&&($(this.options.handle,currentItem).find("*").addBack().each(function(){this===event.target&&(validHandle=!0)}),!validHandle))&&(this.currentItem=currentItem,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(event,overrideHandle,noActivation){var i,body,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(event),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(event),this.originalPageX=event.pageX,this.originalPageY=event.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(body=this.document.find("body"),this.storedCursor=body.css("cursor"),body.css("cursor",o.cursor),this.storedStylesheet=$("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(body)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",event,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!noActivation)for(i=this.containers.length-1;i>=0;i--)this.containers[i]._trigger("activate",event,this._uiHash(this));return $.ui.ddmanager&&($.ui.ddmanager.current=this),$.ui.ddmanager&&!o.dropBehaviour&&$.ui.ddmanager.prepareOffsets(this,event),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(event),!0},_mouseDrag:function(event){var i,item,itemElement,intersection,o=this.options,scrolled=!1;for(this.position=this._generatePosition(event),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-event.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed:event.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-event.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed:event.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(event.pageY-this.document.scrollTop()<o.scrollSensitivity?scrolled=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(event.pageY-this.document.scrollTop())<o.scrollSensitivity&&(scrolled=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),event.pageX-this.document.scrollLeft()<o.scrollSensitivity?scrolled=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(event.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(scrolled=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),!1!==scrolled&&$.ui.ddmanager&&!o.dropBehaviour&&$.ui.ddmanager.prepareOffsets(this,event)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(itemElement=(item=this.items[i]).item[0],(intersection=this._intersectsWithPointer(item))&&item.instance===this.currentContainer&&!(itemElement===this.currentItem[0]||this.placeholder[1===intersection?"next":"prev"]()[0]===itemElement||$.contains(this.placeholder[0],itemElement)||"semi-dynamic"===this.options.type&&$.contains(this.element[0],itemElement))){if(this.direction=1===intersection?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(item))break;this._rearrange(event,item),this._trigger("change",event,this._uiHash());break}return this._contactContainers(event),$.ui.ddmanager&&$.ui.ddmanager.drag(this,event),this._trigger("sort",event,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(event,noPropagation){if(event){if($.ui.ddmanager&&!this.options.dropBehaviour&&$.ui.ddmanager.drop(this,event),this.options.revert){var that=this,cur=this.placeholder.offset(),axis=this.options.axis,animation={};axis&&"x"!==axis||(animation.left=cur.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),axis&&"y"!==axis||(animation.top=cur.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,$(this.helper).animate(animation,parseInt(this.options.revert,10)||500,function(){that._clear(event)})}else this._clear(event,noPropagation);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new $.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var i=this.containers.length-1;i>=0;i--)this.containers[i]._trigger("deactivate",null,this._uiHash(this)),this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",null,this._uiHash(this)),this.containers[i].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),$.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?$(this.domPosition.prev).after(this.currentItem):$(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected),str=[];return o=o||{},$(items).each(function(){var res=($(o.item||this).attr(o.attribute||"id")||"").match(o.expression||/(.+)[\-=_](.+)/);res&&str.push((o.key||res[1]+"[]")+"="+(o.key&&o.expression?res[1]:res[2]))}),!str.length&&o.key&&str.push(o.key+"="),str.join("&")},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected),ret=[];return o=o||{},items.each(function(){ret.push($(o.item||this).attr(o.attribute||"id")||"")}),ret},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height,l=item.left,r=l+item.width,t=item.top,b=t+item.height,dyClick=this.offset.click.top,dxClick=this.offset.click.left,isOverElementHeight="x"===this.options.axis||y1+dyClick>t&&y1+dyClick<b,isOverElementWidth="y"===this.options.axis||x1+dxClick>l&&x1+dxClick<r,isOverElement=isOverElementHeight&&isOverElementWidth;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"]?isOverElement:l<x1+this.helperProportions.width/2&&x2-this.helperProportions.width/2<r&&t<y1+this.helperProportions.height/2&&y2-this.helperProportions.height/2<b},_intersectsWithPointer:function(item){var verticalDirection,horizontalDirection,isOverElementHeight="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width);return!(!isOverElementHeight||!isOverElementWidth)&&(verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection(),this.floating?"right"===horizontalDirection||"down"===verticalDirection?2:1:verticalDirection&&("down"===verticalDirection?2:1))},_intersectsWithSides:function(item){var isOverBottomHalf=this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+item.height/2,item.height),isOverRightHalf=this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+item.width/2,item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();return this.floating&&horizontalDirection?"right"===horizontalDirection&&isOverRightHalf||"left"===horizontalDirection&&!isOverRightHalf:verticalDirection&&("down"===verticalDirection&&isOverBottomHalf||"up"===verticalDirection&&!isOverBottomHalf)},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return 0!==delta&&(delta>0?"down":"up")},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return 0!==delta&&(delta>0?"right":"left")},refresh:function(event){return this._refreshItems(event),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var options=this.options;return options.connectWith.constructor===String?[options.connectWith]:options.connectWith},_getItemsAsjQuery:function(connected){var i,j,cur,inst,items=[],queries=[],connectWith=this._connectWith();if(connectWith&&connected)for(i=connectWith.length-1;i>=0;i--)for(j=(cur=$(connectWith[i],this.document[0])).length-1;j>=0;j--)(inst=$.data(cur[j],this.widgetFullName))&&inst!==this&&!inst.options.disabled&&queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),inst]);function addItems(){items.push(this)}for(queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=queries.length-1;i>=0;i--)queries[i][0].each(addItems);return $(items)},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=$.grep(this.items,function(item){for(var j=0;j<list.length;j++)if(list[j]===item.item[0])return!1;return!0})},_refreshItems:function(event){this.items=[],this.containers=[this];var i,j,cur,inst,targetData,_queries,item,queriesLength,items=this.items,queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]],connectWith=this._connectWith();if(connectWith&&this.ready)for(i=connectWith.length-1;i>=0;i--)for(j=(cur=$(connectWith[i],this.document[0])).length-1;j>=0;j--)(inst=$.data(cur[j],this.widgetFullName))&&inst!==this&&!inst.options.disabled&&(queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]),this.containers.push(inst));for(i=queries.length-1;i>=0;i--)for(targetData=queries[i][1],j=0,queriesLength=(_queries=queries[i][0]).length;j<queriesLength;j++)(item=$(_queries[j])).data(this.widgetName+"-item",targetData),items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0})},refreshPositions:function(fast){var i,item,t,p;for(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),i=this.items.length-1;i>=0;i--)(item=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&item.item[0]!==this.currentItem[0]||(t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item,fast||(item.width=t.outerWidth(),item.height=t.outerHeight()),p=t.offset(),item.left=p.left,item.top=p.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)p=this.containers[i].element.offset(),this.containers[i].containerCache.left=p.left,this.containers[i].containerCache.top=p.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(that){var className,o=(that=that||this).options;o.placeholder&&o.placeholder.constructor!==String||(className=o.placeholder,o.placeholder={element:function(){var nodeName=that.currentItem[0].nodeName.toLowerCase(),element=$("<"+nodeName+">",that.document[0]);return that._addClass(element,"ui-sortable-placeholder",className||that.currentItem[0].className)._removeClass(element,"ui-sortable-helper"),"tbody"===nodeName?that._createTrPlaceholder(that.currentItem.find("tr").eq(0),$("<tr>",that.document[0]).appendTo(element)):"tr"===nodeName?that._createTrPlaceholder(that.currentItem,element):"img"===nodeName&&element.attr("src",that.currentItem.attr("src")),className||element.css("visibility","hidden"),element},update:function(container,p){className&&!o.forcePlaceholderSize||(p.height()||p.height(that.currentItem.innerHeight()-parseInt(that.currentItem.css("paddingTop")||0,10)-parseInt(that.currentItem.css("paddingBottom")||0,10)),p.width()||p.width(that.currentItem.innerWidth()-parseInt(that.currentItem.css("paddingLeft")||0,10)-parseInt(that.currentItem.css("paddingRight")||0,10)))}}),that.placeholder=$(o.placeholder.element.call(that.element,that.currentItem)),that.currentItem.after(that.placeholder),o.placeholder.update(that,that.placeholder)},_createTrPlaceholder:function(sourceTr,targetTr){var that=this;sourceTr.children().each(function(){$("<td>&#160;</td>",that.document[0]).attr("colspan",$(this).attr("colspan")||1).appendTo(targetTr)})},_contactContainers:function(event){var i,j,dist,itemWithLeastDistance,posProperty,sizeProperty,cur,nearBottom,floating,axis,innermostContainer=null,innermostIndex=null;for(i=this.containers.length-1;i>=0;i--)if(!$.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(innermostContainer&&$.contains(this.containers[i].element[0],innermostContainer.element[0]))continue;innermostContainer=this.containers[i],innermostIndex=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",event,this._uiHash(this)),this.containers[i].containerCache.over=0);if(innermostContainer)if(1===this.containers.length)this.containers[innermostIndex].containerCache.over||(this.containers[innermostIndex]._trigger("over",event,this._uiHash(this)),this.containers[innermostIndex].containerCache.over=1);else{for(dist=1e4,itemWithLeastDistance=null,posProperty=(floating=innermostContainer.floating||this._isFloating(this.currentItem))?"left":"top",sizeProperty=floating?"width":"height",axis=floating?"pageX":"pageY",j=this.items.length-1;j>=0;j--)$.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])&&this.items[j].item[0]!==this.currentItem[0]&&(cur=this.items[j].item.offset()[posProperty],nearBottom=!1,event[axis]-cur>this.items[j][sizeProperty]/2&&(nearBottom=!0),Math.abs(event[axis]-cur)<dist&&(dist=Math.abs(event[axis]-cur),itemWithLeastDistance=this.items[j],this.direction=nearBottom?"up":"down"));if(!itemWithLeastDistance&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[innermostIndex])return void(this.currentContainer.containerCache.over||(this.containers[innermostIndex]._trigger("over",event,this._uiHash()),this.currentContainer.containerCache.over=1));itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,!0):this._rearrange(event,null,this.containers[innermostIndex].element,!0),this._trigger("change",event,this._uiHash()),this.containers[innermostIndex]._trigger("change",event,this._uiHash(this)),this.currentContainer=this.containers[innermostIndex],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[innermostIndex]._trigger("over",event,this._uiHash(this)),this.containers[innermostIndex].containerCache.over=1}},_createHelper:function(event){var o=this.options,helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):"clone"===o.helper?this.currentItem.clone():this.currentItem;return helper.parents("body").length||$("parent"!==o.appendTo?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]),helper[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),helper[0].style.width&&!o.forceHelperSize||helper.width(this.currentItem.width()),helper[0].style.height&&!o.forceHelperSize||helper.height(this.currentItem.height()),helper},_adjustOffsetFromHelper:function(obj){"string"==typeof obj&&(obj=obj.split(" ")),$.isArray(obj)&&(obj={left:+obj[0],top:+obj[1]||0}),"left"in obj&&(this.offset.click.left=obj.left+this.margins.left),"right"in obj&&(this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left),"top"in obj&&(this.offset.click.top=obj.top+this.margins.top),"bottom"in obj&&(this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0])&&(po.left+=this.scrollParent.scrollLeft(),po.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&$.ui.ie)&&(po={top:0,left:0}),{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),
vendor: 4,667 bytes, line 1
110)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var ce,co,over,o=this.options;"parent"===o.containment&&(o.containment=this.helper[0].parentNode),"document"!==o.containment&&"window"!==o.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===o.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===o.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(o.containment)||(ce=$(o.containment)[0],co=$(o.containment).offset(),over="hidden"!==$(ce).css("overflow"),this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(d,pos){pos||(pos=this.position);var mod="absolute"===d?1:-1,scroll="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,scrollIsRootNode=/(html|body)/i.test(scroll[0].tagName);return{top:pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():scrollIsRootNode?0:scroll.scrollTop())*mod,left:pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod}},_generatePosition:function(event){var top,left,o=this.options,pageX=event.pageX,pageY=event.pageY,scroll="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,scrollIsRootNode=/(html|body)/i.test(scroll[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(event.pageX-this.offset.click.left<this.containment[0]&&(pageX=this.containment[0]+this.offset.click.left),event.pageY-this.offset.click.top<this.containment[1]&&(pageY=this.containment[1]+this.offset.click.top),event.pageX-this.offset.click.left>this.containment[2]&&(pageX=this.containment[2]+this.offset.click.left),event.pageY-this.offset.click.top>this.containment[3]&&(pageY=this.containment[3]+this.offset.click.top)),o.grid&&(top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1],pageY=this.containment?top-this.offset.click.top>=this.containment[1]&&top-this.offset.click.top<=this.containment[3]?top:top-this.offset.click.top>=this.containment[1]?top-o.grid[1]:top+o.grid[1]:top,left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0],pageX=this.containment?left-this.offset.click.left>=this.containment[0]&&left-this.offset.click.left<=this.containment[2]?left:left-this.offset.click.left>=this.containment[0]?left-o.grid[0]:left+o.grid[0]:left)),{top:pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():scrollIsRootNode?0:scroll.scrollTop()),left:pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())}}
vendor: 4,196 bytes, line 1
1,_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?i.item[0]:i.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var counter=this.counter;this._delay(function(){counter===this.counter&&this.refreshPositions(!hardRefresh)})},_clear:function(event,noPropagation){this.reverting=!1;var i,delayedTriggers=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function delayEvent(type,instance,container){return function(event){container._trigger(type,event,instance._uiHash(instance))}}for(this.fromOutside&&!noPropagation&&delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||noPropagation||delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash())}),this!==this.currentContainer&&(noPropagation||(delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash())}),delayedTriggers.push(function(c){return function(event){c._trigger("receive",event,this._uiHash(this))}}.call(this,this.currentContainer)),delayedTriggers.push(function(c){return function(event){c._trigger("update",event,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)noPropagation||delayedTriggers.push(delayEvent("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(delayedTriggers.push(delayEvent("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,noPropagation||this._trigger("beforeStop",event,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!noPropagation){for(i=0;i<delayedTriggers.length;i++)delayedTriggers[i].call(this,event);this._trigger("stop",event,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===$.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(_inst){var inst=_inst||this;return{helper:inst.helper,placeholder:inst.placeholder||$([]),position:inst.position,originalPosition:inst.originalPosition,offset:inst.positionAbs,item:inst.currentItem,sender:_inst?_inst.element:null}}});function spinnerModifer(fn){return function(){var previous=this.element.val();fn.apply(this,arguments),this._refresh(),previous!==this.element.val()&&this._trigger("change")}}$.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var options=this._super(),element=this.element;return $.each(["min","max","step"],function(i,option){var value=element.attr(option);null!=value&&value.length&&(options[option]=value)}),options}
vendor: 29,200 bytes, line 1
1,_events:{keydown:function(event){this._start(event)&&this._keydown(event)&&event.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(event){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",event))},mousewheel:function(event,delta){if(delta){if(!this.spinning&&!this._start(event))return!1;this._spin((delta>0?1:-1)*this.options.step,event),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(event)},100),event.preventDefault()}},"mousedown .ui-spinner-button":function(event){var previous;function checkFocus(){this.element[0]===$.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=previous,this._delay(function(){this.previous=previous}))}previous=this.element[0]===$.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),event.preventDefault(),checkFocus.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,checkFocus.call(this)}),!1!==this._start(event)&&this._repeat(null,$(event.currentTarget).hasClass("ui-spinner-up")?1:-1,event)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(event){if($(event.currentTarget).hasClass("ui-state-active"))return!1!==this._start(event)&&void this._repeat(null,$(event.currentTarget).hasClass("ui-spinner-up")?1:-1,event)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(event){var options=this.options,keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.UP:return this._repeat(null,1,event),!0;case keyCode.DOWN:return this._repeat(null,-1,event),!0;case keyCode.PAGE_UP:return this._repeat(null,options.page,event),!0;case keyCode.PAGE_DOWN:return this._repeat(null,-options.page,event),!0}return!1},_start:function(event){return!(!this.spinning&&!1===this._trigger("start",event))&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(i,steps,event){i=i||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,steps,event)},i),this._spin(steps*this.options.step,event)},_spin:function(step,event){var value=this.value()||0;this.counter||(this.counter=1),value=this._adjustValue(value+step*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",event,{value:value})||(this._value(value),this.counter++)},_increment:function(i){var incremental=this.options.incremental;return incremental?$.isFunction(incremental)?incremental(i):Math.floor(i*i*i/5e4-i*i/500+17*i/200+1):1},_precision:function(){var precision=this._precisionOf(this.options.step);return null!==this.options.min&&(precision=Math.max(precision,this._precisionOf(this.options.min))),precision},_precisionOf:function(num){var str=num.toString(),decimal=str.indexOf(".");return-1===decimal?0:str.length-decimal-1},_adjustValue:function(value){var base,aboveMin,options=this.options;return aboveMin=value-(base=null!==options.min?options.min:0),value=base+(aboveMin=Math.round(aboveMin/options.step)*options.step),value=parseFloat(value.toFixed(this._precision())),null!==options.max&&value>options.max?options.max:null!==options.min&&value<options.min?options.min:value},_stop:function(event){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",event))},_setOption:function(key,value){var prevValue,first,last;if("culture"===key||"numberFormat"===key)return prevValue=this._parse(this.element.val()),this.options[key]=value,void this.element.val(this._format(prevValue));"max"!==key&&"min"!==key&&"step"!==key||"string"==typeof value&&(value=this._parse(value)),"icons"===key&&(first=this.buttons.first().find(".ui-icon"),this._removeClass(first,null,this.options.icons.up),this._addClass(first,null,value.up),last=this.buttons.last().find(".ui-icon"),this._removeClass(last,null,this.options.icons.down),this._addClass(last,null,value.down)),this._super(key,value)},_setOptionDisabled:function(value){this._super(value),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!value),this.element.prop("disabled",!!value),this.buttons.button(value?"disable":"enable")},_setOptions:spinnerModifer(function(options){this._super(options)}),_parse:function(val){return"string"==typeof val&&""!==val&&(val=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(val,10,this.options.culture):+val),""===val||isNaN(val)?null:val},_format:function(value){return""===value?"":window.Globalize&&this.options.numberFormat?Globalize.format(value,this.options.numberFormat,this.options.culture):value},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var value=this.value();return null!==value&&value===this._adjustValue(value)},_value:function(value,allowAny){var parsed;""!==value&&null!==(parsed=this._parse(value))&&(allowAny||(parsed=this._adjustValue(parsed)),value=this._format(parsed)),this.element.val(value),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:spinnerModifer(function(steps){this._stepUp(steps)}),_stepUp:function(steps){this._start()&&(this._spin((steps||1)*this.options.step),this._stop())},stepDown:spinnerModifer(function(steps){this._stepDown(steps)}),_stepDown:function(steps){this._start()&&(this._spin((steps||1)*-this.options.step),this._stop())},pageUp:spinnerModifer(function(pages){this._stepUp((pages||1)*this.options.page)}),pageDown:spinnerModifer(function(pages){this._stepDown((pages||1)*this.options.page)}),value:function(newVal){if(!arguments.length)return this._parse(this.element.val());spinnerModifer(this._value).call(this,newVal)},widget:function(){return this.uiSpinner}}),!1!==$.uiBackCompat&&$.widget("ui.spinner",$.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}});var rhash;$.ui.spinner;$.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(rhash=/#.*$/,function(anchor){var anchorUrl,locationUrl;anchorUrl=anchor.href.replace(rhash,""),locationUrl=location.href.replace(rhash,"");try{anchorUrl=decodeURIComponent(anchorUrl)}catch(error){}try{locationUrl=decodeURIComponent(locationUrl)}catch(error){}return anchor.hash.length>1&&anchorUrl===locationUrl}),_create:function(){var that=this,options=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,options.collapsible),this._processTabs(),options.active=this._initialActive(),$.isArray(options.disabled)&&(options.disabled=$.unique(options.disabled.concat($.map(this.tabs.filter(".ui-state-disabled"),function(li){return that.tabs.index(li)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(options.active):this.active=$(),this._refresh(),this.active.length&&this.load(options.active)},_initialActive:function(){var active=this.options.active,collapsible=this.options.collapsible,locationHash=location.hash.substring(1);return null===active&&(locationHash&&this.tabs.each(function(i,tab){if($(tab).attr("aria-controls")===locationHash)return active=i,!1}),null===active&&(active=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==active&&-1!==active||(active=!!this.tabs.length&&0)),!1!==active&&-1===(active=this.tabs.index(this.tabs.eq(active)))&&(active=!collapsible&&0),!collapsible&&!1===active&&this.anchors.length&&(active=0),active},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):$()}},_tabKeydown:function(event){var focusedTab=$($.ui.safeActiveElement(this.document[0])).closest("li"),selectedIndex=this.tabs.index(focusedTab),goingForward=!0;if(!this._handlePageNav(event)){switch(event.keyCode){case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:selectedIndex++;break;case $.ui.keyCode.UP:case $.ui.keyCode.LEFT:goingForward=!1,selectedIndex--;break;case $.ui.keyCode.END:selectedIndex=this.anchors.length-1;break;case $.ui.keyCode.HOME:selectedIndex=0;break;case $.ui.keyCode.SPACE:return event.preventDefault(),clearTimeout(this.activating),void this._activate(selectedIndex);case $.ui.keyCode.ENTER:return event.preventDefault(),clearTimeout(this.activating),void this._activate(selectedIndex!==this.options.active&&selectedIndex);default:return}event.preventDefault(),clearTimeout(this.activating),selectedIndex=this._focusNextTab(selectedIndex,goingForward),event.ctrlKey||event.metaKey||(focusedTab.attr("aria-selected","false"),this.tabs.eq(selectedIndex).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",selectedIndex)},this.delay))}},_panelKeydown:function(event){this._handlePageNav(event)||event.ctrlKey&&event.keyCode===$.ui.keyCode.UP&&(event.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(event){return event.altKey&&event.keyCode===$.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):event.altKey&&event.keyCode===$.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(index,goingForward){var lastTabIndex=this.tabs.length-1;for(;-1!==$.inArray((index>lastTabIndex&&(index=0),index<0&&(index=lastTabIndex),index),this.options.disabled);)index=goingForward?index+1:index-1;return index},_focusNextTab:function(index,goingForward){return index=this._findNextTab(index,goingForward),this.tabs.eq(index).trigger("focus"),index},_setOption:function(key,value){"active"!==key?(this._super(key,value),"collapsible"===key&&(this._toggleClass("ui-tabs-collapsible",null,value),value||!1!==this.options.active||this._activate(0)),"event"===key&&this._setupEvents(value),"heightStyle"===key&&this._setupHeightStyle(value)):this._activate(value)},_sanitizeSelector:function(hash){return hash?hash.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var options=this.options,lis=this.tablist.children(":has(a[href])");options.disabled=$.map(lis.filter(".ui-state-disabled"),function(tab){return lis.index(tab)}),this._processTabs(),!1!==options.active&&this.anchors.length?this.active.length&&!$.contains(this.tablist[0],this.active[0])?this.tabs.length===options.disabled.length?(options.active=!1,this.active=$()):this._activate(this._findNextTab(Math.max(0,options.active-1),!1)):options.active=this.tabs.index(this.active):(options.active=!1,this.active=$()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var that=this,prevTabs=this.tabs,prevAnchors=this.anchors,prevPanels=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(event){$(this).is(".ui-state-disabled")&&event.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){$(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return $("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=$(),this.anchors.each(function(i,anchor){var selector,panel,panelId,anchorId=$(anchor).uniqueId().attr("id"),tab=$(anchor).closest("li"),originalAriaControls=tab.attr("aria-controls");that._isLocal(anchor)?(panelId=(selector=anchor.hash).substring(1),panel=that.element.find(that._sanitizeSelector(selector))):(selector="#"+(panelId=tab.attr("aria-controls")||$({}).uniqueId()[0].id),(panel=that.element.find(selector)).length||(panel=that._createPanel(panelId)).insertAfter(that.panels[i-1]||that.tablist),panel.attr("aria-live","polite")),panel.length&&(that.panels=that.panels.add(panel)),originalAriaControls&&tab.data("ui-tabs-aria-controls",originalAriaControls),tab.attr({"aria-controls":panelId,"aria-labelledby":anchorId}),panel.attr("aria-labelledby",anchorId)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),prevTabs&&(this._off(prevTabs.not(this.tabs)),this._off(prevAnchors.not(this.anchors)),this._off(prevPanels.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(id){return $("<div>").attr("id",id).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(disabled){var currentItem,li,i;for($.isArray(disabled)&&(disabled.length?disabled.length===this.anchors.length&&(disabled=!0):disabled=!1),i=0;li=this.tabs[i];i++)currentItem=$(li),!0===disabled||-1!==$.inArray(i,disabled)?(currentItem.attr("aria-disabled","true"),this._addClass(currentItem,null,"ui-state-disabled")):(currentItem.removeAttr("aria-disabled"),this._removeClass(currentItem,null,"ui-state-disabled"));this.options.disabled=disabled,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===disabled)},_setupEvents:function(event){var events={};event&&$.each(event.split(" "),function(index,eventName){events[eventName]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(event){event.preventDefault()}}),this._on(this.anchors,events),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(heightStyle){var maxHeight,parent=this.element.parent();"fill"===heightStyle?(maxHeight=parent.height(),maxHeight-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var elem=$(this),position=elem.css("position");"absolute"!==position&&"fixed"!==position&&(maxHeight-=elem.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){maxHeight-=$(this).outerHeight(!0)}),this.panels.each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()))}).css("overflow","auto")):"auto"===heightStyle&&(maxHeight=0,this.panels.each(function(){maxHeight=Math.max(maxHeight,$(this).height("").height())}).height(maxHeight))},_eventHandler:function(event){var options=this.options,active=this.active,tab=$(event.currentTarget).closest("li"),clickedIsActive=tab[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():this._getPanelForTab(tab),toHide=active.length?this._getPanelForTab(active):$(),eventData={oldTab:active,oldPanel:toHide,newTab:collapsing?$():tab,newPanel:toShow};event.preventDefault(),tab.hasClass("ui-state-disabled")||tab.hasClass("ui-tabs-loading")||this.running||clickedIsActive&&!options.collapsible||!1===this._trigger("beforeActivate",event,eventData)||(options.active=!collapsing&&this.tabs.index(tab),this.active=clickedIsActive?$():tab,this.xhr&&this.xhr.abort(),toHide.length||toShow.length||$.error("jQuery UI Tabs: Mismatching fragment identifier."),toShow.length&&this.load(this.tabs.index(tab),event),this._toggle(event,eventData))},_toggle:function(event,eventData){var that=this,toShow=eventData.newPanel,toHide=eventData.oldPanel;function complete(){that.running=!1,that._trigger("activate",event,eventData)}function show(){that._addClass(eventData.newTab.closest("li"),"ui-tabs-active","ui-state-active"),toShow.length&&that.options.show?that._show(toShow,that.options.show,complete):(toShow.show(),complete())}this.running=!0,toHide.length&&this.options.hide?this._hide(toHide,this.options.hide,function(){that._removeClass(eventData.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),show()}):(this._removeClass(eventData.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),toHide.hide(),show()),toHide.attr("aria-hidden","true"),eventData.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),toShow.length&&toHide.length?eventData.oldTab.attr("tabIndex",-1):toShow.length&&this.tabs.filter(function(){return 0===$(this).attr("tabIndex")}).attr("tabIndex",-1),toShow.attr("aria-hidden","false"),eventData.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(index){var anchor,active=this._findActive(index);active[0]!==this.active[0]&&(active.length||(active=this.active),anchor=active.find(".ui-tabs-anchor")[0],this._eventHandler({target:anchor,currentTarget:anchor,preventDefault:$.noop}))},_findActive:function(index){return!1===index?$():this.tabs.eq(index)},_getIndex:function(index){return"string"==typeof index&&(index=this.anchors.index(this.anchors.filter("[href$='"+$.ui.escapeSelector(index)+"']"))),index},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){$.data(this,"ui-tabs-destroy")?$(this).remove():$(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var li=$(this),prev=li.data("ui-tabs-aria-controls");prev?li.attr("aria-controls",prev).removeData("ui-tabs-aria-controls"):li.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(index){var disabled=this.options.disabled;!1!==disabled&&(void 0===index?disabled=!1:(index=this._getIndex(index),disabled=$.isArray(disabled)?$.map(disabled,function(num){return num!==index?num:null}):$.map(this.tabs,function(li,num){return num!==index?num:null})),this._setOptionDisabled(disabled))},disable:function(index){var disabled=this.options.disabled;if(!0!==disabled){if(void 0===index)disabled=!0;else{if(index=this._getIndex(index),-1!==$.inArray(index,disabled))return;disabled=$.isArray(disabled)?$.merge([index],disabled).sort():[index]}this._setOptionDisabled(disabled)}},load:function(index,event){index=this._getIndex(index);var that=this,tab=this.tabs.eq(index),anchor=tab.find(".ui-tabs-anchor"),panel=this._getPanelForTab(tab),eventData={tab:tab,panel:panel},complete=function(jqXHR,status){"abort"===status&&that.panels.stop(!1,!0),that._removeClass(tab,"ui-tabs-loading"),panel.removeAttr("aria-busy"),jqXHR===that.xhr&&delete that.xhr};this._isLocal(anchor[0])||(this.xhr=$.ajax(this._ajaxSettings(anchor,event,eventData)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(tab,"ui-tabs-loading"),panel.attr("aria-busy","true"),this.xhr.done(function(response,status,jqXHR){setTimeout(function(){panel.html(response),that._trigger("load",event,eventData),complete(jqXHR,status)},1)}).fail(function(jqXHR,status){setTimeout(function(){complete(jqXHR,status)},1)})))},_ajaxSettings:function(anchor,event,eventData){var that=this;return{url:anchor.attr("href").replace(/#.*$/,""),beforeSend:function(jqXHR,settings){return that._trigger("beforeLoad",event,$.extend({jqXHR:jqXHR,ajaxSettings:settings},eventData))}}},_getPanelForTab:function(tab){var id=$(tab).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+id))}}),!1!==$.uiBackCompat&&$.widget("ui.tabs",$.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});$.ui.tabs;$.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var title=$(this).attr("title")||"";return $("<a>").text(title).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(elem,id){var describedby=(elem.attr("aria-describedby")||"").split(/\s+/);describedby.push(id),elem.data("ui-tooltip-id",id).attr("aria-describedby",$.trim(describedby.join(" ")))},_removeDescribedBy:function(elem){var id=elem.data("ui-tooltip-id"),describedby=(elem.attr("aria-describedby")||"").split(/\s+/),index=$.inArray(id,describedby);-1!==index&&describedby.splice(index,1),elem.removeData("ui-tooltip-id"),(describedby=$.trim(describedby.join(" ")))?elem.attr("aria-describedby",describedby):elem.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=$("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=$([])},_setOption:function(key,value){var that=this;this._super(key,value),"content"===key&&$.each(this.tooltips,function(id,tooltipData){that._updateContent(tooltipData.element)})},_setOptionDisabled:function(value){this[value?"_disable":"_enable"]()},_disable:function(){var that=this;$.each(this.tooltips,function(id,tooltipData){var event=$.Event("blur");event.target=event.currentTarget=tooltipData.element[0],that.close(event,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var element=$(this);if(element.is("[title]"))return element.data("ui-tooltip-title",element.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var element=$(this);element.data("ui-tooltip-title")&&element.attr("title",element.data("ui-tooltip-title"))}),this.disabledTitles=$([])},open:function(event){var that=this,target=$(event?event.target:this.element).closest(this.options.items);target.length&&!target.data("ui-tooltip-id")&&(target.attr("title")&&target.data("ui-tooltip-title",target.attr("title")),target.data("ui-tooltip-open",!0),event&&"mouseover"===event.type&&target.parents().each(function(){var blurEvent,parent=$(this);parent.data("ui-tooltip-open")&&((blurEvent=$.Event("blur")).target=blurEvent.currentTarget=this,that.close(blurEvent,!0)),parent.attr("title")&&(parent.uniqueId(),that.parents[this.id]={element:this,title:parent.attr("title")},parent.attr("title",""))}),this._registerCloseHandlers(event,target),this._updateContent(target,event))},_updateContent:function(target,event){var content,contentOption=this.options.content,that=this,eventType=event?event.type:null;if("string"==typeof contentOption||contentOption.nodeType||contentOption.jquery)return this._open(event,target,contentOption);(content=contentOption.call(target[0],function(response){that._delay(function(){target.data("ui-tooltip-open")&&(event&&(event.type=eventType),this._open(event,target,response))})}))&&this._open(event,target,content)},_open:function(event,target,content){var tooltipData,tooltip,delayedShow,a11yContent,positionOption=$.extend({},this.options.position);function position(event){positionOption.of=event,tooltip.is(":hidden")||tooltip.position(positionOption)}content&&((tooltipData=this._find(target))?tooltipData.tooltip.find(".ui-tooltip-content").html(content):(target.is("[title]")&&(event&&"mouseover"===event.type?target.attr("title",""):target.removeAttr("title")),tooltipData=this._tooltip(target),tooltip=tooltipData.tooltip,this._addDescribedBy(target,tooltip.attr("id")),tooltip.find(".ui-tooltip-content").html(content),this.liveRegion.children().hide(),(a11yContent=$("<div>").html(tooltip.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),a11yContent.removeAttr("id").find("[id]").removeAttr("id"),a11yContent.appendTo(this.liveRegion),this.options.track&&event&&/^mouse/.test(event.type)?(this._on(this.document,{mousemove:position}),position(event)):tooltip.position($.extend({of:target},this.options.position)),tooltip.hide(),this._show(tooltip,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(delayedShow=this.delayedShow=setInterval(function(){tooltip.is(":visible")&&(position(positionOption.of),clearInterval(delayedShow))},$.fx.interval)),this._trigger("open",event,{tooltip:tooltip})))},_registerCloseHandlers:function(event,target){var events={keyup:function(event){if(event.keyCode===$.ui.keyCode.ESCAPE){var fakeEvent=$.Event(event);fakeEvent.currentTarget=target[0],this.close(fakeEvent,!0)}}};target[0]!==this.element[0]&&(events.remove=function(){this._removeTooltip(this._find(target).tooltip)}),event&&"mouseover"!==event.type||(events.mouseleave="close"),event&&"focusin"!==event.type||(events.focusout="close"),this._on(!0,target,events)},close:function(event){var tooltip,that=this,target=$(event?event.currentTarget:this.element),tooltipData=this._find(target);tooltipData?(tooltip=tooltipData.tooltip,tooltipData.closing||(clearInterval(this.delayedShow),target.data("ui-tooltip-title")&&!target.attr("title")&&target.attr("title",target.data("ui-tooltip-title")),this._removeDescribedBy(target),tooltipData.hiding=!0,tooltip.stop(!0),this._hide(tooltip,this.options.hide,function(){that._removeTooltip($(this))}),target.removeData("ui-tooltip-open"),this._off(target,"mouseleave focusout keyup"),target[0]!==this.element[0]&&this._off(target,"remove"),this._off(this.document,"mousemove"),event&&"mouseleave"===event.type&&$.each(this.parents,function(id,parent){$(parent.element).attr("title",parent.title),delete that.parents[id]}),tooltipData.closing=!0,this._trigger("close",event,{tooltip:tooltip}),tooltipData.hiding||(tooltipData.closing=!1))):target.removeData("ui-tooltip-open")},_tooltip:function(element){var tooltip=$("<div>").attr("role","tooltip"),content=$("<div>").appendTo(tooltip),id=tooltip.uniqueId().attr("id");return this._addClass(content,"ui-tooltip-content"),this._addClass(tooltip,"ui-tooltip","ui-widget ui-widget-content"),tooltip.appendTo(this._appendTo(element)),this.tooltips[id]={element:element,tooltip:tooltip}},_find:function(target){var id=target.data("ui-tooltip-id");return id?this.tooltips[id]:null},_removeTooltip:function(tooltip){tooltip.remove(),delete this.tooltips[tooltip.attr("id")]},_appendTo:function(target){var element=target.closest(".ui-front, dialog");return element.length||(element=this.document[0].body),element},_destroy:function(){var that=this;$.each(this.tooltips,function(id,tooltipData){var event=$.Event("blur"),element=tooltipData.element;event.target=event.currentTarget=element[0],that.close(event,!0),$("#"+id).remove(),element.data("ui-tooltip-title")&&(element.attr("title")||element.attr("title",element.data("ui-tooltip-title")),element.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==$.uiBackCompat&&$.widget("ui.tooltip",$.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var tooltipData=this._superApply(arguments);return this.options.tooltipClass&&tooltipData.tooltip.addClass(this.options.tooltipClass),tooltipData}});$.ui.tooltip}),function(angular){angular.module("ui.carousel.config",[]).value("ui.carousel.config",{debug:!0}),angular.module("ui.carousel.providers",[]),angular.module("ui.carousel.controllers",[]),angular.module("ui.carousel.directives",[]),angular.module("ui.carousel",["ui.carousel.config","ui.carousel.directives","ui.carousel.controllers","ui.carousel.providers"])}(angular),angular.module("ui.carousel.controllers").controller("CarouselController",["$scope","$element","$timeout","$q","Carousel","$window",function($scope,$element,$timeout,$q,Carousel,$
vendor: 11,175 bytes, line 1
1window){var _this=this;this.$onInit=function(){_this.initOptions(),_this.initRanges(),_this.setProps(),_this.setupInfinite()},this.initOptions=function(){_this.options=angular.extend({},Carousel.getOptions()),void 0!==_this.initialSlide&&(_this.options.initialSlide=_this.initialSlide),void 0!==_this.fade&&(_this.options.fade=_this.fade),void 0!==_this.autoplay&&(_this.options.autoplay=_this.autoplay),void 0!==_this.autoplaySpeed&&(_this.options.autoplaySpeed=_this.autoplaySpeed),void 0!==_this.cssEase&&(_this.options.cssEase=_this.cssEase),void 0!==_this.speed&&(_this.options.speed=_this.speed),void 0!==_this.infinite&&(_this.options.infinite=_this.infinite),void 0!==_this.arrows&&(_this.options.arrows=_this.arrows),void 0!==_this.dots&&(_this.options.dots=_this.dots),void 0!==_this.visiblePrev&&(_this.options.visiblePrev=_this.visiblePrev),void 0!==_this.visibleNext&&(_this.options.visibleNext=_this.visibleNext),_this.options.fade?(_this.options.slidesToShow=1,_this.options.slidesToScroll=1):(_this.show&&(_this.options.slidesToShow=_this.show),_this.scroll&&(_this.options.slidesToScroll=_this.scroll))},this.initRanges=function(){_this.slides||(_this.slides=[]),_this.isCarouselReady=!1,_this.isTrackMoving=!1,_this.track=$element.find(".track"),_this.width=1,_this.currentSlide=_this.options.initialSlide,_this.trackStyle={},_this.slideStyle={},_this.isVisibleDots=!1,_this.isVisiblePrev=_this.options.visiblePrev,_this.isVisibleNext=_this.options.visibleNext,_this.isClickablePrev=!1,_this.isClickableNext=!1,_this.animType=null,_this.transformType=null,_this.transitionType=null},this.initUI=function(){_this.width=$element[0].clientWidth,_this.initTrack(),$timeout(function(){_this.updateItemStyle()},200)},this.updateItemStyle=function(){_this.itemWidth=_this.width/_this.options.slidesToShow,_this.slideStyle={width:_this.itemWidth+"px"}},this.initTrack=function(){var trackWidth=_this.width/_this.options.slidesToShow*_this.slidesInTrack.length;_this.trackStyle.width=trackWidth+"px",_this.slideHandler(_this.currentSlide).finally(function(){_this.isCarouselReady=!0,_this.options.fade||_this.refreshTrackStyle(),_this.onInit&&_this.onInit()}).catch(function(){})},this.next=function(){if(!_this.isClickableNext)return!1;var indexOffset=_this.getIndexOffset(),slideOffset=0===indexOffset?_this.options.slidesToScroll:indexOffset;_this.slideHandler(_this.currentSlide+slideOffset).catch(function(){})},this.prev=function(){if(!_this.isClickablePrev)return!1;var indexOffset=_this.getIndexOffset(),slideOffset=0===indexOffset?_this.options.slidesToScroll:_this.options.slidesToShow-indexOffset;_this.slideHandler(_this.currentSlide-slideOffset).catch(function(){})},this.getIndexOffset=function(){return _this.slides.length%_this.options.slidesToScroll!=0?0:(_this.slides.length-_this.currentSlide)%_this.options.slidesToScroll},this.movePage=function(page){var target=_this.options.slidesToScroll*page;_this.slideHandler(target).catch(function(){})},this.slideHandler=function(index){if(!_this.slides)return $q.reject("Carousel not fully setup");if(_this.isTrackMoving)return $q.reject("Track is moving");var len=_this.slides.length,show=_this.options.slidesToShow;if(len<=show)return _this.correctTrack(),$q.reject("Length of slides smaller than slides to show");var anim=index,target=null;if(target=anim<0?len%_this.options.slidesToScroll!=0?len-len%_this.options.slidesToScroll:len+anim:anim>=len?len%_this.options.slidesToScroll!=0?0:anim-len:anim,_this.onBeforeChange&&_this.onBeforeChange({currentSlide:_this.currentSlide,target:target}),_this.options.fade)return _this.currentSlide=target,$timeout(function(){_this.autoplayTrack(),_this.onAfterChange&&_this.onAfterChange({currentSlide:_this.currentSlide})},_this.options.speed),$q.when("Handler fade");var itemWidth=_this.width/_this.options.slidesToShow,left=-1*target*itemWidth;return _this.options.infinite&&(left=-1*(anim+show)*itemWidth),_this.isTrackMoving=!0,_this.moveTrack(left).then(function(){_this.isTrackMoving=!1,_this.currentSlide=target,_this.autoplayTrack(),target!==anim&&_this.correctTrack(),_this.options.infinite||(0===_this.currentSlide?(_this.isClickablePrev=!1,_this.isClickableNext=!0):_this.currentSlide===_this.slidesInTrack.length-_this.options.slidesToShow?(_this.isClickableNext=!1,_this.isClickablePrev=!0):(_this.isClickablePrev=!0,_this.isClickableNext=!0)),$timeout(function(){_this.onAfterChange&&_this.onAfterChange({currentSlide:_this.currentSlide})},200)})},this.moveTrack=function(left){var deferred=$q.defer();return!1===_this.options.vertical?_this.trackStyle[_this.animType]="translate3d("+left+"px, 0px, 0px)":_this.trackStyle[_this.animType]="translate3d(0px, "+left+"px, 0px)",$timeout(function(){deferred.resolve("Track moved")},_this.options.speed),deferred.promise},this.correctTrack=function(){var left;_this.options.infinite&&(left=0,_this.slides.length>_this.options.slidesToShow&&(left=-1*(_this.currentSlide+_this.options.slidesToShow)*_this.itemWidth),_this.trackStyle[_this.transitionType]=_this.transformType+" 0ms "+_this.options.cssEase,_this.isTrackMoving=!0,$timeout(function(){_this.trackStyle[_this.animType]="translate3d("+left+"px, 0, 0px)",$timeout(function(){_this.refreshTrackStyle(),_this.isTrackMoving=!1},200)}))},this.refreshTrackStyle=function(){_this.trackStyle[_this.transitionType]=_this.transformType+" "+_this.options.speed+"ms "+_this.options.cssEase},this.autoplayTrack=function(){_this.options.autoplay&&(_this.timeout&&$timeout.cancel(_this.timeout),_this.timeout=$timeout(function(){_this.next(),$timeout.cancel(_this.timeout),_this.timeout=null},_this.options.autoplaySpeed))},this.getSlideStyle=function(index){var style=_this.slideStyle;if(_this.options.fade){var uniqueStyle={position:"relative",top:"0px",left:-1*index*_this.itemWidth+"px","z-index":index===_this.currentSlide?10:9,opacity:index===_this.currentSlide?1:0};index>=_this.currentSlide-1&&index<=_this.currentSlide+1&&(uniqueStyle.transition="opacity 250ms linear"),style=angular.extend(style,uniqueStyle)}return style},this.setupInfinite=function(){var len=_this.slides.length,show=_this.options.slidesToShow,tmpTrack=angular.copy(_this.slides);if(_this.options.infinite&&!1===_this.options.fade&&len>show){for(var number=show,i=0;i<number;i++)tmpTrack.push(angular.copy(_this.slides[i]));for(var _i=len-1;_i>=len-show;_i--)tmpTrack.unshift(angular.copy(_this.slides[_i]))}_this.slidesInTrack=tmpTrack},this.getDots=function(){if(!_this.slides)return[];for(var dots=Math.ceil(_this.slides.length/_this.options.slidesToScroll),res=[],i=0;i<dots;i++)res.push(i);return res},this.setProps=function(){var bodyStyle=document.body.style;void 0!==bodyStyle.OTransform&&(_this.animType="OTransform",_this.transformType="-o-transform",_this.transitionType="OTransition"),void 0!==bodyStyle.MozTransform&&(_this.animType="MozTransform",_this.transformType="-moz-transform",_this.transitionType="MozTransition"),void 0!==bodyStyle.webkitTransform&&(_this.animType="webkitTransform",_this.transformType="-webkit-transform",_this.transitionType="webkitTransition"),void 0!==bodyStyle.msTransform&&(_this.animType="msTransform",_this.transformType="-ms-transform",_this.transitionType="msTransition"),void 0!==bodyStyle.transform&&!1!==_this.animType&&(_this.animType="transform",_this.transformType="transform",_this.transitionType="transition"),_this.transformsEnabled=!0},this.refreshCarousel=function(){_this.slides&&_this.slides.length&&_this.slides.length>_this.options.slidesToShow?(_this.isVisibleDots=!0,_this.isVisiblePrev=!0,_this.isVisibleNext=!0,_this.isClickablePrev=!0,_this.isClickableNext=!0):(_this.isVisibleDots=!1,_this.isVisiblePrev=_this.options.visiblePrev||!1,_this.isVisibleNext=_this.options.visibleNext||!1,_this.isClickablePrev=!1,_this.isClickableNext=!1),_this.initUI()},$scope.$watchCollection("ctrl.slides",function(slides){slides&&(_this.currentSlide>slides.length-1&&(_this.currentSlide=slides.length-1),_this.setupInfinite(),_this.refreshCarousel())}),angular.element($window).on("resize",this.refreshCarousel),$scope.$on("$destroy",function(){angular.element($window).off("resize")}),1===angular.version.major&&angular.version.minor<5&&this.$onInit()}]),angular.module("ui.carousel.directives").directive("uiCarousel",["$compile","$templateCache","$sce",function($compile,$templateCache,$sce){return{restrict:"AE",bindToController:!0,scope:{name:"=?",slides:"=",show:"=?slidesToShow",scroll:"=?slidesToScroll",classes:"@",fade:"=?",onChange:"=?",disableArrow:"=?",autoplay:"=?",autoplaySpeed:"=?",cssEase:"=?",speed:"=?",infinite:"=?",arrows:"=?",dots:"=?",initialSlide:"=?",visibleNext:"=?",visiblePrev:"=?",onBeforeChange:"&",onAfterChange:"&",onInit:"&"},link:function($scope,el){var templateInstance=angular.element($templateCache.get("ui-carousel/carousel.template.html")).clone();angular.forEach({"carousel-item":".carousel-item","carousel-prev":".carousel-prev","carousel-next":".carousel-next"},function(innerSelector,outerSelector){var outerElement=el[0].querySelector(outerSelector);outerElement&&angular.element(templateInstance[0].querySelector(innerSelector)).html(outerElement.innerHTML)});var compiledElement=$compile(templateInstance)($scope);el.addClass("ui-carousel").html("").append(compiledElement)},controller:"CarouselController",controllerAs:"ctrl"}}]),angular.module("ui.carousel.providers").provider("Carousel",function(){var _this=this;this.options={arrows:!0,autoplay:!1,autoplaySpeed:3e3,cssEase:"ease",dots:!1,easing:"linear",fade:!1,infinite:!0,initialSlide:0,slidesToShow:1,slidesToScroll:1,speed:500,visiblePrev:!1,visibleNext:!1,draggable:!0,lazyLoad:"ondemand",swipe:!0,swipeToSlide:!1,touchMove:!0,vertical:!1,verticalSwiping:!1},this.$get=[function(){return{setOptions:function(options){_this.options=angular.extend(_this.options,options)},getOptions:function(){return _this.options}}}]}),function(module){try{module=angular.module("ui.carousel")}catch(e){module=angular.module("ui.carousel",[])}module.run(["$templateCache",function($templateCache){$templateCache.put("ui-carousel/carousel.template.html",'<div class="carousel-wrapper" ng-show="ctrl.isCarouselReady"><div class="track-wrapper"><div class="track" ng-style="ctrl.trackStyle"><div class="slide" ng-repeat="item in ctrl.slidesInTrack track by $index" ng-style="ctrl.getSlideStyle($index)"><div class="carousel-item"></div></div></div></div><div class="carousel-prev" ng-if="!ctrl.disableArrow" ng-show="ctrl.isVisiblePrev &amp;&amp; ctrl.options.arrows" ng-class="{\'carousel-disable\': !ctrl.isClickablePrev}" ng-click="ctrl.prev()"><button class="carousel-btn"><i class="ui-icon-prev"></i></button></div><div class="carousel-next" ng-if="!ctrl.disableArrow" ng-show="ctrl.isVisibleNext &amp;&amp; ctrl.options.arrows" ng-class="{\'carousel-disable\': !ctrl.isClickableNext}" ng-click="ctrl.next()"><button class="carousel-btn"><i class="ui-icon-next"></i></button></div><ul class="carousel-dots" ng-show="ctrl.isVisibleDots &amp;&amp; ctrl.options.dots"><li ng-repeat="dot in ctrl.getDots()" ng-class="{ \'carousel-active\': dot == ctrl.currentSlide/ctrl.options.slidesToScroll }" ng-click="ctrl.movePage(dot)"><button>
1{{ dot }}</button></li></ul></div>')}])}(),function(){"use strict";angular.module("ui.validate",[]).directive("uiValidate",["$$uiValidateApplyWatch","$$uiValidateApplyWatchCollection",function($$uiValidateApplyWatch,$$uiValidateApplyWatchCollection){return{restrict:"A",require:"ngModel",link:function(scope,elm,attrs,ctrl){var validateFn,validateExpr=scope.$eval(attrs.uiValidate);validateExpr&&(angular.isString(validateExpr)&&(validateExpr={validator:validateExpr}),angular.forEach(validateExpr,function(exprssn,key){validateFn=function(modelValue,viewValue){var expression=scope.$eval(exprssn,{$value:modelValue,$modelValue:modelValue,$viewValue:viewValue,$name:ctrl.$name});return angular.isObject(expression)&&angular.isFunction(expression.then)?(expression.then(function(){ctrl.$setValidity(key,!0)},function(){ctrl.$setValidity(key,!1)}),!0):!!expression},ctrl.$validators[key]=validateFn}),attrs.uiValidateWatch&&$$uiValidateApplyWatch(scope,ctrl,scope.$eval(attrs.uiValidateWatch),attrs.uiValidateWatchObjectEquality),attrs.uiValidateWatchCollection&&$$uiValidateApplyWatchCollection(scope,ctrl,scope.$eval(attrs.uiValidateWatchCollection)))}}}]).directive("uiValidateAsync",["$$uiValidateApplyWatch","$$uiValidateApplyWatchCollection","$timeout","$q",function($$uiValidateApplyWatch,$$uiValidateApplyWatchCollection,$timeout,$q){return{restrict:"A",require:"ngModel",link:function(scope,elm,attrs,ctrl){var validateFn,validateExpr=scope.$eval(attrs.uiValidateAsync);validateExpr&&(angular.isString(validateExpr)&&(validateExpr={validatorAsync:validateExpr}),angular.forEach(validateExpr,function(exprssn,key){validateFn=function(modelValue,viewValue){var expression=scope.$eval(exprssn,{$value:modelValue,$modelValue:modelValue,$viewValue:viewValue,$name:ctrl.$name});return angular.isObject(expression)&&angular.isFunction(expression.then)?expression:$q(function(resolve,reject){setTimeout(function(){expression?resolve():reject()},0)})},ctrl.$asyncValidators[key]=validateFn}),attrs.uiValidateWatch&&$$uiValidateApplyWatch(scope,ctrl,scope.$eval(attrs.uiValidateWatch),attrs.uiValidateWatchObjectEquality),attrs.uiValidateWatchCollection&&$$uiValidateApplyWatchCollection(scope,ctrl,scope.$eval(attrs.uiValidateWatchCollection)))}}}]).service("$$uiValidateApplyWatch",function(){return function(scope,ctrl,watch,objectEquality){var watchCallback=function(){ctrl.$validate()};angular.isString(watch)?scope.$watch(watch,watchCallback,objectEquality):angular.isArray(watch)?angular.forEach(watch,function(expression){scope.$watch(expression,watchCallback,objectEquality)}):angular.isObject(watch)&&angular.forEach(watch,function(expression){angular.isString(expression)&&scope.$watch(expression,watchCallback,objectEquality),angular.isArray(expression)&&angular.forEach(expression,function(intExpression){scope.$watch(intExpression,watchCallback,objectEquality)})})}}).service("$$uiValidateApplyWatchCollection",function(){return function(scope,ctrl,watch){var watchCallback=function(){ctrl.$validate()};angular.isString(watch)?scope.$watchCollection(watch,watchCallback):angular.isArray(watch)?angular.forEach(watch,function(expression){scope.$watchCollection(expression,watchCallback)}):angular.isObject(watch)&&angular.forEach(watch,function(expression){angular.isString(expression)&&scope.$watchCollection(expression,watchCallback),angular.isArray(expression)&&angular.forEach(expression,function(intExpression){scope.$watchCollection(intExpression,watchCallback)})})}})}(),function(factory){"function"==typeof define&&define.amd?define(["jquery"],factory):"object"==typeof module&&module.exports?module.exports=function(root,jQuery){return void 0===jQuery&&(jQuery="undefined"!=typeof window?require("jquery"):require("jquery")(root)),factory(jQuery),jQuery}:factory(jQuery)}(function($){"use strict";var _currentSpinnerId=0;$.fn.TouchSpin=function(options){var defaults={min:0,max:100,initval:"",replacementval:"",firstclickvalueifempty:null,step:1,decimals:0,stepinterval:100,forcestepdivisibility:"round",stepintervaldelay:500,verticalbuttons:!1,verticalup:"+",verticaldown:"-",verticalupclass:"",verticaldownclass:"",prefix:"",postfix:"",prefix_extraclass:"",postfix_extraclass:"",booster:!0,boostat:10,maxboostedstep:!1,mousewheel:!0,buttondown_class:"btn btn-primary",buttonup_class:"btn btn-primary",buttondown_txt:"&minus;",buttonup_txt:"+",callback_before_calculation:function(value){return value},callback_after_calculation:function(value){return value}},attributeMap={min:"min",max:"max",initval:"init-val",replacementval:"replacement-val",firstclickvalueifempty:"first-click-value-if-empty",step:"step",decimals:"decimals",stepinterval:"step-interval",verticalbuttons:"vertical-buttons",verticalupclass:"vertical-up-class",verticaldownclass:"vertical-down-class",forcestepdivisibility:"force-step-divisibility",stepintervaldelay:"step-interval-delay",prefix:"prefix",postfix:"postfix",prefix_extraclass:"prefix-extra-class",postfix_extraclass:"postfix-extra-class",booster:"booster",boostat:"boostat",maxboostedstep:"max-boosted-step",mousewheel:"mouse-wheel",buttondown_class:"button-down-class",buttonup_class:"button-up-class",buttondown_txt:"button-down-txt",buttonup_txt:"button-up-txt"};return this.each(function(){var settings,_detached_prefix,_detached_postfix,container,elements,value,downSpinTimer,upSpinTimer,downDelayTimeout,upDelayTimeout,originalinput
1=$(this),originalinput_data=originalinput.data(),spincount=0,spinning=!1;function _hideEmptyPrefixPostfix(){""===settings.prefix&&(_detached_prefix=elements.prefix.detach()),""===settings.postfix&&(_detached_postfix=elements.postfix.detach())}function _checkValue(){var val,parsedval,returnval;""!==(val=settings.callback_before_calculation(originalinput.val()))?settings.decimals>0&&"."===val||(parsedval=parseFloat(val),isNaN(parsedval)&&(parsedval=""!==settings.replacementval?settings.replacementval:0),returnval=parsedval,parsedval.toString()!==val&&(returnval=parsedval),returnval=function(value){switch(settings.forcestepdivisibility){case"round":return(Math.round(value/settings.step)*settings.step).toFixed(settings.decimals);case"floor":return(Math.floor(value/settings.step)*settings.step).toFixed(settings.decimals);case"ceil":return(Math.ceil(value/settings.step)*settings.step).toFixed(settings.decimals);default:return value.toFixed(settings.decimals)}}(parsedval),null!==settings.min&&parsedval<settings.min&&(returnval=settings.min),null!==settings.max&&parsedval>settings.max&&(returnval=settings.max),parseFloat(parsedval).toString()!==parseFloat(returnval).toString()&&originalinput.val(returnval),originalinput.val(settings.callback_after_calculation(parseFloat(returnval).toFixed(settings.decimals)))):""!==settings.replacementval&&(originalinput.val(settings.replacementval),originalinput.trigger("change"))}function _getBoostedStep(){if(settings.booster){var boosted=Math.pow(2,Math.floor(spincount/settings.boostat))*settings.step;return settings.maxboostedstep&&boosted>settings.maxboostedstep&&(boosted=settings.maxboostedstep,value=Math.round(value/boosted)*boosted),Math.max(settings.step,boosted)}return settings.step}function valueIfIsNaN(){return"number"==typeof settings.firstclickvalueifempty?settings.firstclickvalueifempty:(settings.min+settings.max)/2}function _updateButtonDisabledState(){const isDisabled=originalinput.is(":disabled,[readonly]");elements.up.prop("disabled",isDisabled),elements.down.prop("disabled",isDisabled),isDisabled&&stopSpin()}function upOnce(){if(!originalinput.is(":disabled,[readonly]")){_checkValue();var boostedstep,initvalue=value=parseFloat(settings.callback_before_calculation(elements.input.val()));isNaN(value)?value=valueIfIsNaN():(boostedstep=_getBoostedStep(),value+=boostedstep),null!==settings.max&&value>settings.max&&(value=settings.max,originalinput.trigger("touchspin.on.max"),stopSpin()),elements.input.val(settings.callback_after_calculation(parseFloat(value).toFixed(settings.decimals))),initvalue!==value&&originalinput.trigger("change")}}function downOnce(){if(!originalinput.is(":disabled,[readonly]")){_checkValue();var boostedstep,initvalue=value=parseFloat(settings.callback_before_calculation(elements.input.val()));isNaN(value)?value=valueIfIsNaN():(boostedstep=_getBoostedStep(),value-=boostedstep),null!==settings.min&&value<settings.min&&(value=settings.min,originalinput.trigger("touchspin.on.min"),stopSpin()),elements.input.val(settings.callback_after_calculation(parseFloat(value).toFixed(settings.decimals))),initvalue!==value&&originalinput.trigger("change")}}function startDownSpin(){originalinput.is(":disabled,[readonly]")||(stopSpin(),spincount=0,spinning="down",originalinput.trigger("touchspin.on.startspin"),originalinput.trigger("touchspin.on.startdownspin"),downDelayTimeout=setTimeout(function(){downSpinTimer=setInterval(function(){spincount++,downOnce()},settings.stepinterval)},settings.stepintervaldelay))}function startUpSpin(){originalinput.is(":disabled,[readonly]")||(stopSpin(),spincount=0,spinning="up",originalinput.trigger("touchspin.on.startspin"),originalinput.trigger("touchspin.on.startupspin"),upDelayTimeout=setTimeout(function(){upSpinTimer=setInterval(function(){spincount++,upOnce()},settings.stepinterval)},settings.stepintervaldelay))}function stopSpin(){switch(clearTimeout(downDelayTimeout),clearTimeout(upDelayTimeout),clearInterval(downSpinTimer),clearInterval(upSpinTimer),spinning){case"up":originalinput.trigger("touchspin.on.stopupspin"),originalinput.trigger("touchspin.on.stopspin");break;case"down":originalinput.trigger("touchspin.on.stopdownspin"),originalinput.trigger("touchspin.on.stopspin")}spincount=0,spinning=!1}!function(){if(originalinput.data("alreadyinitialized"))return;if(originalinput.data("alreadyinitialized",!0),_currentSpinnerId+=1,originalinput.data("spinnerid",_currentSpinnerId),!originalinput.is("input"))return void console.log("Must be an input.");(function(){if(settings=$.extend({},defaults,originalinput_data,(data={},$.each(attributeMap,function(key,value){var attrName="bts-"+value;
1originalinput.is("[data-"+attrName+"]")&&(data[key]=originalinput.data(attrName))}),$.each(["min","max","step"],function(i,key){originalinput.is("["+key+"]")&&(void 0!==data[key]&&console.warn('Both the "data-bts-'+key+'" data attribute and the "'+key+'" individual attribute were specified, the individual attribute will take precedence on: ',originalinput),data[key]=originalinput.attr(key))}),data),options),1!==parseFloat(settings.step)){let remainder;0!==(remainder=settings.max%settings.step)&&(settings.max=parseFloat(settings.max)-remainder),0!==(remainder=settings.min%settings.step)&&(settings.min=parseFloat(settings.min)+(parseFloat(settings.step)-remainder))}var data})(),""!==settings.initval&&""===originalinput.val()&&originalinput.val(settings.initval),_checkValue(),function(){var initval=originalinput.val(),parentelement=originalinput.parent();""!==initval&&(initval=settings.callback_before_calculation(initval),initval=settings.callback_after_calculation(parseFloat(initval).toFixed(settings.decimals)));originalinput.data("initvalue",initval).val(initval),originalinput.addClass("form-control"),parentelement.hasClass("input-group")?function(parentelement){parentelement.addClass("bootstrap-touchspin");var downhtml,uphtml,prev=originalinput.prev(),next=originalinput.next(),prefixhtml='<span class="input-group-addon input-group-prepend bootstrap-touchspin-prefix input-group-prepend bootstrap-touchspin-injected"><span class="input-group-text">'+settings.prefix+"</span></span>",postfixhtml='<span class="input-group-addon input-group-append bootstrap-touchspin-postfix input-group-append bootstrap-touchspin-injected"><span class="input-group-text">'+settings.postfix+"</span></span>";prev.hasClass("input-group-btn")||prev.hasClass("input-group-prepend")?(downhtml='<button class="'+settings.buttondown_class+' bootstrap-touchspin-down bootstrap-touchspin-injected" type="button">'+settings.buttondown_txt+"</button>",prev.append(downhtml)):(downhtml='<span class="input-group-btn input-group-prepend bootstrap-touchspin-injected"><button class="'+settings.buttondown_class+' bootstrap-touchspin-down" type="button">'+settings.buttondown_txt+"</button></span>",$(downhtml).insertBefore(originalinput));next.hasClass("input-group-btn")||next.hasClass("input-group-append")?(uphtml='<button class="'+settings.buttonup_class+' bootstrap-touchspin-up bootstrap-touchspin-injected" type="button">'+settings.buttonup_txt+"</button>",next.prepend(uphtml)):(uphtml='<span class="input-group-btn input-group-append bootstrap-touchspin-injected"><button class="'+settings.buttonup_class+' bootstrap-touchspin-up" type="button">'+settings.buttonup_txt+"</button></span>",$(uphtml).insertAfter(originalinput));$(prefixhtml).insertBefore(originalinput),$(postfixhtml).insertAfter(originalinput),container=parentelement}(parentelement):function(){var html,inputGroupSize="";originalinput.hasClass("input-sm")||originalinput.hasClass("form-control-sm")?inputGroupSize="input-group-sm":(originalinput.hasClass("input-lg")||originalinput.hasClass("form-control-lg"))&&(inputGroupSize="input-group-lg");html=settings.verticalbuttons?'<div class="input-group '+inputGroupSize+' bootstrap-touchspin bootstrap-touchspin-injected"><span class="input-group-addon input-group-prepend bootstrap-touchspin-prefix"><span class="input-group-text">'+settings.prefix+'</span></span><span class="input-group-addon bootstrap-touchspin-postfix input-group-append"><span class="input-group-text">'+settings.postfix+'</span></span><span class="input-group-btn-vertical"><button class="'+settings.buttondown_class+" bootstrap-touchspin-up "+settings.verticalupclass+'" type="button">'+settings.verticalup+'</button><button class="'+settings.buttonup_class+" bootstrap-touchspin-down "+settings.verticaldownclass+'" type="button">'+settings.verticaldown+"</button></span></div>":'<div class="input-group bootstrap-touchspin bootstrap-touchspin-injected"><span class="input-group-btn input-group-prepend"><button class="'+settings.buttondown_class+' bootstrap-touchspin-down" type="button">'+settings.buttondown_txt+'</button></span><span class="input-group-addon bootstrap-touchspin-prefix input-group-prepend"><span class="input-group-text">'+settings.prefix+'</span></span><span class="input-group-addon bootstrap-touchspin-postfix input-group-append"><span class="input-group-text">'+settings.postfix+'</span></span><span class="input-group-btn input-group-append"><button class="'+settings.buttonup_class+' bootstrap-touchspin-up" type="button">'+settings.buttonup_txt+"</button></span></div>";container=$(html).insertBefore(originalinput),$(".bootstrap-touchspin-prefix",container).after(originalinput),originalinput.hasClass("input-sm")||originalinput.hasClass("form-control-sm")?container.addClass("input-group-sm"):(originalinput.hasClass("input-lg")||originalinput.hasClass("form-control-lg"))&&container.addClass("input-group-lg")}()}(),elements={down:$(".bootstrap-touchspin-down",container),up:$(".bootstrap-touchspin-up",container),input:$("input",container),prefix:$(".bootstrap-touchspin-prefix",container).addClass(settings.prefix_extraclass),postfix:$(".bootstrap-touchspin-postfix",container).addClass(settings.postfix_extraclass)},_updateButtonDisabledState(),_hideEmptyPrefixPostfix(),function(){if("undefined"!=typeof MutationObserver){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{"attributes"!==mutation.type||"disabled"!==mutation.attributeName&&"readonly"!==mutation.attributeName||_updateButtonDisabledState()})});observer.observe(originalinput[0],{attributes:!0})}}
1(),originalinput.on("keydown.touchspin",function(ev){var code=ev.keyCode||ev.which;38===code?("up"!==spinning&&(upOnce(),startUpSpin()),ev.preventDefault()):40===code?("down"!==spinning&&(downOnce(),startDownSpin()),ev.preventDefault()):9!==code&&13!==code||_checkValue()}),originalinput.on("keyup.touchspin",function(ev){var code=ev.keyCode||ev.which;38===code?stopSpin():40===code&&stopSpin()}),$(document).on("mousedown touchstart",function(event){$(event.target).is(originalinput)||_checkValue()}),originalinput.on("blur.touchspin",function(){_checkValue()}),elements.down.on("keydown",function(ev){var code=ev.keyCode||ev.which;32!==code&&13!==code||("down"!==spinning&&(downOnce(),startDownSpin()),ev.preventDefault())}),elements.down.on("keyup.touchspin",function(ev){var code=ev.keyCode||ev.which;32!==code&&13!==code||stopSpin()}),elements.up.on("keydown.touchspin",function(ev){var code=ev.keyCode||ev.which;32!==code&&13!==code||("up"!==spinning&&(upOnce(),startUpSpin()),ev.preventDefault())}),elements.up.on("keyup.touchspin",function(ev){var code=ev.keyCode||ev.which;32!==code&&13!==code||stopSpin()}),elements.down.on("mousedown.touchspin",function(ev){elements.down.off("touchstart.touchspin"),originalinput.is(":disabled,[readonly]")||(downOnce(),startDownSpin(),ev.preventDefault(),ev.stopPropagation())}),elements.down.on("touchstart.touchspin",function(ev){elements.down.off("mousedown.touchspin"),originalinput.is(":disabled,[readonly]")||(downOnce(),startDownSpin(),ev.preventDefault(),ev.stopPropagation())}),elements.up.on("mousedown.touchspin",function(ev){elements.up.off("touchstart.touchspin"),originalinput.is(":disabled,[readonly]")||(upOnce(),startUpSpin(),ev.preventDefault(),ev.stopPropagation())}),elements.up.on("touchstart.touchspin",function(ev){elements.up.off("mousedown.touchspin"),originalinput.is(":disabled,[readonly]")||(upOnce(),startUpSpin(),ev.preventDefault(),ev.stopPropagation())}),elements.up.on("mouseup.touchspin mouseout.touchspin touchleave.touchspin touchend.touchspin touchcancel.touchspin",function(ev){spinning&&(ev.stopPropagation(),stopSpin())}),elements.down.on("mouseup.touchspin mouseout.touchspin touchleave.touchspin touchend.touchspin touchcancel.touchspin",function(ev){spinning&&(ev.stopPropagation(),stopSpin())}),elements.down.on("mousemove.touchspin touchmove.touchspin",function(ev){spinning&&(ev.stopPropagation(),ev.preventDefault())}),elements.up.on("mousemove.touchspin touchmove.touchspin",function(ev){spinning&&(ev.stopPropagation(),ev.preventDefault())}),originalinput.on("mousewheel.touchspin DOMMouseScroll.touchspin",function(ev){if(settings.mousewheel&&originalinput.is(":focus")){var delta=ev.originalEvent.wheelDelta||-ev.originalEvent.deltaY||-ev.originalEvent.detail;ev.stopPropagation(),ev.preventDefault(),delta<0?downOnce():upOnce()}}),originalinput.on("touchspin.destroy",function(){var $parent;$parent=originalinput.parent(),stopSpin(),originalinput.off(".touchspin"),$parent.hasClass("bootstrap-touchspin-injected")?(originalinput.siblings().remove(),originalinput.unwrap()):($(".bootstrap-touchspin-injected",$parent).remove(),$parent.removeClass("bootstrap-touchspin")),originalinput.data("alreadyinitialized",!1)}),originalinput.on("touchspin.uponce",function(){stopSpin(),upOnce()}),originalinput.on("touchspin.downonce",function(){stopSpin(),downOnce()}),originalinput.on("touchspin.startupspin",function(){startUpSpin()}),originalinput.on("touchspin.startdownspin",function(){startDownSpin()}),originalinput.on("touchspin.stopspin",function(){stopSpin()}),originalinput.on("touchspin.updatesettings",function(e,newsettings){!function(newsettings){(function(newsettings){if(settings=$.extend({},settings,newsettings),newsettings.postfix){var $postfix=originalinput.parent().find(".bootstrap-touchspin-postfix");0===$postfix.length&&_detached_postfix.insertAfter(originalinput),originalinput.parent().find(".bootstrap-touchspin-postfix .input-group-text").text(newsettings.postfix)}if(newsettings.prefix){var $prefix=originalinput.parent().find(".bootstrap-touchspin-prefix");0===$prefix.length&&_detached_prefix.insertBefore(originalinput),originalinput.parent().find(".bootstrap-touchspin-prefix .input-group-text").text(newsettings.prefix)}_hideEmptyPrefixPostfix()})(newsettings),_checkValue();var value=elements.input.val();""!==value&&(value=parseFloat(settings.callback_before_calculation(elements.input.val())),elements.input.val(settings.callback_after_calculation(parseFloat(value).toFixed(settings.decimals))))}(newsettings)})}()})}}),function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("angular")):"function"==typeof define&&define.amd?define(["angular"],factory):"object"==typeof exports?exp
1orts["angular-touchspin"]=factory(require("angular")):root["angular-touchspin"]=factory(root.angular)}(this,function(__WEBPACK_EXTERNAL_MODULE_1__){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(5)},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_1__},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(StepDivisibilityType){StepDivisibilityType[StepDivisibilityType.none="none"]="none",StepDivisibilityType[StepDivisibilityType.ceil="ceil"]="ceil",StepDivisibilityType[StepDivisibilityType.floor="floor"]="floor",StepDivisibilityType[StepDivisibilityType.round="round"]="round"}(exports.StepDivisibilityType||(exports.StepDivisibilityType={}))},function(module,exports){},function(module,exports){module.exports='<div class="input-group bootstrap-touchspin" ng-class="{ \'bootstrap-touchspin-disabled\': vm.disabled }">\r\n    <span class="input-group-btn" ng-if="!vm.touchSpinOptions.verticalButtons && vm.touchSpinOptions.buttonDownShow">\r\n        <button ng-class="vm.touchSpinOptions.buttonDownClass" type="button" ng-disabled="vm.disabled" \r\n            ng-mousedown="vm.mouseDown($event, false)" ng-mouseup="vm.mouseUp($event)" ng-mouseenter="vm.mouseEnter($event)" ng-mouseleave="vm.mouseLeave($event)"\r\n            nk-touchstart="vm.buttonTouchStart($event, false)" nk-touchend="vm.buttonTouchEnd($event)">\r\n            -\r\n        </button>\r\n    </span>\r\n    <span class="input-group-addon" ng-if="vm.touchSpinOptions.prefix" ng-bind="vm.touchSpinOptions.prefix">\r\n    </span>\r\n    <input type="text" ng-model="vm.val" class="form-control" ng-disabled="vm.disabled" ng-blur="vm.checkValue()" ng-focus="vm.focus()" ng-keyup="vm.keyUp($event)" \r\n    ng-keydown="vm.keyDown($event)" ng-readonly="vm.touchSpinOptions.inputReadOnly" />\r\n    <span class="input-group-addon" ng-class="vm.touchSpinOptions.postfixExtraClass" ng-if="vm.touchSpinOptions.postfix" ng-bind="vm.touchSpinOptions.postfix">\r\n    </span>\r\n    <span class="input-group-btn" ng-if="!vm.touchSpinOptions.verticalButtons && vm.touchSpinOptions.buttonUpShow">\r\n        <button class="btn btn-default" ng-class="vm.touchSpinOptions.buttonUpClass" type="button" ng-disabled="vm.disabled" \r\n            ng-mousedown="vm.mouseDown($event, true)" ng-mouseup="vm.mouseUp($event)" ng-mouseenter="vm.mouseEnter($event)" ng-mouseleave="vm.mouseLeave($event)"\r\n            nk-touchstart="vm.buttonTouchStart($event, true)" nk-touchend="vm.buttonTouchEnd($event)">\r\n            +\r\n        </button>\r\n    </span>\r\n    <span class="input-group-btn-vertical" ng-if="vm.touchSpinOptions.verticalButtons && (vm.touchSpinOptions.buttonDownShow || vm.touchSpinOptions.buttonUpShow)">\r\n        <button class="bootstrap-touchspin-up" ng-class="vm.touchSpinOptions.buttonUpClass" type="button" ng-disabled="vm.disabled" ng-show="vm.touchSpinOptions.buttonUpShow"\r\n            ng-mousedown="vm.mouseDown($event, false)" ng-mouseup="vm.mouseUp($event)" ng-mouseenter="vm.mouseEnter($event)" \r\n            ng-mouseleave="vm.mouseLeave($event)" nk-touchstart="vm.buttonTouchStart($event, false)" nk-touchend="vm.buttonTouchEnd($event)">\r\n            <i ng-class="vm.touchSpinOptions.verticalUpClass"></i>\r\n        </button>\r\n        <button class="bootstrap-touchspin-down" ng-class="vm.touchSpinOptions.buttonUpClass" type="button" ng-disabled="vm.disabled" ng-show="vm.touchSpinOptions.buttonDownShow"\r\n            ng-mousedown="vm.mouseDown($event, true)" ng-mouseup="vm.mouseUp($event)" ng-mouseenter="vm.mouseEnter($event)" \r\n            ng-mouseleave="vm.mouseLeave($event)" nk-touchstart="vm.buttonTouchStart($event, true)" nk-touchend="vm.buttonTouchEnd($event)">\r\n            <i ng-class="vm.touchSpinOptions.verticalDownClass"></i>\r\n        </button>\r\n    </span>\r\n</div>\r\n'},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular_es6_1=__webpack_require__(13),touchspin_directive_1=__webpack_require__(9),touchend_directive_1=__webpack_require__(7),touchstart_directive_1=__webpack_require__(11),touchspin_config_1=__webpack_require__(12);exports.default=angular_es6_1.AngularES6.module("nk.touchspin").directive("touchSpin",touchspin_directive_1.TouchSpinDirective).directive("nkTouchend",touchend_directive_1.TouchEndDirective).directive("nkTouchstart",touchstart_directive_1.TouchStartDirective).provider("touchSpinConfig",touchspin_config_1.TouchSpinConfig).name},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular=__webpack_require__(1),TouchEndController=function(){function TouchEndController($element,$attrs,$scope){"ngInject";this.$element=$element,this.$attrs=$attrs,this.$scope=$scope,1===angular.version.major&&angular.version.minor<5&&this.$onInit()}return TouchEndController.$inject=["$element","$attrs","$scope"],TouchEndController.prototype.$onInit=function(){this.initializeEvents()},TouchEndController.prototype.initializeEvents=function(){var _this=this;this.$element.on("touchend",function(event){_this.$scope.$apply(function(){_this.$scope.$eval(_this.$attrs.nkTouchend,{$event:event})})})},TouchEndController}();exports.TouchEndController=TouchEndController},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var touchend_controller_1=__webpack_require__(6),TouchEndDirective=function(){return function(){this.restrict="A",this.controller=touchend_controller_1.TouchEndController}}();exports.TouchEndDirective=TouchEndDirective},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular=__webpack_require__(1),angular_touchspin_model_1=__webpack_require__(2),TouchSpinController=function(){function TouchSpinController($element,$attrs,$scope,$interval,$timeout,touchSpinConfig){"ngInject";this.$element=$element,this.$attrs=$attrs,this.$scope=$scope,this.$interval=$interval,this.$timeout=$timeout,this.touchSpinConfig=touchSpinConfig,this.inputElement=this.$element.find("input"),1===angular.version.major&&angular.version.minor<5&&this.$onInit()}return TouchSpinController.$inject=["$element","$attrs","$scope","$interval","$t
1imeout","touchSpinConfig"],TouchSpinController.prototype.$onInit=function(){this.prepareNgModel(),this.prepareOptions(),this.prepareWatchers(),this.initializeEvents()},TouchSpinController.prototype.startSpinUp=function(){var _this=this;this.checkValue(!0),this.touchSpinOptions.verticalButtons?this.decrement():this.increment(),this.stopSpin(!0),this.clickStart=Date.now(),this.timeout=this.$timeout(function(){_this.timer=_this.$interval(function(){_this.touchSpinOptions.verticalButtons?_this.decrement():_this.increment()},_this.touchSpinOptions.stepInterval)},this.touchSpinOptions.stepIntervalDelay)},TouchSpinController.prototype.startSpinDown=function(){var _this=this;this.checkValue(!0),this.touchSpinOptions.verticalButtons?this.increment():this.decrement(),this.stopSpin(!0),this.clickStart=Date.now(),this.timeout=this.$timeout(function(){_this.timer=_this.$interval(function(){_this.touchSpinOptions.verticalButtons?_this.increment():_this.decrement()},_this.touchSpinOptions.stepInterval)},this.touchSpinOptions.stepIntervalDelay)},TouchSpinController.prototype.stopSpin=function(force){var _this=this;force||Date.now()-this.clickStart>this.touchSpinOptions.stepIntervalDelay?(this.$timeout.cancel(this.timeout),this.$interval.cancel(this.timer)):this.isButtonTouching||this.isMouseButtonDown||this.$timeout(function(){_this.$timeout.cancel(_this.timeout),_this.$interval.cancel(_this.timer)},this.touchSpinOptions.stepIntervalDelay)},TouchSpinController.prototype.checkValue=function(preventSameValueChange){if(this.ngModelController.$isEmpty(this.val))this.changeValue(this.touchSpinOptions.min);else if(this.numberRegex.test(this.val)){var value=this.getNumberValue(this.val);value>this.touchSpinOptions.max?this.changeValue(this.touchSpinOptions.max):value<this.touchSpinOptions.min?this.changeValue(this.touchSpinOptions.min):preventSameValueChange||this.changeValue(value),this.overwriteOldValue()}else""!==this.oldVal?this.changeValue(this.getNumberValue(this.oldVal)):this.changeValue(this.touchSpinOptions.min);this.focused=!1},TouchSpinController.prototype.focus=function(){this.focused=!0},TouchSpinController.prototype.keyUp=function(event){var code=event.keyCode||event.which;40!==code&&38!==code||(this.stopSpin(!0),this.isKeyDown=!1,event.preventDefault())},TouchSpinController.prototype.keyDown=function(event){var code=event.keyCode||event.which;38!==code&&40!==code||(this.isKeyDown||(38==code?this.startSpinUp():this.startSpinDown(),this.isKeyDown=!0),event.preventDefault())},TouchSpinController.prototype.mouseDown=function(event,increment){this.isButtonTouching||(this.isMouseButtonDown=!0,increment?this.startSpinUp():this.startSpinDown())},TouchSpinController.prototype.mouseUp=function(event){this.isMouseButtonDown=!1,this.stopSpin(!0)},TouchSpinController.prototype.mouseLeave=function(event){this.isMouseButtonDown&&this.mouseUp(event)},TouchSpinController.prototype.buttonTouchStart=function(event,increment){this.isButtonTouching=!0,increment?this.startSpinUp():this.startSpinDown()},TouchSpinController.prototype.buttonTouchEnd=function(event){this.isButtonTouching=!1,this.stopSpin()},TouchSpinController.prototype.initializeEvents=function(){var _this=this;this.inputElement.on("mousewheel DOMMouseScroll",function(ev){if(_this.touchSpinOptions.mousewheel&&_this.focused){var delta=angular.isUndefined(ev.originalEvent)?ev.wheelDelta||-ev.wheelDeltaY||-ev.detail:ev.originalEvent.wheelDelta||-ev.originalEvent.wheelDeltaY||-ev.originalEvent.detail;ev.stopPropagation(),ev.preventDefault(),delta<0?_this.decrement():_this.increment()}})},TouchSpinController.prototype.prepareNgModel=function(){var _this=this;this.ngModelController=this.$element.controller("ngModel"),this.ngModelController.$formatters.push(function(value){return angular.isNumber(value)&&!_this.ngModelController.$isEmpty(value)&&(_this.overwriteOldValue(value.toString()),_this.changeValue(value,!0,!0)),value}),angular.isDefined(this.min)&&(this.ngModelController.$validators.min=function(modelValue,viewValue){return modelValue>=_this.min}),angular.isDefined(this.max)&&(this.ngModelController.$validators.max=function(modelValue,viewValue){return modelValue<_this.max})},TouchSpinController.prototype.prepareOptions=function(){this.prepareTouchspinOptions(),this.numberRegex=new RegExp("^-?(?:\\d+|\\d*"+this.escapeRegExp(this.touchSpinOptions.decimalsDelimiter)+"\\d+)$","i");var value=this.ngModelController.$modelValue||this.touchSpinOptions.min;this.changeValue(value,!0,!0)},TouchSpinController.prototype.prepareTouchspinOptions=function(){this.touchSpinOptions=angular.extend({},this.touchSpinConfig,this.options)},TouchSpinController.prototype.prepareWatchers=function(){var _this=this;this.$scope.$watch(function(){return _this.options},function(newValue,oldValue){newValue&&!angular.equals(newValue,oldValue)&&_this.prepareTouchspinOptions()})},TouchSpinController.prototype.changeValue=function(value,supressNgModel,supressChangeEvent){var _this=this;if(value=this.roundAccordingToSettings(value),this.val=value.toFixed(this.touchSpinOptions.decimals),"."!==this.touchSpinOptions.decimalsDelimiter&&(this.val=this.val.replace(".",",")),supressNgModel||this.ngModelController.$setViewValue(value),!supressChangeEvent&&this.$attrs.onChange){var oldValue_1=this.getNumberValue(this.oldVal),value_1=this.getNumberValue(this.val);oldValue_1!=value_1&&this.$timeout(function(){_this.onChange({oldValue:oldValue_1,value:value_1})})}},TouchSpinController.prototype.decrement=function(){this.overwriteOldValue();var value=this.getNumberValue(this.val)-this.touchSpinOptions.step;value<this.touchSpinOptions.min?this.changeValue(this.touchSpinOptions.min):this.changeValue(value)},TouchSpinController.prototype.escapeRegExp=function(stringToGoIntoTheRegex){return stringToGoIntoTheRegex.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},TouchSpinController.prototype.increment=function(){this.overwriteOldValue();var value=this.getNumberValue(this.val)+this.touchSpinOptions.step;value>this.touchSpinOptions.max?this.changeValue(this.touchSpinOptions.max):this.changeValue(value)},TouchSpinController.prototype.getNumberValue=function(value){return"."!==this.touchSpinOptions.decimalsDelimiter&&(value=value.replace(this.touchSpinOptions.decimalsDelimiter,".")),parseFloat(value)},TouchSpinController.prototype.overwriteOldValue=function(value){this.oldVal=value||this.val},TouchSpinController.prototype.roundAccordingToSettings=function(value){var decimalValue=Math.pow(10,this.touchSpinOptions.decimals);switch(this.touchSpinOptions.forceStepDivisibility){case angular_touchspin_model_1.StepDivisibilityType.ceil:value=Math.ceil(value*decimalValue)/decimalValue;break;case angular_touchspin_model_1.StepDivisibilityType.floor:value=Math.floor(value*decimalValue)/decimalValue;break;case angular_touchspin_model_1.StepDivisibilityType.round:value=Math.round(value*decimalValue)/decimalValue}return value},TouchSpinController}();exports.TouchSpinController=TouchSpinController},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var touchspin_controller_1=__webpack_require__(8);__webpack_require__(3);var TouchSpinDirective=function(){return function(){this.restrict="EA",this.require="^ngModel",this.scope={},this.bindToController={disabled:"=?",max:"=?",min:"=?",onChange:"&",options:"=?"},this.controller=touchspin_controller_1.TouchSpinController,this.controllerAs="vm",this.template=__webpack_require__(4)}}();exports.TouchSpinDirective=TouchSpinDirective},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular=__webpack_require__(1),TouchStartController=function(){function TouchStartController($element,$attrs,$scope){"ngInject";this.$element=$element,this.$attrs=$attrs,this.$scope=$scope,1===angular.version.major&&angular.version.minor<5&&this.$onInit()}return TouchStartController.$inject=["$element","$attrs","$scope"],TouchStartController.prototype.$onInit=function(){this.initializeEvents()},TouchStartController.prototype.initializeEvents=function(){var _this=this;this.$element.on("touchstart",function(event){_this.$scope.$apply(function(){_this.$scope.$eval(_this.$attrs.nkTouchstart,{$event:event})})})},TouchStartController}();exports.TouchStartController=TouchStartController},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var touchstart_controller_1=__webpack_require__(10),TouchStartDirective=function(){return function(){this.restrict="A",this.controller=touchstart_controller_1.TouchStartController}}();exports.TouchStartDirective=TouchStartDirective},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular=__webpack_require__(1),angular_touchspin_model_1=__webpack_require__(2),TouchSpinConfig=function(){function TouchSpinConfig(){this.defaultTouchSpinOptions={buttonDownClass:"btn btn-default",buttonDownShow:!0,buttonUpClass:"btn btn-default",buttonUpShow:!0,decimals:0,decimalsDelimiter:".",max:100,min:0,inputReadOnly:!1,step:1,mou
1sewheel:!0,prefix:"",postfix:"",forceStepDivisibility:angular_touchspin_model_1.StepDivisibilityType.round,stepInterval:100,stepIntervalDelay:500,verticalButtons:!1,verticalDownClass:"glyphicon glyphicon-chevron-down",verticalUpClass:"glyphicon glyphicon-chevron-up"}}return TouchSpinConfig.prototype.defaults=function(options){this.defaultTouchSpinOptions=angular.extend({},this.defaultTouchSpinOptions,options)},TouchSpinConfig.prototype.$get=function(){return this.defaultTouchSpinOptions},TouchSpinConfig}();exports.TouchSpinConfig=TouchSpinConfig},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var angular=__webpack_require__(1),AngularES6=function(){function AngularES6(moduleName,dependancies){dependancies=dependancies||[],this.name=moduleName,this.angularModule=angular.module(moduleName,dependancies)}return AngularES6.module=function(moduleName,dependancies){return new AngularES6(moduleName,dependancies=dependancies||[])},AngularES6.prototype.constant=function(name,value){return this.angularModule.constant(name,value),this},AngularES6.prototype.config=function(configFn){return this.angularModule.config(configFn),this},AngularES6.prototype.controller=function(name,constructorFn){return this.angularModule.controller(name,constructorFn),this},AngularES6.prototype.directive=function(name,constructorFn){var normalizedConstructorFn=this.normalizeConstructor(constructorFn);normalizedConstructorFn.prototype.compile||(normalizedConstructorFn.prototype.compile=function(){});var originalCompileFn=this.cloneFunction(normalizedConstructorFn.prototype.compile);this.override(normalizedConstructorFn.prototype,"compile",function(){return function(){if(originalCompileFn.apply(this,arguments),normalizedConstructorFn.prototype.link)return normalizedConstructorFn.prototype.link.bind(this)}});var factoryArray=this.createFactoryArray(constructorFn);return this.angularModule.directive(name,factoryArray),this},AngularES6.prototype.factory=function(name,constructorFn){constructorFn=this.normalizeConstructor(constructorFn);var factoryArray=this.createFactoryArray(constructorFn);return this.angularModule.factory(name,factoryArray),this},AngularES6.prototype.filter=function(name,constructorFn){var filterArray=this.createFilterArray(constructorFn);return this.angularModule.filter(name,filterArray),this},AngularES6.prototype.service=function(name,constructorFn){return this.angularModule.service(name,constructorFn),this},AngularES6.prototype.provider=function(name,constructorFn){return this.angularModule.provider(name,constructorFn),this},AngularES6.prototype.run=function(initializationFunction){return this.angularModule.run(initializationFunction),this},AngularES6.prototype.normalizeConstructor=function(inputConstructorFn){var constructorFn;if(angular.isArray(inputConstructorFn.constructor)){var injected=inputConstructorFn.slice(0,inputConstructorFn.length-1);(constructorFn=inputConstructorFn[inputConstructorFn.length-1]).$inject=injected}else constructorFn=inputConstructorFn;return constructorFn},AngularES6.prototype.createFactoryArray=function(constructorFn){var factoryArray=(constructorFn.$inject||[]).slice();return factoryArray.push(function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return new(constructorFn.bind.apply(constructorFn,[void 0].concat(args)))}),factoryArray},AngularES6.prototype.createFilterArray=function(constructorFn){var filterArray=(constructorFn.$inject||[]).slice();return filterArray.push(function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return(new(constructorFn.bind.apply(constructorFn,[void 0].concat(args)))).filter}),filterArray},AngularES6.prototype.cloneFunction=function(original){return function(){return original.apply(this,arguments)}},AngularES6.prototype.override=function(object,methodName,callback){object[methodName]=callback(object[methodName])},AngularES6}();exports.AngularES6=AngularES6}])}),function(root,factory){void 0===root&&void 0!==window&&(root=window),"function"==typeof define&&define.amd?define(["jquery"],function(a0){return factory(a0)}):"object"==typeof module&&module.exports?module.exports=factory(require("jquery")):factory(root.jQuery)}(this,function(jQuery){!function($){"use strict";var DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],DefaultWhitelist={"*":["class","dir","id","lang","role","tabindex","style",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function allowedAttribute(attr,allowedAttributeList){var attrName=attr.nodeName.toLowerCase();if(-1!==$.inArray(attrName,allowedAttributeList))return-1===$.inArray(attrName,uriAttrs)||Boolean(attr.nodeValue.match(SAFE_URL_PATTERN)||attr.nodeValue.match(DATA_URL_PATTERN));for(var regExp=$(allowedAttributeList).filter(function(index,value){return value instanceof RegExp}),i=0,l=regExp.length;i<l;i++)if(attrName.match(regExp[i]))return!0;return!1}function sanitizeHtml(unsafeElements,whiteList,sanitizeFn){if(sanitizeFn&&"function"==typeof sanitizeFn)return sanitizeFn(unsafeElements);for(var whitelistKeys=Object.keys(whiteList),i=0,len=unsafeElements.length;i<len;i++)for(var elements=unsafeElements[i].querySelectorAll("*"),j=0,len2=elements.length;j<len2;j++){var el=elements[j],elName=el.nodeName.toLowerCase();if(-1!==whitelistKeys.indexOf(elName))for(var attributeList=[].slice.call(el.attributes),whitelistedAttributes=[].concat(whiteList["*"]||[],whiteList[elName]||[]),k=0,len3=attributeList.length;k<len3;k++){var attr=attributeList[k];allowedAttribute(attr,whitelistedAttributes)||el.removeAttribute(attr.nodeName)}else el.parentNode.removeChild(el)}}"classList"in document.createElement("_")||function(view){if("Element"in view){var elemCtrProto=view.Element.prototype,objCtr
vendor: 4,708 bytes, line 1
1=Object,classListGetter=function(){var $elem=$(this);return{add:function(classes){return classes=Array.prototype.slice.call(arguments).join(" "),$elem.addClass(classes)},remove:function(classes){return classes=Array.prototype.slice.call(arguments).join(" "),$elem.removeClass(classes)},toggle:function(classes,force){return $elem.toggleClass(classes,force)},contains:function(classes){return $elem.hasClass(classes)}}};if(objCtr.defineProperty){var classListPropDesc={get:classListGetter,enumerable:!0,configurable:!0};try{objCtr.defineProperty(elemCtrProto,"classList",classListPropDesc)}catch(ex){void 0!==ex.number&&-2146823252!==ex.number||(classListPropDesc.enumerable=!1,objCtr.defineProperty(elemCtrProto,"classList",classListPropDesc))}}else objCtr.prototype.__defineGetter__&&elemCtrProto.__defineGetter__("classList",classListGetter)}}(window);var defineProperty,toString,startsWith,testElement=document.createElement("_");if(testElement.classList.add("c1","c2"),!testElement.classList.contains("c2")){var _add=DOMTokenList.prototype.add,_remove=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){Array.prototype.forEach.call(arguments,_add.bind(this))},DOMTokenList.prototype.remove=function(){Array.prototype.forEach.call(arguments,_remove.bind(this))}}if(testElement.classList.toggle("c3",!1),testElement.classList.contains("c3")){var _toggle=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(token,force){return 1 in arguments&&!this.contains(token)==!force?force:_toggle.call(this,token)}}function getSelectedOptions(select,ignoreDisabled){var opt,selectedOptions=select.selectedOptions,options=[];if(ignoreDisabled){for(var i=0,len=selectedOptions.length;i<len;i++)(opt=selectedOptions[i]).disabled||"OPTGROUP"===opt.parentNode.tagName&&opt.parentNode.disabled||options.push(opt);return options}return selectedOptions}function getSelectValues(select,selectedOptions){for(var opt,value=[],options=selectedOptions||select.selectedOptions,i=0,len=options.length;i<len;i++)(opt=options[i]).disabled||"OPTGROUP"===opt.parentNode.tagName&&opt.parentNode.disabled||value.push(opt.value);return select.multiple?value:value.length?value[0]:null}testElement=null,String.prototype.startsWith||(defineProperty=function(){try{var object={},$defineProperty=Object.defineProperty,result=$defineProperty(object,object,object)&&$defineProperty}catch(error){}return result}(),toString={}.toString,startsWith=function(search){if(null==this)throw new TypeError;var string=String(this);if(search&&"[object RegExp]"==toString.call(search))throw new TypeError;var stringLength=string.length,searchString=String(search),searchLength=searchString.length,position=arguments.length>1?arguments[1]:void 0,pos=position?Number(position):0;pos!=pos&&(pos=0);var start=Math.min(Math.max(pos,0),stringLength);if(searchLength+start>stringLength)return!1;for(var index=-1;++index<searchLength;)if(string.charCodeAt(start+index)!=searchString.charCodeAt(index))return!1;return!0},defineProperty?defineProperty(String.prototype,"startsWith",{value:startsWith,configurable:!0,writable:!0}):String.prototype.startsWith=startsWith),Object.keys||(Object.keys=function(o,k,r){for(k in r=[],o)r.hasOwnProperty.call(o,k)&&r.push(k);return r}),HTMLSelectElement&&!HTMLSelectElement.prototype.hasOwnProperty("selectedOptions")&&Object.defineProperty(HTMLSelectElement.prototype,"selectedOptions",{get:function(){return this.querySelectorAll(":checked")}});var valHooks={useDefault:!1,_set:$.valHooks.select.set};$.valHooks.select.set=function(elem,value){return value&&!valHooks.useDefault&&$(elem).data("selected",!0),valHooks._set.apply(this,arguments)};var changedArguments=null,EventIsSupported=function(){try{return new Event("change"),!0}catch(e){return!1}}();function stringSearch(li,searchString,method,normalize){for(var stringTypes=["display","subtext","tokens"],searchSuccess=!1,i=0;i<stringTypes.length;i++){var stringType=stringTypes[i],string=li[stringType];if(string&&(string=string.toString(),"display"===stringType&&(string=string.replace(/<[^>]+>/g,"")),normalize&&(string=normalizeToBase(string)),string=string.toUpperCase(),searchSuccess="contains"===method?string.indexOf(searchString)>=0:string.startsWith(searchString)))break}return searchSuccess}function toInteger(value){return parseInt(value,10)||0}$.fn.triggerNative=function(eventName){var event,el=this[0];el.dispatchEvent?(EventIsSupported?event=new Event(eventName,{bubbles:!0}):(event=document.createEvent("Event")).initEvent(eventName,!0,!1),el.dispatchEvent(event)):el.fireEvent?((event=document.createEventObject()).eventType=eventName,el.fireEvent("on"+eventName,event)):this.trigger(eventName)};var deburredLetters=
vendor: 1,721 bytes, line 1
1{"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}
vendor: 11,416 bytes, line 1
1,reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,reComboMark=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]","g");function deburrLetter(key){return deburredLetters[key]}function normalizeToBase(string){return(string=string.toString())&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}var map,escaper,source,testRegexp,replaceRegexp,htmlEscape=(map={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},escaper=function(match){return map[match]},source="(?:"+Object.keys(map).join("|")+")",testRegexp=RegExp(source),replaceRegexp=RegExp(source,"g"),function(string){return string=null==string?"":""+string,testRegexp.test(string)?string.replace(replaceRegexp,escaper):string}),keyCodeMap={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",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",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"},keyCodes_ESCAPE=27,keyCodes_ENTER=13,keyCodes_SPACE=32,keyCodes_TAB=9,keyCodes_ARROW_UP=38,keyCodes_ARROW_DOWN=40,version={success:!1,major:"3"};try{version.full=($.fn.dropdown.Constructor.VERSION||"").split(" ")[0].split("."),version.major=version.full[0],version.success=!0}catch(err){}var selectId=0,EVENT_KEY=".bs.select",classNames={DISABLED:"disabled",DIVIDER:"divider",SHOW:"open",DROPUP:"dropup",MENU:"dropdown-menu",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left",BUTTONCLASS:"btn-default",POPOVERHEADER:"popover-title",ICONBASE:"glyphicon",TICKICON:"glyphicon-ok"},Selector={MENU:"."+classNames.MENU},elementTemplates={div:document.createElement("div"),span:document.createElement("span"),i:document.createElement("i"),subtext:document.createElement("small"),a:document.createElement("a"),li:document.createElement("li"),whitespace:document.createTextNode(" "),fragment:document.createDocumentFragment()};elementTemplates.noResults=elementTemplates.li.cloneNode(!1),elementTemplates.noResults.className="no-results",elementTemplates.a.setAttribute("role","option"),elementTemplates.a.className="dropdown-item",elementTemplates.subtext.className="text-muted",elementTemplates.text=elementTemplates.span.cloneNode(!1),elementTemplates.text.className="text",elementTemplates.checkMark=elementTemplates.span.cloneNode(!1);var REGEXP_ARROW=new RegExp(keyCodes_ARROW_UP+"|"+keyCodes_ARROW_DOWN),REGEXP_TAB_OR_ESCAPE=new RegExp("^"+keyCodes_TAB+"$|"+keyCodes_ESCAPE),generateOption={li:function(content,classes,optgroup){var li=elementTemplates.li.cloneNode(!1);return content&&(1===content.nodeType||11===content.nodeType?li.appendChild(content):li.innerHTML=content),void 0!==classes&&""!==classes&&(li.className=classes),void 0!==optgroup&&null!==optgroup&&li.classList.add("optgroup-"+optgroup),li},a:function(text,classes,inline){var a=elementTemplates.a.cloneNode(!0);return text&&(11===text.nodeType?a.appendChild(text):a.insertAdjacentHTML("beforeend",text)),void 0!==classes&&""!==classes&&a.classList.add.apply(a.classList,classes.split(/\s+/)),inline&&a.setAttribute("style",inline),a},text:function(options,useFragment){var subtextElement,iconElement,textElement=elementTemplates.text.cloneNode(!1);if(options.content)textElement.innerHTML=options.content;else{if(textElement.textContent=options.text,options.icon){var whitespace=elementTemplates.whitespace.cloneNode(!1);(iconElement=(!0===useFragment?elementTemplates.i:elementTemplates.span).cloneNode(!1)).className=this.options.iconBase+" "+options.icon,elementTemplates.fragment.appendChild(iconElement),elementTemplates.fragment.appendChild(whitespace)}options.subtext&&((subtextElement=elementTemplates.subtext.cloneNode(!1)).textContent=options.subtext,textElement.appendChild(subtextElement))}if(!0===useFragment)for(;textElement.childNodes.length>0;)elementTemplates.fragment.appendChild(textElement.childNodes[0]);else elementTemplates.fragment.appendChild(textElement);return elementTemplates.fragment},label:function(options){var subtextElement,iconElement,textElement=elementTemplates.text.cloneNode(!1);if(textElement.innerHTML=options.display,options.icon){var whitespace=elementTemplates.whitespace.cloneNode(!1);(iconElement=elementTemplates.span.cloneNode(!1)).className=this.options.iconBase+" "+options.icon,elementTemplates.fragment.appendChild(iconElement),elementTemplates.fragment.appendChild(whitespace)}return options.subtext&&((subtextElement=elementTemplates.subtext.cloneNode(!1)).textContent=options.subtext,textElement.appendChild(subtextElement)),elementTemplates.fragment.appendChild(textElement),elementTemplates.fragment}};var Selectpicker=function(element,options){var that=this;valHooks.useDefault||($.valHooks.select.set=valHooks._set,valHooks.useDefault=!0),this.$element=$(element),this.$newElement=null,this.$button=null,this.$menu=null,this.options=options,this.selectpicker={main:{},search:{},current:{},view:{},isSearching:!1,keydown:{keyHistory:"",resetKeyHistory:{start:function(){return setTimeout(function(){that.selectpicker.keydown.keyHistory=""},800)}}}},this.sizeInfo={},null===this.options.title&&(this.options.title=this.$element.attr("title"));var winPad=this.options.windowPadding;"number"==typeof winPad&&(this.options.windowPadding=[winPad,winPad,winPad,winPad]),this.val=Selectpicker.prototype.val,this.render=Selectpicker.prototype.render,this.refresh=Selectpicker.prototype.refresh,this.setStyle=Selectpicker.prototype.setStyle,this.selectAll=Selectpicker.prototype.selectAll,this.deselectAll=Selectpicker.prototype.deselectAll,this.destroy=Selectpicker.prototype.destroy,this.remove=Selectpicker.prototype.remove,this.show=Selectpicker.prototype.show,this.hide=Selectpicker.prototype.hide,this.init()};function Plugin(option){var value,args=arguments,_option=option;if([].shift.apply(args),!version.success){try{version.full=($.fn.dropdown.Constructor.VERSION||"").split(" ")[0].split(".")}catch(err){Selectpicker.BootstrapVersion?version.full=Selectpicker.BootstrapVersion.split(" ")[0].split("."):(version.full=[version.major,"0","0"],console.warn("There was an issue retrieving Bootstrap's version. Ensure Bootstrap is being loaded before bootstrap-select and there is no namespace collision. If loading Bootstrap asynchronously, the version may need to be manually specified via $.fn.selectpicker.Constructor.BootstrapVersion.",err))}version.major=version.full[0],version.success=!0}if("4"===version.major){var toUpdate=[];Selectpicker.DEFAULTS.style===classNames.BUTTONCLASS&&toUpdate.push({name:"style",className:"BUTTONCLASS"}),Selectpicker.DEFAULTS.iconBase===classNames.ICONBASE&&toUpdate.push({name:"iconBase",className:"ICONBASE"}),Selectpicker.DEFAULTS.tickIcon===classNames.TICKICON&&toUpdate.push({name:"tickIcon",className:"TICKICON"}),classNames.DIVIDER="dropdown-divider",classNames.SHOW="show",classNames.BUTTONCLASS="btn-light",classNames.POPOVERHEADER="popover-header",classNames.ICONBASE="",classNames.TICKICON="bs-ok-default";for(var i=0;i<toUpdate.length;i++){option=toUpdate[i];Selectpicker.DEFAULTS[option.name]=classNames[option.className]}}var chain=this.each(function(){var $this=$(this);if($this.is("select")){var data=$this.data("selectpicker"),options="object"==typeof _option&&_option;if(data){if(options)for(var i in options)Object.prototype.hasOwnProperty.call(options,i)&&(data.options[i]=options[i])}else{var dataAttributes=$this.data();for(var dataAttr in dataAttributes)Object.prototype.hasOwnProperty.call(dataAttributes,dataAttr)&&-1!==$.inArray(dataAttr,DISALLOWED_ATTRIBUTES)&&delete dataAttributes[dataAttr];var config=$.extend({},Selectpicker.DEFAULTS,$.fn.selectpicker.defaults||{},dataAttributes,options);config.template=$.extend({},Selectpicker.DEFAULTS.template,$.fn.selectpicker.defaults?$.fn.selectpicker.defaults.template:{},dataAttributes.template,options.template),$this.data("selectpicker",data=new Selectpicker(this,config))}"string"==typeof _option&&(value=data[_option]instanceof Function?data[_option].apply(data,args):data.options[_option])}});return void 0!==value?value:chain}Selectpicker.VERSION="1.13.18",Selectpicker.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(numSelected,numTotal){return 1==numSelected?"{0} item selected":"{0} items selected"},maxOptionsText:function(numAll,numGroup){return[1==numAll?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==numGroup?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:classNames.BUTTONCLASS,size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:classNames.ICONBASE,tickIcon:classNames.TICKICON,showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0,virtualScroll:600,display:!1,sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist},Selectpicker.prototype={constructor:Selectpicker,init:function(){var that=this,id=this.$element.attr("id"),element=this.$element[0],form=element.form;selectId++,this.selectId="bs-select-"+selectId,element.classList.add("bs-select-hidden"),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),element.classList.contains("show-tick")&&(this.options.showTick=!0),this.$newElement=this.createDropdown(),this.buildData(),this.$element.after(this.$newElement).prependTo(this.$newElement),form&&null===element.form&&(form.id||(form.id="form-"+this.selectId),element.setAttribute("form",form.id)),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(Selector.MENU),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),element.classList.remove("bs-select-hidden"),!0===this.options.dropdownAlignRight&&this.$menu[0].classList.add(classNames.MENURIGHT),void 0!==id&&this.$button.attr("data-id",id),this.checkDisabled(),this.clickListener(),this.options.liveSearch?(this.liveSearchListener(),this.focusedParent=this.$searchbox[0]):this.focusedParent=this.$menuInner[0],this.setStyle(),this.render(),this.setWidth(),this.options.container?this.selectPosition():this.$element.on("hide.bs.select",function(){if(that.isVirtual()){var menuInner=that.$menuInner[0],emptyMenu=menuInner.firstChild.cloneNode(!1);menuInner.replaceChild(emptyMenu,menuInner.firstChild),menuInner.scrollTop=0}}),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(e){that.$element.trigger("hide.bs.select",e)},"hidden.bs.dropdown":function(e){that.$element.trigger("hidden.bs.select",e)},"show.bs.dropdown":function(e){that.$element.trigger("show.bs.select",e)},"shown.bs.dropdown":function(e){that.$element.trigger("shown.bs.select",e)}}),element.hasAttribute("required")&&this.$element.on("invalid.bs.select",function(){that.$button[0].classList.add("bs-invalid"),that.$element.on("shown.bs.select.invali
1d",function(){that.$element.val(that.$element.val()).off("shown.bs.select.invalid")}).on("rendered.bs.select",function(){this.validity.valid&&that.$button[0].classList.remove("bs-invalid"),that.$element.off("rendered.bs.select")}),that.$button.on("blur.bs.select",function(){that.$element.trigger("focus").trigger("blur"),that.$button.off("blur.bs.select")})}),setTimeout(function(){that.buildList(),that.$element.trigger("loaded.bs.select")})},createDropdown:function(){var showTick=this.multiple||this.options.showTick?" show-tick":"",multiselectable=this.multiple?' aria-multiselectable="true"':"",inputGroup="",autofocus=this.autofocus?" autofocus":"";version.major<4&&this.$element.parent().hasClass("input-group")&&(inputGroup=" input-group-btn");var drop,header="",searchbox="",actionsbox="",donebutton="";return this.options.header&&(header='<div class="'+classNames.POPOVERHEADER+'"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>"),this.options.liveSearch&&(searchbox='<div class="bs-searchbox"><input type="search" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+htmlEscape(this.options.liveSearchPlaceholder)+'"')+' role="combobox" aria-label="Search" aria-controls="'+this.selectId+'" aria-autocomplete="list"></div>'),this.multiple&&this.options.actionsBox&&(actionsbox='<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn '+classNames.BUTTONCLASS+'">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn '+classNames.BUTTONCLASS+'">'+this.options.deselectAllText+"</button></div></div>"),this.multiple&&this.options.doneButton&&(donebutton='<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm '+classNames.BUTTONCLASS+'">'+this.options.doneButtonText+"</button></div></div>"),drop='<div class="dropdown bootstrap-select'+showTick+inputGroup+'"><button type="button" tabindex="-1" class="'+this.options.styleBase+' dropdown-toggle" '+("static"===this.options.display?'data-display="static"':"")+'data-toggle="dropdown"'+autofocus+' role="combobox" aria-owns="'+this.selectId+'" aria-haspopup="listbox" aria-expanded="false"><div class="filter-option"><div class="filter-option-inner"><div class="filter-option-inner-inner"></div></div> </div>'+("4"===version.major?"":'<span class="bs-caret">'+this.options.template.caret+"</span>")+'</button><div class="'+classNames.MENU+" "+("4"===version.major?"":classNames.SHOW)+'">'+header+searchbox+actionsbox+'<div class="inner '+classNames.SHOW+'" role="listbox" id="'+this.selectId+'" tabindex="-1" '+multiselectable+'><ul class="'+classNames.MENU+" inner "+("4"===version.major?classNames.SHOW:"")+'" role="presentation"></ul></div>'+donebutton+"</div></div>",$(drop)},setPositionData:function(){this.selectpicker.view.canHighlight=[],this.selectpicker.view.size=0,this.selectpicker.view.firstHighlightIndex=!1;for(var i=0;i<this.selectpicker.current.data.length;i++){var li=this.selectpicker.current.data[i],canHighlight=!0;"divider"===li.type?(canHighlight=!1,li.height=this.sizeInfo.dividerHeight):"optgroup-label"===li.type?(canHighlight=!1,li.height=this.sizeInfo.dropdownHeaderHeight):li.height=this.sizeInfo.liHeight,li.disabled&&(canHighlight=!1),this.selectpicker.view.canHighlight.push(canHighlight),canHighlight&&(this.selectpicker.view.size++,li.posinset=this.selectpicker.view.size,!1===this.selectpicker.view.firstHighlightIndex&&(this.selectpicker.view.firstHighlightIndex=i)),li.position=(0===i?0:this.selectpicker.current.data[i-1].position)+li.height}},isVirtual:function(){return!1!==this.options.virtualScroll&&this.selectpicker.main.elements.length>=this.options.virtualScroll||!0===this.options.virtualScroll},createView:function(isSearching,setSize,refresh){var selected,prevActive,that=this,scrollTop=0,active=[];if(this.selectpicker.isSearching=isSearching,this.selectpicker.current=isSearching?this.selectpicker.search:this.selectpicker.main,this.setPositionData(),setSize)if(refresh)scrollTop=this.$menuInner[0].scrollTop;else if(!that.multiple){var element=that.$element[0],selectedIndex=(element.options[element.selectedIndex]||{}).liIndex;if("number"==typeof selectedIndex&&!1!==that.options.size){var selectedData=that.selectpicker.main.data[selectedIndex],position=selectedData&&selectedData.position;position&&(scrollTop=position-(that.sizeInfo.menuInnerHeight+that.sizeInfo.liHeight)/2)}}function scroll(scrollTop,init){var chunkSize,chunkCount,firstChunk,lastChunk,currentChunk,prevPositions,positionIsDifferent,previousElements,array1,array2,size=that.selectpicker.current.elements.length,chunks=[],menuIsDifferent=!0,isVirtual=that.isVirtual();that.selectpicker.view.scrollTop=scrollTop,chunkSize=Math.ceil(that.sizeInfo.menuInnerHeight/that.sizeInfo.liHeight*1.5),chunkCount=Math.round(size/chunkSize)||
vendor: 10,372 bytes, line 1
11;for(var i=0;i<chunkCount;i++){var endOfChunk=(i+1)*chunkSize;if(i===chunkCount-1&&(endOfChunk=size),chunks[i]=[i*chunkSize+(i?1:0),endOfChunk],!size)break;void 0===currentChunk&&scrollTop-1<=that.selectpicker.current.data[endOfChunk-1].position-that.sizeInfo.menuInnerHeight&&(currentChunk=i)}if(void 0===currentChunk&&(currentChunk=0),prevPositions=[that.selectpicker.view.position0,that.selectpicker.view.position1],firstChunk=Math.max(0,currentChunk-1),lastChunk=Math.min(chunkCount-1,currentChunk+1),that.selectpicker.view.position0=!1===isVirtual?0:Math.max(0,chunks[firstChunk][0])||0,that.selectpicker.view.position1=!1===isVirtual?size:Math.min(size,chunks[lastChunk][1])||0,positionIsDifferent=prevPositions[0]!==that.selectpicker.view.position0||prevPositions[1]!==that.selectpicker.view.position1,void 0!==that.activeIndex&&(prevActive=that.selectpicker.main.elements[that.prevActiveIndex],active=that.selectpicker.main.elements[that.activeIndex],selected=that.selectpicker.main.elements[that.selectedIndex],init&&(that.activeIndex!==that.selectedIndex&&that.defocusItem(active),that.activeIndex=void 0),that.activeIndex&&that.activeIndex!==that.selectedIndex&&that.defocusItem(selected)),void 0!==that.prevActiveIndex&&that.prevActiveIndex!==that.activeIndex&&that.prevActiveIndex!==that.selectedIndex&&that.defocusItem(prevActive),(init||positionIsDifferent)&&(previousElements=that.selectpicker.view.visibleElements?that.selectpicker.view.visibleElements.slice():[],that.selectpicker.view.visibleElements=!1===isVirtual?that.selectpicker.current.elements:that.selectpicker.current.elements.slice(that.selectpicker.view.position0,that.selectpicker.view.position1),that.setOptionStatus(),(isSearching||!1===isVirtual&&init)&&(array1=previousElements,array2=that.selectpicker.view.visibleElements,menuIsDifferent=!(array1.length===array2.length&&array1.every(function(element,index){return element===array2[index]}))),(init||!0===isVirtual)&&menuIsDifferent)){var marginTop,marginBottom,menuInner=that.$menuInner[0],menuFragment=document.createDocumentFragment(),emptyMenu=menuInner.firstChild.cloneNode(!1),elements=that.selectpicker.view.visibleElements,toSanitize=[];menuInner.replaceChild(emptyMenu,menuInner.firstChild);i=0;for(var visibleElementsLen=elements.length;i<visibleElementsLen;i++){var elText,elementData,element=elements[i];that.options.sanitize&&(elText=element.lastChild)&&(elementData=that.selectpicker.current.data[i+that.selectpicker.view.position0])&&elementData.content&&!elementData.sanitized&&(toSanitize.push(elText),elementData.sanitized=!0),menuFragment.appendChild(element)}if(that.options.sanitize&&toSanitize.length&&sanitizeHtml(toSanitize,that.options.whiteList,that.options.sanitizeFn),!0===isVirtual?(marginTop=0===that.selectpicker.view.position0?0:that.selectpicker.current.data[that.selectpicker.view.position0-1].position,marginBottom=that.selectpicker.view.position1>size-1?0:that.selectpicker.current.data[size-1].position-that.selectpicker.current.data[that.selectpicker.view.position1-1].position,menuInner.firstChild.style.marginTop=marginTop+"px",menuInner.firstChild.style.marginBottom=marginBottom+"px"):(menuInner.firstChild.style.marginTop=0,menuInner.firstChild.style.marginBottom=0),menuInner.firstChild.appendChild(menuFragment),!0===isVirtual&&that.sizeInfo.hasScrollBar){var menuInnerInnerWidth=menuInner.firstChild.offsetWidth;if(init&&menuInnerInnerWidth<that.sizeInfo.menuInnerInnerWidth&&that.sizeInfo.totalMenuWidth>that.sizeInfo.selectWidth)menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+"px";else if(menuInnerInnerWidth>that.sizeInfo.menuInnerInnerWidth){that.$menu[0].style.minWidth=0;var actualMenuWidth=menuInner.firstChild.offsetWidth;actualMenuWidth>that.sizeInfo.menuInnerInnerWidth&&(that.sizeInfo.menuInnerInnerWidth=actualMenuWidth,menuInner.firstChild.style.minWidth=that.sizeInfo.menuInnerInnerWidth+"px"),that.$menu[0].style.minWidth=""}}}if(that.prevActiveIndex=that.activeIndex,that.options.liveSearch){if(isSearching&&init){var newActive,index=0;that.selectpicker.view.canHighlight[index]||(index=1+that.selectpicker.view.canHighlight.slice(1).indexOf(!0)),newActive=that.selectpicker.view.visibleElements[index],that.defocusItem(that.selectpicker.view.currentActive),that.activeIndex=(that.selectpicker.current.data[index]||{}).index,that.focusItem(newActive)}}else that.$menuInner.trigger("focus")}scroll(scrollTop,!0),this.$menuInner.off("scroll.createView").on("scroll.createView",function(e,updateValue){that.noScroll||scroll(this.scrollTop,updateValue),that.noScroll=!1}),$(window).off("resize.bs.select."+this.selectId+".createView").on("resize.bs.select."+this.selectId+".createView",function(){that.$newElement.hasClass(classNames.SHOW)&&scroll(that.$menuInner[0].scrollTop)})},focusItem:function(li,liData,noStyle){if(li){liData=liData||this.selectpicker.main.data[this.activeIndex];var a=li.firstChild;a&&(a.setAttribute("aria-setsize",this.selectpicker.view.size),a.setAttribute("aria-posinset",liData.posinset),!0!==noStyle&&(this.focusedParent.setAttribute("aria-activedescendant",a.id),li.classList.add("active"),a.classList.add("active")))}},defocusItem:function(li){li&&(li.classList.remove("active"),li.firstChild&&li.firstChild.classList.remove("active"))},setPlaceholder:function(){var that=this,updateIndex=!1;if(this.options.title&&!this.multiple){this.selectpicker.view.titleOption||(this.selectpicker.view.titleOption=document.createElement("option")),updateIndex=!0;var element=this.$element[0],selectTitleOption=!1,titleNotAppended=!this.selectpicker.view.titleOption.parentNode,selectedIndex=element.selectedIndex,selectedOption=element.options[selectedIndex],navigation=window.performance&&window.performance.getEntriesByType("navigation"),isNotBackForward=navigation&&navigation.length?"back_forward"!==navigation[0].type:2!==window.performance.navigation.type;titleNotAppended&&(this.selectpicker.view.titleOption.className="bs-title-option",this.selectpicker.view.titleOption.value="",selectTitleOption=!selectedOption||0===selectedIndex&&!1===selectedOption.defaultSelected&&void 0===this.$element.data("selected")),(titleNotAppended||0!==this.selectpicker.view.titleOption.index)&&element.insertBefore(this.selectpicker.view.titleOption,element.firstChild),selectTitleOption&&isNotBackForward?element.selectedIndex=0:"complete"!==document.readyState&&window.addEventListener("pageshow",function(){that.selectpicker.view.displayedValue!==element.value&&that.render()})}return updateIndex},buildData:function(){var optionSelector=':not([hidden]):not([data-hidden="true"])',mainData=[],optID=0,startIndex=this.setPlaceholder()?1:0;this.options.hideDisabled&&(optionSelector+=":not(:disabled)");var selectOptions=this.$element[0].querySelectorAll("select > *"+optionSelector);function addDivider(config){var previousData=mainData[mainData.length-1];previousData&&"divider"===previousData.type&&(previousData.optID||config.optID)||((config=config||{}).type="divider",mainData.push(config))}function addOption(option,config){if((config=config||{}).divider="true"===option.getAttribute("data-divider"),config.divider)addDivider({optID:config.optID});else{var liIndex=mainData.length,cssText=option.style.cssText,inlineStyle=cssText?htmlEscape(cssText):"",optionClass=(option.className||"")+(config.optgroupClass||"");config.optID&&(optionClass="opt "+optionClass),config.optionClass=optionClass.trim(),config.inlineStyle=inlineStyle,config.text=option.textContent,config.content=option.getAttribute("data-content"),config.tokens=option.getAttribute("data-tokens"),config.subtext=option.getAttribute("data-subtext"),config.icon=option.getAttribute("data-icon"),option.liIndex=liIndex,config.display=config.content||config.text,config.type="option",config.index=liIndex,config.option=option,config.selected=!!option.selected,config.disabled=config.disabled||!!option.disabled,mainData.push(config)}}function addOptgroup(index,selectOptions){var optgroup=selectOptions[index],previous=!(index-1<startIndex)&&selectOptions[index-1],next=selectOptions[index+1],options=optgroup.querySelectorAll("option"+optionSelector);if(options.length){var headerIndex,lastIndex,config={display:htmlEscape(optgroup.label),subtext:optgroup.getAttribute("data-subtext"),icon:optgroup.getAttribute("data-icon"),type:"optgroup-label",optgroupClass:" "+(optgroup.className||"")};optID++,previous&&addDivider({optID:optID}),config.optID=optID,mainData.push(config);for(var j=0,len=options.length;j<len;j++){var option=options[j];0===j&&(lastIndex=(headerIndex=mainData.length-1)+len),addOption(option,{headerIndex:headerIndex,lastIndex:lastIndex,optID:config.optID,optgroupClass:config.optgroupClass,disabled:optgroup.disabled})}next&&addDivider({optID:optID})}}for(var len=selectOptions.length,i=startIndex;i<len;i++){var item=selectOptions[i];"OPTGROUP"!==item.tagName?addOption(item,{}):addOptgroup(i,selectOptions)}this.selectpicker.main.data=this.selectpicker.current.data=mainData},buildList:function(){var that=this,selectData=this.selectpicker.main.data,mainElements=[],widestOptionLength=0;function buildElement(item){var liElement,combinedLength=0;switch(item.type){case"divider":liElement=generateOption.li(!1,classNames.DIVIDER,item.optID?item.optID+"div":void 0);break;case"option":(liElement=generateOption.li(generateOption.a(generateOption.text.call(that,item),item.optionClass,item.inlineStyle),"",item.optID)).firstChild&&(liElement.firstChild.id=that.selectId+"-"+item.index);break;case"optgroup-label":liElement=generateOption.li(generateOption.label.call(that,item),"dropdown-header"+item.optgroupClass,item.optID)}item.element=liElement,mainElements.push(liElement),item.display&&(combinedLength+=item.display.length),item.subtext&&(combinedLength+=item.subtext.length),item.icon&&(combinedLength+=1),combinedLength>widestOptionLength&&(widestOptionLength=combinedLength,that.selectpicker.view.widestOption=mainElements[mainElements.length-1])}!that.options.showTick&&!that.multiple||elementTemplates.checkMark.parentNode||(elementTemplates.checkMark.className=this.options.iconBase+" "+that.options.tickIcon+" check-mark",elementTemplates.a.appendChild(elementTemplates.checkMark));for(var len=selectData.length,i=0;i<len;i++){buildElement(selectData[i])}this.selectpicker.main.elements=this.selectpicker.current.elements=mainElements}
1,findLis:function(){return this.$menuInner.find(".inner > li")},render:function(){var showCount,countMax,element=this.$element[0],placeholderSelected=this.setPlaceholder()&&0===element.selectedIndex,selectedOptions=getSelectedOptions(element,this.options.hideDisabled),selectedCount=selectedOptions.length,button=this.$button[0],buttonInner=button.querySelector(".filter-option-inner-inner"),multipleSeparator=document.createTextNode(this.options.multipleSeparator),titleFragment=elementTemplates.fragment.cloneNode(!1),hasContent=!1;if(button.classList.toggle("bs-placeholder",this.multiple?!selectedCount:!getSelectValues(element,selectedOptions)),this.multiple||1!==selectedOptions.length||(this.selectpicker.view.displayedValue=getSelectValues(element,selectedOptions)),"static"===this.options.selectedTextFormat)titleFragment=generateOption.text.call(this,{text:this.options.title},!0);else if((showCount=this.multiple&&-1!==this.options.selectedTextFormat.indexOf("count")&&selectedCount>1)&&(showCount=(countMax=this.options.selectedTextFormat.split(">")).length>1&&selectedCount>countMax[1]||1===countMax.length&&selectedCount>=2),!1===showCount){if(!placeholderSelected){for(var selectedIndex=0;selectedIndex<selectedCount&&selectedIndex<50;selectedIndex++){var option=selectedOptions[selectedIndex],thisData=this.selectpicker.main.data[option.liIndex],titleOptions={};this.multiple&&selectedIndex>0&&titleFragment.appendChild(multipleSeparator.cloneNode(!1)),option.title?titleOptions.text=option.title:thisData&&(thisData.content&&this.options.showContent?(titleOptions.content=thisData.content.toString(),hasContent=!0):(this.options.showIcon&&(titleOptions.icon=thisData.icon),this.options.showSubtext&&!this.multiple&&thisData.subtext&&(titleOptions.subtext=" "+thisData.subtext),titleOptions.text=option.textContent.trim())),titleFragment.appendChild(generateOption.text.call(this,titleOptions,!0))}selectedCount>49&&titleFragment.appendChild(document.createTextNode("..."))}}else{var optionSelector=':not([hidden]):not([data-hidden="true"]):not([data-divider="true"])';this.options.hideDisabled&&(optionSelector+=":not(:disabled)");var totalCount=this.$element[0].querySelectorAll("select > option"+optionSelector+", optgroup"+optionSelector+" option"+optionSelector).length,tr8nText="function"==typeof this.options.countSelectedText?this.options.countSelectedText(selectedCount,totalCount):this.options.countSelectedText;titleFragment=generateOption.text.call(this,{text:tr8nText.replace("{0}",selectedCount.toString()).replace("{1}",totalCount.toString())},!0)}if(void 0==this.options.title&&(this.options.title=this.$element.attr("title")),titleFragment.childNodes.length||(titleFragment=generateOption.text.call(this,{text:void 0!==this.options.title?this.options.title:this.options.noneSelectedText},!0)),button.title=titleFragment.textContent.replace(/<[^>]*>?/g,"").trim(),this.options.sanitize&&hasContent&&sanitizeHtml([titleFragment],this.options.whiteList,this.options.sanitizeFn),buttonInner.innerHTML="",buttonInner.appendChild(titleFragment),version.major<4&&this.$newElement[0].classList.contains("bs3-has-addon")){var filterExpand=button.querySelector(".filter-expand"),clone=buttonInner.cloneNode(!0);clone.className="filter-expand",filterExpand?button.replaceChild(clone,filterExpand):button.appendChild(clone)}this.$element.trigger("rendered.bs.select")},setStyle:function(newStyle,status){var buttonClass,button=this.$button[0],newElement=this.$newElement[0],style=this.options.style.trim();this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,"")),version.major<4&&(newElement.classList.add("bs3"),newElement.parentNode.classList&&newElement.parentNode.classList.contains("input-group")&&(newElement.previousElementSibling||newElement.nextElementSibling)&&(newElement.previousElementSibling||newElement.nextElementSibling).classList.contains("input-group-addon")&&newElement.classList.add("bs3-has-addon")),buttonClass=newStyle?newStyle.trim():style,"add"==status?buttonClass&&button.classList.add.apply(button.classList,buttonClass.split(" ")):"remove"==status?buttonClass&&button.classList.remove.apply(button.classList,buttonClass.split(" ")):(style&&button.classList.remove.apply(button.classList,
vendor: 29,406 bytes, line 1
1style.split(" ")),buttonClass&&button.classList.add.apply(button.classList,buttonClass.split(" ")))},liHeight:function(refresh){if(refresh||!1!==this.options.size&&!Object.keys(this.sizeInfo).length){var li,newElement=elementTemplates.div.cloneNode(!1),menu=elementTemplates.div.cloneNode(!1),menuInner=elementTemplates.div.cloneNode(!1),menuInnerInner=document.createElement("ul"),divider=elementTemplates.li.cloneNode(!1),dropdownHeader=elementTemplates.li.cloneNode(!1),a=elementTemplates.a.cloneNode(!1),text=elementTemplates.span.cloneNode(!1),header=this.options.header&&this.$menu.find("."+classNames.POPOVERHEADER).length>0?this.$menu.find("."+classNames.POPOVERHEADER)[0].cloneNode(!0):null,search=this.options.liveSearch?elementTemplates.div.cloneNode(!1):null,actions=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,doneButton=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null,firstOption=this.$element.find("option")[0];if(this.sizeInfo.selectWidth=this.$newElement[0].offsetWidth,text.className="text",a.className="dropdown-item "+(firstOption?firstOption.className:""),newElement.className=this.$menu[0].parentNode.className+" "+classNames.SHOW,newElement.style.width=0,"auto"===this.options.width&&(menu.style.minWidth=0),menu.className=classNames.MENU+" "+classNames.SHOW,menuInner.className="inner "+classNames.SHOW,menuInnerInner.className=classNames.MENU+" inner "+("4"===version.major?classNames.SHOW:""),divider.className=classNames.DIVIDER,dropdownHeader.className="dropdown-header",text.appendChild(document.createTextNode("​")),this.selectpicker.current.data.length)for(var i=0;i<this.selectpicker.current.data.length;i++){var data=this.selectpicker.current.data[i];if("option"===data.type){li=data.element;break}}else li=elementTemplates.li.cloneNode(!1),a.appendChild(text),li.appendChild(a);if(dropdownHeader.appendChild(text.cloneNode(!0)),this.selectpicker.view.widestOption&&menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(!0)),menuInnerInner.appendChild(li),menuInnerInner.appendChild(divider),menuInnerInner.appendChild(dropdownHeader),header&&menu.appendChild(header),search){var input=document.createElement("input");search.className="bs-searchbox",input.className="form-control",search.appendChild(input),menu.appendChild(search)}actions&&menu.appendChild(actions),menuInner.appendChild(menuInnerInner),menu.appendChild(menuInner),doneButton&&menu.appendChild(doneButton),newElement.appendChild(menu),document.body.appendChild(newElement);var scrollBarWidth,liHeight=li.offsetHeight,dropdownHeaderHeight=dropdownHeader?dropdownHeader.offsetHeight:0,headerHeight=header?header.offsetHeight:0,searchHeight=search?search.offsetHeight:0,actionsHeight=actions?actions.offsetHeight:0,doneButtonHeight=doneButton?doneButton.offsetHeight:0,dividerHeight=$(divider).outerHeight(!0),menuStyle=!!window.getComputedStyle&&window.getComputedStyle(menu),menuWidth=menu.offsetWidth,$menu=menuStyle?null:$(menu),menuPadding={vert:toInteger(menuStyle?menuStyle.paddingTop:$menu.css("paddingTop"))+toInteger(menuStyle?menuStyle.paddingBottom:$menu.css("paddingBottom"))+toInteger(menuStyle?menuStyle.borderTopWidth:$menu.css("borderTopWidth"))+toInteger(menuStyle?menuStyle.borderBottomWidth:$menu.css("borderBottomWidth")),horiz:toInteger(menuStyle?menuStyle.paddingLeft:$menu.css("paddingLeft"))+toInteger(menuStyle?menuStyle.paddingRight:$menu.css("paddingRight"))+toInteger(menuStyle?menuStyle.borderLeftWidth:$menu.css("borderLeftWidth"))+toInteger(menuStyle?menuStyle.borderRightWidth:$menu.css("borderRightWidth"))},menuExtras={vert:menuPadding.vert+toInteger(menuStyle?menuStyle.marginTop:$menu.css("marginTop"))+toInteger(menuStyle?menuStyle.marginBottom:$menu.css("marginBottom"))+2,horiz:menuPadding.horiz+toInteger(menuStyle?menuStyle.marginLeft:$menu.css("marginLeft"))+toInteger(menuStyle?menuStyle.marginRight:$menu.css("marginRight"))+2};menuInner.style.overflowY="scroll",scrollBarWidth=menu.offsetWidth-menuWidth,document.body.removeChild(newElement),this.sizeInfo.liHeight=liHeight,this.sizeInfo.dropdownHeaderHeight=dropdownHeaderHeight,this.sizeInfo.headerHeight=headerHeight,this.sizeInfo.searchHeight=searchHeight,this.sizeInfo.actionsHeight=actionsHeight,this.sizeInfo.doneButtonHeight=doneButtonHeight,this.sizeInfo.dividerHeight=dividerHeight,this.sizeInfo.menuPadding=menuPadding,this.sizeInfo.menuExtras=menuExtras,this.sizeInfo.menuWidth=menuWidth,this.sizeInfo.menuInnerInnerWidth=menuWidth-menuPadding.horiz,this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth,this.sizeInfo.scrollBarWidth=scrollBarWidth,this.sizeInfo.selectHeight=this.$newElement[0].offsetHeight,this.setPositionData()}},getSelectPosition:function(){var containerPos,$window=$(window),pos=this.$newElement.offset(),$container=$(this.options.container);this.options.container&&$container.length&&!$container.is("body")?((containerPos=$container.offset()).top+=parseInt($container.css("borderTopWidth")),containerPos.left+=parseInt($container.css("borderLeftWidth"))):containerPos={top:0,left:0};var winPad=this.options.windowPadding;this.sizeInfo.selectOffsetTop=pos.top-containerPos.top-$window.scrollTop(),this.sizeInfo.selectOffsetBot=$window.height()-this.sizeInfo.selectOffsetTop-this.sizeInfo.selectHeight-containerPos.top-winPad[2],this.sizeInfo.selectOffsetLeft=pos.left-containerPos.left-$window.scrollLeft(),this.sizeInfo.selectOffsetRight=$window.width()-this.sizeInfo.selectOffsetLeft-this.sizeInfo.selectWidth-containerPos.left-winPad[1],this.sizeInfo.selectOffsetTop-=winPad[0],this.sizeInfo.selectOffsetLeft-=winPad[3]},setMenuSize:function(isAuto){this.getSelectPosition();var menuInnerHeight,menuHeight,minHeight,_minHeight,maxHeight,menuInnerMinHeight,estimate,isDropup,selectWidth=this.sizeInfo.selectWidth,liHeight=this.sizeInfo.liHeight,headerHeight=this.sizeInfo.headerHeight,searchHeight=this.sizeInfo.searchHeight,actionsHeight=this.sizeInfo.actionsHeight,doneButtonHeight=this.sizeInfo.doneButtonHeight,divHeight=this.sizeInfo.dividerHeight,menuPadding=this.sizeInfo.menuPadding,divLength=0;if(this.options.dropupAuto&&(estimate=liHeight*this.selectpicker.current.elements.length+menuPadding.vert,isDropup=this.sizeInfo.selectOffsetTop-this.sizeInfo.selectOffsetBot>this.sizeInfo.menuExtras.vert&&estimate+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot,!0===this.selectpicker.isSearching&&(isDropup=this.selectpicker.dropup),this.$newElement.toggleClass(classNames.DROPUP,isDropup),this.selectpicker.dropup=isDropup),"auto"===this.options.size)_minHeight=this.selectpicker.current.elements.length>3?3*this.sizeInfo.liHeight+this.sizeInfo.menuExtras.vert-2:0,menuHeight=this.sizeInfo.selectOffsetBot-this.sizeInfo.menuExtras.vert,minHeight=_minHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight,menuInnerMinHeight=Math.max(_minHeight-menuPadding.vert,0),this.$newElement.hasClass(classNames.DROPUP)&&(menuHeight=this.sizeInfo.selectOffsetTop-this.sizeInfo.menuExtras.vert),maxHeight=menuHeight,menuInnerHeight=menuHeight-headerHeight-searchHeight-actionsHeight-doneButtonHeight-menuPadding.vert;else if(this.options.size&&"auto"!=this.options.size&&this.selectpicker.current.elements.length>this.options.size){for(var i=0;i<this.options.size;i++)"divider"===this.selectpicker.current.data[i].type&&divLength++;menuInnerHeight=(menuHeight=liHeight*this.options.size+divLength*divHeight+menuPadding.vert)-menuPadding.vert,maxHeight=menuHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight,minHeight=menuInnerMinHeight=""}this.$menu.css({"max-height":maxHeight+"px",overflow:"hidden","min-height":minHeight+"px"}),this.$menuInner.css({"max-height":menuInnerHeight+"px","overflow-y":"auto","min-height":menuInnerMinHeight+"px"}),this.sizeInfo.menuInnerHeight=Math.max(menuInnerHeight,1),this.selectpicker.current.data.length&&this.selectpicker.current.data[this.selectpicker.current.data.length-1].position>this.sizeInfo.menuInnerHeight&&(this.sizeInfo.hasScrollBar=!0,this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth),"auto"===this.options.dropdownAlignRight&&this.$menu.toggleClass(classNames.MENURIGHT,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRight<this.sizeInfo.totalMenuWidth-selectWidth),this.dropdown&&this.dropdown._popper&&this.dropdown._popper.update()},setSize:function(refresh){if(this.liHeight(refresh),this.options.header&&this.$menu.css("padding-top",0),!1!==this.options.size){var that=this,$window=$(window);this.setMenuSize(),this.options.liveSearch&&this.$searchbox.off("input.setMenuSize propertychange.setMenuSize").on("input.setMenuSize propertychange.setMenuSize",function(){return that.setMenuSize()}),"auto"===this.options.size?$window.off("resize.bs.select."+this.selectId+".setMenuSize scroll"+EVENT_KEY+"."+this.selectId+".setMenuSize").on("resize.bs.select."+this.selectId+".setMenuSize scroll"+EVENT_KEY+"."+this.selectId+".setMenuSize",function(){return that.setMenuSize()}):this.options.size&&"auto"!=this.options.size&&this.selectpicker.current.elements.length>this.options.size&&$window.off("resize.bs.select."+this.selectId+".setMenuSize scroll"+EVENT_KEY+"."+this.selectId+".setMenuSize")}this.createView(!1,!0,refresh)},setWidth:function(){var that=this;"auto"===this.options.width?requestAnimationFrame(function(){that.$menu.css("min-width","0"),that.$element.on("loaded.bs.select",function(){that.liHeight(),that.setMenuSize();var $selectClone=that.$newElement.clone().appendTo("body"),btnWidth=$selectClone.css("width","auto").children("button").outerWidth();$selectClone.remove(),that.sizeInfo.selectWidth=Math.max(that.sizeInfo.totalMenuWidth,btnWidth),that.$newElement.css("width",that.sizeInfo.selectWidth+"px")})}):"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width","")),this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement[0].classList.remove("fit-width")},selectPosition:function(){this.$bsContainer=$('<div class="bs-container" />');var pos,containerPos,actualHeight,that=this,$container=$(this.options.container),getPlacement=function($element){var containerPosition={},display=that.options.display||!!$.fn.dropdown.Constructor.Default&&$.fn.dropdown.Constructor.Default.display;that.$bsContainer.addClass($element.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass(classNames.DROPUP,$element.hasClass(classNames.DROPUP)),pos=$element.offset(),$container.is("body")?containerPos={top:0,left:0}:((containerPos=$container.offset()).top+=parseInt($container.css("borderTopWidth"))-$container.scrollTop(),containerPos.left+=parseInt($container.css("borderLeftWidth"))-$container.scrollLeft()),actualHeight=$element.hasClass(classNames.DROPUP)?0:$element[0].offsetHeight,(version.major<4||"static"===display)&&(containerPosition.top=pos.top-containerPos.top+actualHeight,containerPosition.left=pos.left-containerPos.left),containerPosition.width=$element[0].offsetWidth,that.$bsContainer.css(containerPosition)};this.$button.on("click.bs.dropdown.data-api",function(){that.isDisabled()||(getPlacement(that.$newElement),that.$bsContainer.appendTo(that.options.container).toggleClass(classNames.SHOW,!that.$button.hasClass(classNames.SHOW)).append(that.$menu))}),$(window).off("resize.bs.select."+this.selectId+" scroll"+EVENT_KEY+"."+this.selectId).on("resize.bs.select."+this.selectId+" scroll"+EVENT_KEY+"."+this.selectId,function(){that.$newElement.hasClass(classNames.SHOW)&&getPlacement(that.$newElement)}),this.$element.on("hide.bs.select",function(){that.$menu.data("height",that.$menu.height()),that.$bsContainer.detach()})},setOptionStatus:function(selectedOnly){if(this.noScroll=!1,this.selectpicker.view.visibleElements&&this.selectpicker.view.visibleElements.length)for(var i=0;i<this.selectpicker.view.visibleElements.length;i++){var liData=this.selectpicker.current.data[i+this.selectpicker.view.position0],option=liData.option;option&&(!0!==selectedOnly&&this.setDisabled(liData.index,liData.disabled),this.setSelected(liData.index,option.selected))}},setSelected:function(index,selected){var prevActive,a,li=this.selectpicker.main.elements[index],liData=this.selectpicker.main.data[index],activeIndexIsSet=void 0!==this.activeIndex,keepActive=this.activeIndex===index||selected&&!this.multiple&&!activeIndexIsSet;liData.selected=selected,a=li.firstChild,selected&&(this.selectedIndex=index),li.classList.toggle("selected",selected),keepActive?(this.focusItem(li,liData),this.selectpicker.view.currentActive=li,this.activeIndex=index):this.defocusItem(li),a&&(a.classList.toggle("selected",selected),selected?a.setAttribute("aria-selected",!0):this.multiple?a.setAttribute("aria-selected",!1):a.removeAttribute("aria-selected")),keepActive||activeIndexIsSet||!selected||void 0===this.prevActiveIndex||(prevActive=this.selectpicker.main.elements[this.prevActiveIndex],this.defocusItem(prevActive))},setDisabled:function(index,disabled){var a,li=this.selectpicker.main.elements[index];this.selectpicker.main.data[index].disabled=disabled,a=li.firstChild,li.classList.toggle(classNames.DISABLED,disabled),a&&("4"===version.major&&a.classList.toggle(classNames.DISABLED,disabled),disabled?(a.setAttribute("aria-disabled",disabled),a.setAttribute("tabindex",-1)):(a.removeAttribute("aria-disabled"),a.setAttribute("tabindex",0)))},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){this.isDisabled()?(this.$newElement[0].classList.add(classNames.DISABLED),this.$button.addClass(classNames.DISABLED).attr("aria-disabled",!0)):this.$button[0].classList.contains(classNames.DISABLED)&&(this.$newElement[0].classList.remove(classNames.DISABLED),this.$button.removeClass(classNames.DISABLED).attr("aria-disabled",!1))},clickListener:function(){var that=this,$document=$(document);function setFocus(){that.options.liveSearch?that.$searchbox.trigger("focus"):that.$menuInner.trigger("focus")}function checkPopperExists(){that.dropdown&&that.dropdown._popper&&that.dropdown._popper.state.isCreated?setFocus():requestAnimationFrame(checkPopperExists)}$document.data("spaceSelect",!1),this.$button.on("keyup",function(e){/(32)/.test(e.keyCode.toString(10))&&$document.data("spaceSelect")&&(e.preventDefault(),$document.data("spaceSelect",!1))}),this.$newElement.on("show.bs.dropdown",function(){version.major>3&&!that.dropdown&&(that.dropdown=that.$button.data("bs.dropdown"),that.dropdown._menu=that.$menu[0])}),this.$button.on("click.bs.dropdown.data-api",function(){that.$newElement.hasClass(classNames.SHOW)||that.setSize()}),this.$element.on("shown.bs.select",function(){that.$menuInner[0].scrollTop!==that.selectpicker.view.scrollTop&&(that.$menuInner[0].scrollTop=that.selectpicker.view.scrollTop),version.major>3?requestAnimationFrame(checkPopperExists):setFocus()}),this.$menuInner.on("mouseenter","li a",function(e){var hoverLi=this.parentElement,position0=that.isVirtual()?that.selectpicker.view.position0:0,index=Array.prototype.indexOf.call(hoverLi.parentElement.children,hoverLi),hoverData=that.selectpicker.current.data[index+position0];that.focusItem(hoverLi,hoverData,!0)}),this.$menuInner.on("click","li a",function(e,retainActive){var $this=$(this),element=that.$element[0],position0=that.isVirtual()?that.selectpicker.view.position0:0,clickedData=that.selectpicker.current.data[$this.parent().index()+position0],clickedIndex=clickedData.index,prevValue=getSelectValues(element),prevIndex=element.selectedIndex,prevOption=element.options[prevIndex],triggerChange=!0;if(that.multiple&&1!==that.options.maxOptions&&e.stopPropagation(),e.preventDefault(),!that.isDisabled()&&!$this.parent().hasClass(classNames.DISABLED)){var option=clickedData.option,$option=$(option),state=option.selected,$optgroup=$option.parent("optgroup"),$optgroupOptions=$optgroup.find("option"),maxOptions=that.options.maxOptions,maxOptionsGrp=$optgroup.data("maxOptions")||!1;if(clickedIndex===that.activeIndex&&(retainActive=!0),retainActive||(that.prevActiveIndex=that.activeIndex,that.activeIndex=void 0),that.multiple){if(option.selected=!state,that.setSelected(clickedIndex,!state),that.focusedParent.focus(),!1!==maxOptions||!1!==maxOptionsGrp){var maxReached=maxOptions<getSelectedOptions(element).length,maxReachedGrp=maxOptionsGrp<$optgroup.find("option:selected").length;if(maxOptions&&maxReached||maxOptionsGrp&&maxReachedGrp)if(maxOptions&&1==maxOptions)element.selectedIndex=-1,option.selected=!0,that.setOptionStatus(!0);else if(maxOptionsGrp&&1==maxOptionsGrp){for(var i=0;i<$optgroupOptions.length;i++){var _option=$optgroupOptions[i];_option.selected=!1,that.setSelected(_option.liIndex,!1)}option.selected=!0,that.setSelected(clickedIndex,!0)}else{var maxOptionsText="string"==typeof that.options.maxOptionsText?[that.options.maxOptionsText,that.options.maxOptionsText]:that.options.maxOptionsText,maxOptionsArr="function"==typeof maxOptionsText?maxOptionsText(maxOptions,maxOptionsGrp):maxOptionsText,maxTxt=maxOptionsArr[0].replace("{n}",maxOptions),maxTxtGrp=maxOptionsArr[1].replace("{n}",maxOptionsGrp),$notify=$('<div class="notify"></div>');maxOptionsArr[2]&&(maxTxt=maxTxt.replace("{var}",maxOptionsArr[2][maxOptions>1?0:1]),maxTxtGrp=maxTxtGrp.replace("{var}",maxOptionsArr[2][maxOptionsGrp>1?0:1])),option.selected=!1,that.$menu.append($notify),maxOptions&&maxReached&&($notify.append($("<div>"+maxTxt+"</div>")),triggerChange=!1,that.$element.trigger("maxReached.bs.select")),maxOptionsGrp&&maxReachedGrp&&($notify.append($("<div>"+maxTxtGrp+"</div>")),triggerChange=!1,that.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){that.setSelected(clickedIndex,!1)},10),$notify[0].classList.add("fadeOut"),setTimeout(function(){$notify.remove()},1050)}}}else prevOption&&(prevOption.selected=!1),option.selected=!0,that.setSelected(clickedIndex,!0);!that.multiple||that.multiple&&1===that.options.maxOptions?that.$button.trigger("focus"):that.options.liveSearch&&that.$searchbox.trigger("focus"),triggerChange&&(that.multiple||prevIndex!==element.selectedIndex)&&(changedArguments=[option.index,$option.prop("selected"),prevValue],that.$element.triggerNative("change"))}}),this.$menu.on("click","li."+classNames.DISABLED+" a, ."+classNames.POPOVERHEADER+", ."+classNames.POPOVERHEADER+" :not(.close)",function(e){e.currentTarget==this&&(e.preventDefault(),e.stopPropagation(),that.options.liveSearch&&!$(e.target).hasClass("close")?that.$searchbox.trigger("focus"):that.$button.trigger("focus"))}),this.$menuInner.on("click",".divider, .dropdown-header",function(e){e.preventDefault(),e.stopPropagation(),that.options.liveSearch?that.$searchbox.trigger("focus"):that.$button.trigger("focus")}),this.$menu.on("click","."+classNames.POPOVERHEADER+" .close",function(){that.$button.trigger("click")}),this.$searchbox.on("click",function(e){e.stopPropagation()}),this.$menu.on("click",".actions-btn",function(e){that.options.liveSearch?that.$searchbox.trigger("focus"):that.$button.trigger("focus"),e.preventDefault(),e.stopPropagation(),$(this).hasClass("bs-select-all")?that.selectAll():that.deselectAll()}),this.$button.on("focus.bs.select",function(e){var tabindex=that.$element[0].getAttribute("tabindex");void 0!==tabindex&&e.originalEvent&&e.originalEvent.isTrusted&&(this.setAttribute("tabindex",tabindex),that.$element[0].setAttribute("tabindex",-1),that.selectpicker.view.tabindex=tabindex)}).on("blur.bs.select",function(e){void 0!==that.selectpicker.view.tabindex&&e.originalEvent&&e.originalEvent.isTrusted&&(that.$element[0].setAttribute("tabindex",that.selectpicker.view.tabindex),this.setAttribute("tabindex",-1),that.selectpicker.view.tabindex=void 0)}),this.$element.on("change.bs.select",function(){that.render(),that.$element.trigger("changed.bs.select",changedArguments),changedArguments=null}).on("focus.bs.select",function(){that.options.mobile||that.$button[0].focus()})},liveSearchListener:function(){var that=this;this.$button.on("click.bs.dropdown.data-api",function(){that.$searchbox.val()&&(that.$searchbox.val(""),that.selectpicker.search.previousValue=void 0)}),this.$searchbox.on("click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api",function(e){e.stopPropagation()}),this.$searchbox.on("input propertychange",function(){var searchValue=that.$searchbox[0].value;if(that.selectpicker.search.elements=[],that.selectpicker.search.data=[],searchValue){var searchMatch=[],q=searchValue.toUpperCase(),cache={},cacheArr=[],searchStyle=that._searchStyle(),normalizeSearch=that.options.liveSearchNormalize;normalizeSearch&&(q=normalizeToBase(q));for(var i=0;i<that.selectpicker.main.data.length;i++){var li=that.selectpicker.main.data[i];cache[i]||(cache[i]=stringSearch(li,q,searchStyle,normalizeSearch)),cache[i]&&void 0!==li.headerIndex&&-1===cacheArr.indexOf(li.headerIndex)&&(li.headerIndex>0&&(cache[li.headerIndex-1]=!0,cacheArr.push(li.headerIndex-1)),cache[li.headerIndex]=!0,cacheArr.push(li.headerIndex),cache[li.lastIndex+1]=!0),cache[i]&&"optgroup-label"!==li.type&&cacheArr.push(i)}i=0;for(var cacheLen=cacheArr.length;i<cacheLen;i++){var index=cacheArr[i],prevIndex=cacheArr[i-1],liPrev=(li=that.selectpicker.main.data[index],that.selectpicker.main.data[prevIndex]);("divider"!==li.type||"divider"===li.type&&liPrev&&"divider"!==liPrev.type&&cacheLen-1!==i)&&(that.selectpicker.search.data.push(li),searchMatch.push(that.selectpicker.main.elements[index]))}that.activeIndex=void 0,that.noScroll=!0,that.$menuInner.scrollTop(0),that.selectpicker.search.elements=searchMatch,that.createView(!0),function(searchMatch,searchValue){searchMatch.length||(elementTemplates.noResults.innerHTML=this.options.noneResultsText.replace("{0}",'"'+htmlEscape(searchValue)+'"'),this.$menuInner[0].firstChild.appendChild(elementTemplates.noResults))}.call(that,searchMatch,searchValue)}else that.selectpicker.search.previousValue&&(that.$menuInner.scrollTop(0),that.createView(!1));that.selectpicker.search.previousValue=searchValue})},_searchStyle:function(){return this.options.liveSearchStyle||"contains"},val:function(value){var element=this.$element[0];if(void 0!==value){var prevValue=getSelectValues(element);if(changedArguments=[null,null,prevValue],this.$element.val(value).trigger("changed.bs.select",changedArguments),this.$newElement.hasClass(classNames.SHOW))if(this.multiple)this.setOptionStatus(!0);else{var liSelectedIndex=(element.options[element.selectedIndex]||{}).liIndex;"number"==typeof liSelectedIndex&&(this.setSelected(this.selectedIndex,!1),this.setSelected(liSelectedIndex,!0))}return this.render(),changedArguments=null,this.$element}return this.$element.val()},changeAll:function(status){if(this.multiple){void 0===status&&(status=!0);var element=this.$element[0],previousSelected=0,currentSelected=0,prevValue=getSelectValues(element);element.classList.add("bs-select-hidden");for(var i=0,data=this.selectpicker.current.data,len=data.length;i<len;i++){var liData=data[i],option=liData.option;option&&!liData.disabled&&"divider"!==liData.type&&(liData.selected&&previousSelected++,option.selected=status,!0===status&&currentSelected++)}element.classList.remove("bs-select-hidden"),previousSelected!==currentSelected&&(this.setOptionStatus(),changedArguments=[null,null,prevValue],this.$element.triggerNative("change"))}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(e){(e=e||window.event)&&e.stopPropagation(),this.$button.trigger("click.bs.dropdown.data-api")},keydown:function(e){var index,isActive,liActive,activeLi,offset,$this=$(this),isToggle=$this.hasClass("dropdown-toggle"),that=(isToggle?$this.closest(".dropdown"):$this.closest(Selector.MENU)).data("this"),$items=that.findLis(),updateScroll=!1,downOnTab=e.which===keyCodes_TAB&&!isToggle&&!that.options.selectOnTab,isArrowKey=REGEXP_ARROW.test(e.which)||downOnTab,scrollTop=that.$menuInner[0].scrollTop,position0=!0===that.isVirtual()?that.selectpicker.view.position0:0;if(!(e.which>=112&&e.which<=123))if(!(isActive=that.$newElement.hasClass(classNames.SHOW))&&(isArrowKey||e.which>=48&&e.which<=57||e.which>=96&&e.which<=105||e.which>=65&&e.which<=90)&&(that.$button.trigger("click.bs.dropdown.data-api"),that.options.liveSearch))that.$searchbox.trigger("focus");else{if(e.which===keyCodes_ESCAPE&&isActive&&(e.preventDefault(),that.$button.trigger("click.bs.dropdown.data-api").trigger("focus")),isArrowKey){if(!$items.length)return;-1!==(index=(liActive=that.selectpicker.main.elements[that.activeIndex])?Array.prototype.indexOf.call(liActive.parentElement.children,liActive):-1)&&that.defocusItem(liActive),e.which===keyCodes_ARROW_UP?(-1!==index&&index--,index+position0<0&&(index+=$items.length),that.selectpicker.view.canHighlight[index+position0]||-1===(index=that.selectpicker.view.canHighlight.slice(0,index+position0).lastIndexOf(!0)-position0)&&(index=$items.length-1)):(e.which===keyCodes_ARROW_DOWN||downOnTab)&&(++index+position0>=that.selectpicker.view.canHighlight.length&&(index=that.selectpicker.view.firstHighlightIndex),that.selectpicker.view.canHighlight[index+position0]||(index=index+1+that.selectpicker.view.canHighlight.slice(index+position0+1).indexOf(!0))),e.preventDefault();var liActiveIndex=position0+index;e.which===keyCodes_ARROW_UP?0===position0&&index===$items.length-1?(that.$menuInner[0].scrollTop=that.$menuInner[0].scrollHeight,liActiveIndex=that.selectpicker.current.elements.length-1):updateScroll=(offset=(activeLi=that.selectpicker.current.data[liActiveIndex]).position-activeLi.height)<scrollTop:(e.which===keyCodes_ARROW_DOWN||downOnTab)&&(index===that.selectpicker.view.firstHighlightIndex?(that.$menuInner[0].scrollTop=0,liActiveIndex=that.selectpicker.view.firstHighlightIndex):updateScroll=(offset=(activeLi=that.selectpicker.current.data[liActiveIndex]).position-that.sizeInfo.menuInnerHeight)>scrollTop),liActive=that.selectpicker.current.elements[liActiveIndex],that.activeIndex=that.selectpicker.current.data[liActiveIndex].index,that.focusItem(liActive),that.selectpicker.view.currentActive=liActive,updateScroll&&(that.$menuInner[0].scrollTop=offset),that.options.liveSearch?that.$searchbox.trigger("focus"):$this.trigger("focus")}else if(!$this.is("input")&&!REGEXP_TAB_OR_ESCAPE.test(e.which)||e.which===keyCodes_SPACE&&that.selectpicker.keydown.keyHistory){var searchMatch,keyHistory,matches=[];e.preventDefault(),that.selectpicker.keydown.keyHistory+=keyCodeMap[e.which],that.selectpicker.keydown.resetKeyHistory.cancel&&clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel),that.selectpicker.keydown.resetKeyHistory.cancel=that.selectpicker.keydown.resetKeyHistory.start(),keyHistory=that.selectpicker.keydown.keyHistory,/^(.)\1+$/.test(keyHistory)&&(keyHistory=keyHistory.charAt(0));for(var i=0;i<that.selectpicker.current.data.length;i++){var li=that.selectpicker.current.data[i];stringSearch(li,keyHistory,"startsWith",!0)&&that.selectpicker.view.canHighlight[i]&&matches.push(li.index)}if(matches.length){var matchIndex=0;$items.removeClass("active").find("a").removeClass("active"),1===keyHistory.length&&(-1===(matchIndex=matches.indexOf(that.activeIndex))||matchIndex===matches.length-1?matchIndex=0:matchIndex++),searchMatch=matches[matchIndex],scrollTop-(activeLi=that.selectpicker.main.data[searchMatch]).position>0?(offset=activeLi.position-activeLi.height,updateScroll=!0):(offset=activeLi.position-that.sizeInfo.menuInnerHeight,updateScroll=activeLi.position>scrollTop+that.sizeInfo.menuInnerHeight),liActive=that.selectpicker.main.elements[searchMatch],that.activeIndex=matches[matchIndex],that.focusItem(liActive),liActive&&liActive.firstChild.focus(),updateScroll&&(that.$menuInner[0].scrollTop=offset),$this.trigger("focus")}}isActive&&(e.which===keyCodes_SPACE&&!that.selectpicker.keydown.keyHistory||e.which===keyCodes_ENTER||e.which===keyCodes_TAB&&that.options.selectOnTab)&&(e.which!==keyCodes_SPACE&&e.preventDefault(),that.options.liveSearch&&e.which===keyCodes_SPACE||(that.$menuInner.find(".active a").trigger("click",!0),$this.trigger("focus"),that.options.liveSearch||(e.preventDefault(),$(document).data("spaceSelect",!0))))}},mobile:function(){this.options.mobile=!0,this.$element[0].classList.add("mobile-device")},refresh:function(){var config=$.extend({},this.options,this.$element.data());this.options=config,this.checkDisabled(),this.buildData(),this.setStyle(),this.render(),this.buildList(),this.setWidth(),this.setSize(!0),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.selectpicker.view.titleOption&&this.selectpicker.view.titleOption.parentNode&&this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption),this.$element.off(EVENT_KEY).removeData("selectpicker").removeClass("bs-select-hidden selectpicker"),$(window).off(".b
1s.select."+this.selectId)}};var old=$.fn.selectpicker;function keydownHandler(){if($.fn.dropdown)return($.fn.dropdown.Constructor._dataApiKeydownHandler||$.fn.dropdown.Constructor.prototype.keydown).apply(this,arguments)}$.fn.selectpicker=Plugin,$.fn.selectpicker.Constructor=Selectpicker,$.fn.selectpicker.noConflict=function(){return $.fn.selectpicker=old,this},$(document).off("keydown.bs.dropdown.data-api").on("keydown.bs.dropdown.data-api",':not(.bootstrap-select) > [data-toggle="dropdown"]',keydownHandler).on("keydown.bs.dropdown.data-api",":not(.bootstrap-select) > .dropdown-menu",keydownHandler).on("keydown.bs.select",'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',Selectpicker.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle="dropdown"], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input',function(e){e.stopPropagation()}),$(window).on("load.bs.select.data-api",function(){$(".selectpicker").each(function(){var $selectpicker=$(this);Plugin.call($selectpicker,$selectpicker.data())})})}(jQuery)}),angular.module("angular-bootstrap-select.extra",[]).directive("toggle",function(){return{restrict:"A",link:function(scope,element,attrs){if(element.hasClass("selectpicker")){var target=element.parent(),toggleFn=function(){target.toggleClass("open")},hideFn=function(){target.removeClass("open")};element.on("click",toggleFn),element.next().on("click",hideFn),scope.$on("$destroy",function(){element.off("click",toggleFn),element.next().off("click",hideFn)})}}}}),angular.module("angular-bootstrap-select",[]).directive("selectpicker",["$parse",function($parse){return{restrict:"A",require:"?ngModel",priority:10,compile:function(tElement,tAttrs,transclude){return tElement.selectpicker($parse(tAttrs.selectpicker)()),tElement.selectpicker("refresh"),function(scope,element,attrs,ngModel){ngModel&&(scope.$watch(attrs.ngModel,function(newVal,oldVal){scope.$evalAsync(function(){attrs.ngOptions&&!/track by/.test(attrs.ngOptions)||element.val(newVal),element.selectpicker("refresh")})}),ngModel.$render=function(){scope.$evalAsync(function(){element.selectpicker("refresh")})})}}}}]);

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