vendor: 4,263 bytes, lines 1-2
1/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */ 2!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*ne
vendor: 26,191 bytes, line 2
2w Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];
vendor: 4,079 bytes, lines 2-3
2e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0, 3r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;
vendor: 17,080 bytes, line 3
3if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={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,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!
vendor: 15,095 bytes, lines 3-4
3o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},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(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K); 4if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];
vendor: 19,642 bytes, line 4
4while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,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":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
vendor: 16,693 bytes, lines 4-11
4 5 6// Underscore.js 1.8.3 7// http://underscorejs.org 8// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 9// Underscore may be freely distributed under the MIT license. 10(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this); 11(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}}
11)(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events=void 0;return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h<u;h++){t=o[h];if(a=this._events[t]){this._events[t]=s=[];if(e||r){for(l=0,f=a.length;l<f;l++){n=a[l];if(e&&e!==n.callback&&e!==n.callback._callback||r&&r!==n.context){s.push(n)}}}if(!s.length)delete this._events[t]}}return this},trigger:function(t){if(!this._events)return this;var e=o.call(arguments,1);if(!c(this,"trigger",t,e))return this;var i=this._events[t];var r=this._events.all;if(i)f(i,e);if(r)f(r,arguments);return this},stopListening:function(t,e,r){var s=this._listeningTo;if(!s)return this;var n=!e&&!r;if(!r&&typeof e==="object")r=this;if(t)(s={})[t._listenId]=t;for(var a in s){t=s[a];t.off(e,r,this);if(n||i.isEmpty(t._events))delete this._listeningTo[a]}return this}};var l=/\s+/;var c=function(t,e,i,r){if(!i)return true;if(typeof i==="object"){for(var s in i){t[e].apply(t,[s,i[s]].concat(r))}return false}if(l.test(i)){var n=i.split(l);for(var a=0,o=n.length;a<o;a++){t[e].apply(t,[n[a]].concat(r))}return false}return true};var f=function(t,e){var i,r=-1,s=t.length,n=e[0],a=e[1],o=e[2];switch(e.length){case 0:while(++r<s)(i=t[r]).callback.call(i.ctx);return;case 1:while(++r<s)(i=t[r]).callback.call(i.ctx,n);return;case 2:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a);return;case 3:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a,o);return;default:while(++r<s)(i=t[r]).callback.apply(i.ctx,e);return}};var d={listenTo:"on",listenToOnce:"once"};i.each(d,function(t,e){u[e]=function(e,r,s){var n=this._listeningTo||(this._listeningTo={});var a=e._listenId||(e._listenId=i.uniqueId("l"));n[a]=e;if(!s&&typeof r==="object")s=this;e[t](r,s,this);return this}});u.bind=u.on;u.unbind=u.off;i.extend(e,u);var p=e.Model=function(t,e){var r=t||{};e||(e={});this.cid=i.uniqueId("c");this.attributes={};if(e.collection)this.collection=e.collection;if(e.parse)r=this.parse(r,e)||{};r=i.defaults({},r,i.result(this,"defaults"));this.set(r,e);this.changed={};this.initialize.apply(this,arguments)};i.extend(p.prototype,u,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return this.get(t)!=null},set:function(t,e,r){var s,n,a,o,h,u,l,c;if(t==null)return this;if(typeof t==="object"){n=t;r=e}else{(n={})[t]=e}r||(r={});if(!this._validate(n,r))return false;a=r.unset;h=r.silent;o=[];u=this._changing;this._changing=true;if(!u){this._previousAttributes=i.clone(this.attributes);this.changed={}}c=this.attributes,l=this._previousAttributes;if(this.idAttribute in n)this.id=n[this.idAttribute];for(s in n){e=n[s];if(!i.isEqual(c[s],e))o.push(s);if(!i.isEqual(l[s],e)){this.changed[s]=e}else{delete this.changed[s]}a?delete c[s]:c[s]=e}if(!h){if(o.length)this._pending=r;for(var f=0,d=o.length;f<d;f++){this.trigger("change:"+o[f],this,c[o[f]],r)}}if(u)return this;if(!h){while(this._pending){r=this._pending;this._pending=false;this.trigger("change",this,r)}}this._pending=false;this._changing=false;return this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:true}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,i.extend({},t,{unset:true}))},hasChanged:function(t){if(t==null)return!i.isEmpty(this.changed);return i.has(this.changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?i.clone(this.changed):false;var e,r=false;var s=this._changing?this._previousAttributes:this.attributes;for(var n in t){if(i.isEqual(s[n],e=t[n]))continue;(r||(r={}))[n]=e}return r},previous:function(t){if(t==null||!this._previousAttributes)return null;return this._previousAttributes[t]},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=this;var r=t.success;t.success=function(i){if(!e.set(e.parse(i,t),t))return false;if(r)r(e,i,t);e.trigger("sync",e,i,t)};q(this,t);return this.sync("read",this,t)},save:function(t,e,r){var s,n,a,o=this.attributes;if(t==null||typeof t==="object"){s=t;r=e}else{(s={})[t]=e}r=i.extend({validate:true},r);if(s&&!r.wait){if(!this.set(s,r))return false}
11else{if(!this._validate(s,r))return false}if(s&&r.wait){this.attributes=i.extend({},o,s)}if(r.parse===void 0)r.parse=true;var h=this;var u=r.success;r.success=function(t){h.attributes=o;var e=h.parse(t,r);if(r.wait)e=i.extend(s||{},e);if(i.isObject(e)&&!h.set(e,r)){return false}if(u)u(h,t,r);h.trigger("sync",h,t,r)};q(this,r);n=this.isNew()?"create":r.patch?"patch":"update";if(n==="patch")r.attrs=s;a=this.sync(n,this,r);if(s&&r.wait)this.attributes=o;return a},destroy:function(t){t=t?i.clone(t):{};var e=this;var r=t.success;var s=function(){e.trigger("destroy",e,e.collection,t)};t.success=function(i){if(t.wait||e.isNew())s();if(r)r(e,i,t);if(!e.isNew())e.trigger("sync",e,i,t)};if(this.isNew()){t.success();return false}q(this,t);var n=this.sync("delete",this,t);if(!t.wait)s();return n},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||M();if(this.isNew())return t;return t.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend(t||{},{validate:true}))},_validate:function(t,e){if(!e.validate||!this.validate)return true;t=i.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;if(!r)return true;this.trigger("invalid",this,r,i.extend(e,{validationError:r}));return false}});var v=["keys","values","pairs","invert","pick","omit"];i.each(v,function(t){p.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.attributes);return i[t].apply(i,e)}});var g=e.Collection=function(t,e){e||(e={});if(e.model)this.model=e.model;if(e.comparator!==void 0)this.comparator=e.comparator;this._reset();this.initialize.apply(this,arguments);if(t)this.reset(t,i.extend({silent:true},e))};var m={add:true,remove:true,merge:true};var y={add:true,remove:false};i.extend(g.prototype,u,{model:p,initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:false},e,y))},remove:function(t,e){var r=!i.isArray(t);t=r?[t]:i.clone(t);e||(e={});var s,n,a,o;for(s=0,n=t.length;s<n;s++){o=t[s]=this.get(t[s]);if(!o)continue;delete this._byId[o.id];delete this._byId[o.cid];a=this.indexOf(o);this.models.splice(a,1);this.length--;if(!e.silent){e.index=a;o.trigger("remove",o,this,e)}this._removeReference(o,e)}return r?t[0]:t},set:function(t,e){e=i.defaults({},e,m);if(e.parse)t=this.parse(t,e);var r=!i.isArray(t);t=r?t?[t]:[]:i.clone(t);var s,n,a,o,h,u,l;var c=e.at;var f=this.model;var d=this.comparator&&c==null&&e.sort!==false;var v=i.isString(this.comparator)?this.comparator:null;var g=[],y=[],_={};var b=e.add,w=e.merge,x=e.remove;var E=!d&&b&&x?[]:false;for(s=0,n=t.length;s<n;s++){h=t[s]||{};if(h instanceof p){a=o=h}else{a=h[f.prototype.idAttribute||"id"]}if(u=this.get(a)){if(x)_[u.cid]=true;if(w){h=h===o?o.attributes:h;if(e.parse)h=u.parse(h,e);u.set(h,e);if(d&&!l&&u.hasChanged(v))l=true}t[s]=u}else if(b){o=t[s]=this._prepareModel(h,e);if(!o)continue;g.push(o);this._addReference(o,e)}o=u||o;if(E&&(o.isNew()||!_[o.id]))E.push(o);_[o.id]=true}if(x){for(s=0,n=this.length;s<n;++s){if(!_[(o=this.models[s]).cid])y.push(o)}if(y.length)this.remove(y,e)}if(g.length||E&&E.length){if(d)l=true;this.length+=g.length;if(c!=null){for(s=0,n=g.length;s<n;s++){this.models.splice(c+s,0,g[s])}}else{if(E)this.models.length=0;var k=E||g;for(s=0,n=k.length;s<n;s++){this.models.push(k[s])}}}if(l)this.sort({silent:true});if(!e.silent){for(s=0,n=g.length;s<n;s++){(o=g[s]).trigger("add",o,this,e)}if(l||E&&E.length)this.trigger("sort",this,e)}return r?t[0]:t},reset:function(t,e){e||(e={});for(var r=0,s=this.models.length;r<s;r++){this._removeReference(this.models[r],e)}e.previousModels=this.models;this._reset();t=this.add(t,i.extend({silent:true},e));if(!e.silent)this.trigger("reset",this,e);return t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);this.remove(e,t);return e},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);this.remove(e,t);return e},slice:function(){return o.apply(this.models,arguments)},get:function(t){if(t==null)return void 0;return this._byId[t]||this._byId[t.id]||this._byId[t.cid]},at:function(t){return this.models[t]},where:function(t,e){if(i.isEmpty(t))return e?void 0:[];return this[e?"find":"filter"](function(e){for(var i in t){if(t[i]!==e.get(i))return false}return true})},findWhere:function(t){return this.where(t,true)},sort:function(t){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");t||(t={});if(i.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(i.bind(this.comparator,this))}if(!t.silent)this.trigger("sort",this,t);return this},pluck:function(t){return i.invoke(this.models,"get",t)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=t.success;var r=this;t.success=function(i){var s=t.reset?"reset":"set";r[s](i,t);if(e)e(r,i,t);r.trigger("sync",r,i,t)};q(this,t);return this.sync("read",this,t)},create:function(t,e){e=e?i.clone(e):{};if(!(t=this._prepareModel(t,e)))return false;if(!e.wait)this.add(t,e);var r=this;var s=e.success;e.success=function(t,i){if(e.wait)r.add(t,e);if(s)s(t,i,e)};t.save(null,e);return t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(t,e){if(t instanceof p)return t;e=e?i.clone(e):{};e.collection=this;var r=new this.model(t,e);if(!r.validationError)return r;this.trigger("invalid",this,r.validationError,e);return false},_addReference:function(t,e){this._byId[t.cid]=t;if(t.id!=null)this._byId[t.id]=t;if(!t.collection)t.collection=this;t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){if(this===t.collection)delete t.collection;t.off("all",this._onModelEvent,this)}
11,_onModelEvent:function(t,e,i,r){if((t==="add"||t==="remove")&&i!==this)return;if(t==="destroy")this.remove(e,r);if(e&&t==="change:"+e.idAttribute){delete this._byId[e.previous(e.idAttribute)];if(e.id!=null)this._byId[e.id]=e}this.trigger.apply(this,arguments)}});var _=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];i.each(_,function(t){g.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.models);return i[t].apply(i,e)}});var b=["groupBy","countBy","sortBy","indexBy"];i.each(b,function(t){g.prototype[t]=function(e,r){var s=i.isFunction(e)?e:function(t){return t.get(e)};return i[t](this.models,s,r)}});var w=e.View=function(t){this.cid=i.uniqueId("view");t||(t={});i.extend(this,i.pick(t,E));this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var x=/^(\S+)\s*(.*)$/;var E=["model","collection","el","id","attributes","className","tagName","events"];i.extend(w.prototype,u,{tagName:"div",$:function(t){return this.$el.find(t)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(t,i){if(this.$el)this.undelegateEvents();this.$el=t instanceof e.$?t:e.$(t);this.el=this.$el[0];if(i!==false)this.delegateEvents();return this},delegateEvents:function(t){if(!(t||(t=i.result(this,"events"))))return this;this.undelegateEvents();for(var e in t){var r=t[e];if(!i.isFunction(r))r=this[t[e]];if(!r)continue;var s=e.match(x);var n=s[1],a=s[2];r=i.bind(r,this);n+=".delegateEvents"+this.cid;if(a===""){this.$el.on(n,r)}else{this.$el.on(n,a,r)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_ensureElement:function(){if(!this.el){var t=i.extend({},i.result(this,"attributes"));if(this.id)t.id=i.result(this,"id");if(this.className)t["class"]=i.result(this,"className");var r=e.$("<"+i.result(this,"tagName")+">").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var $=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var S=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend($.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);n.execute(s,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},execute:function(t,e){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace(S,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var O=/^\/+|\/+$/g;var P=/msie [\w.]+/;var C=/\/$/;var j=/#.*$/;N.started=false;i.extend(N.prototype,u,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=decodeURI(this.location.pathname+this.location.search);var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment();var s=document.documentMode;var n=P.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(O,"/");if(n&&this._wantsHashChange){var a=e.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=a.hide().appendTo("body")[0].contentWindow;this.navigate(r)}if(this._hasPushState){e.$(window).on("popstate",this.checkUrl)}else if(this._wantsHashChange&&"onhashchange"in window&&!n){e.$(window).on("hashchange",this.checkUrl)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}this.fragment=r;var o=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){this.fragment=this.getFragment(null,true);this.location.replace(this.root+"#"+this.fragment);return true}else if(this._hasPushState&&this.atRoot()&&o.hash){this.fragment=this.getHash().replace(R,"");this.history.replaceState({},document.title,this.root+this.fragment)}}if(!this.options.silent)return this.loadUrl()},stop:function(){e.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);N.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getFragment(this.getHash(this.iframe))}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){t=this.fragment=this.getFragment(t);return i.any(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!N.started)return false;if(!e||e===true)e={trigger:!!e};var i=this.root+(t=this.getFragment(t||""));t=t.replace(j,"");if(this.fragment===t)return;this.fragment=t;if(t===""&&i!=="/")i=i.slice(0,-1);if(this._hasPushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,i)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getFragment(this.getHash(this.iframe))){if
11(!e.replace)this.iframe.document.open().close();this._updateHash(this.iframe.location,t,e.replace)}}else{return this.location.assign(i)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new N;var U=function(t,e){var r=this;var s;if(t&&i.has(t,"constructor")){s=t.constructor}else{s=function(){return r.apply(this,arguments)}}i.extend(s,r,e);var n=function(){this.constructor=s};n.prototype=r.prototype;s.prototype=new n;if(t)i.extend(s.prototype,t);s.__super__=r.prototype;return s};p.extend=g.extend=$.extend=w.extend=N.extend=U;var M=function(){throw new Error('A "url" property or function must be specified')};var q=function(t,e){var i=e.error;e.error=function(r){if(i)i(t,r,e);t.trigger("error",t,r,e)}};return e}); 12 13// MarionetteJS (Backbone.Marionette) 14// ---------------------------------- 15// v2.4.2 16// 17// Copyright (c)2015 Derick Bailey, Muted Solutions, LLC. 18// Distributed under MIT license 19// 20// http://marionettejs.com 21 22 23/*! 24 * Includes BabySitter 25 * https://github.com/marionettejs/backbone.babysitter/ 26 * 27 * Includes Wreqr 28 * https://github.com/marionettejs/backbone.wreqr/ 29 */ 30 31 32(function(t,e){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return t.Marionette=t.Mn=e(t,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=e(t,i,n)}else t.Marionette=t.Mn=e(t,t.Backbone,t._)})(this,function(t,e,i){"use strict";(function(t,e){var i=t.ChildViewContainer;return t.ChildViewContainer=function(t,e){var i=function(t){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),e.each(t,this.add,this)};e.extend(i.prototype,{add:function(t,e){var i=t.cid;return this._views[i]=t,t.model&&(this._indexByModel[t.model.cid]=i),e&&(this._indexByCustom[e]=i),this._updateLength(),this},findByModel:function(t){return this.findByModelCid(t.cid)},findByModelCid:function(t){var e=this._indexByModel[t];return this.findByCid(e)},findByCustom:function(t){var e=this._indexByCustom[t];return this.findByCid(e)},findByIndex:function(t){return e.values(this._views)[t]},findByCid:function(t){return this._views[t]},remove:function(t){var i=t.cid;return t.model&&delete this._indexByModel[t.model.cid],e.any(this._indexByCustom,function(t,e){return t===i?(delete this._indexByCustom[e],!0):void 0},this),delete this._views[i],this._updateLength(),this},call:function(t){this.apply(t,e.tail(arguments))},apply:function(t,i){e.each(this._views,function(n){e.isFunction(n[t])&&n[t].apply(n,i||[])})},_updateLength:function(){this.length=e.size(this._views)}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return e.each(n,function(t){i.prototype[t]=function(){var i=e.values(this._views),n=[i].concat(e.toArray(arguments));return e[t].apply(e,n)}}),i}(t,e),t.ChildViewContainer.VERSION="0.1.7",t.ChildViewContainer.noConflict=function(){return t.ChildViewContainer=i,this},t.ChildViewContainer})(e,i),function(t,e){var i=t.Wreqr,n=t.Wreqr={};return t.Wreqr.VERSION="1.3.3",t.Wreqr.noConflict=function(){return t.Wreqr=i,this},n.Handlers=function(t,e){var i=function(t){this.options=t,this._wreqrHandlers={},e.isFunction(this.initialize)&&this.initialize(t)};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events,{setHandlers:function(t){e.each(t,function(t,i){var n=null;e.isObject(t)&&!e.isFunction(t)&&(n=t.context,t=t.callback),this.setHandler(i,t,n)},this)},setHandler:function(t,e,i){var n={callback:e,context:i};this._wreqrHandlers[t]=n,this.trigger("handler:add",t,e,i)},hasHandler:function(t){return!!this._wreqrHandlers[t]},getHandler:function(t){var e=this._wreqrHandlers[t];if(e)return function(){return e.callback.apply(e.context,arguments)}},removeHandler:function(t){delete this._wreqrHandlers[t]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(t,e),n.CommandStorage=function(){var i=function(t){this.options=t,this._commands={},e.isFunction(this.initialize)&&this.initialize(t)};return e.extend(i.prototype,t.Events,{getCommands:function(t){var e=this._commands[t];return e||(e={command:t,instances:[]},this._commands[t]=e),e},addCommand:function(t,e){var i=this.getCommands(t);i.instances.push(e)},clearCommands:function(t){var e=this.getCommands(t);e.instances=[]}}),i}(),n.Commands=function(t,e){return t.Handlers.extend({storageType:t.CommandStorage,constructor:function(e){this.options=e||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),t.Handlers.prototype.constructor.apply(this,arguments)},execute:function(t){t=arguments[0];var i=e.rest(arguments);this.hasHandler(t)?this.getHandler(t).apply(this,i):this.storage.addCommand(t,i)},_executeCommands:function(t,i,n){var r=this.storage.getCommands(t);e.each(r.instances,function(t){i.apply(n,t)}),this.storage.clearCommands(t)},_initializeStorage:function(t){var i,n=t.storageType||this.storageType;i=e.isFunction(n)?new n:n,this.storage=i}})}(n,e),n.RequestResponse=function(t,e){return t.Handlers.extend({request:function(t){return this.hasHandler(t)?this.getHandler(t).apply(this,e.rest(arguments)):void 0}})}(n,e),n.EventAggregator=function(t,e){var i=function(){};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events),i}(t,e),n.Channel=function(){var i=function(e){this.vent=new t.Wreqr.EventAggregator,this.reqres=new t.Wreqr.RequestResponse,this.commands=new t.Wreqr.Commands,this.channelName=e};return e.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(t,e){return this._connect("vent",t,e),this},connectCommands:function(t,e){return this._connect("commands",t,e),this},connectRequests:function(t,e){return this._connect("reqres",t,e),this},_connect:function(t,i,n){if(i){n=n||this;var r="vent"===t?"on":"setHandler";e.each(i,function(i,s){this[t][r](s,e.bind(i,n))},this)}}}),i}(n),n.radio=function(t,e){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};e.extend(i.prototype,{channel:function(t){if(!t)throw Error("Channel must receive a name");return this._getChannel(t)},_getChannel:function(e){var i=this._channels[e];
32return i||(i=new t.Channel(e),this._channels[e]=i),i},_proxyMethods:function(){e.each(["vent","commands","reqres"],function(t){e.each(n[t],function(e){this[t][e]=r(this,t,e)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(t,i,n){return function(r){var s=t._getChannel(r)[i];return s[n].apply(s,e.rest(arguments))}};return new i}(n,e),t.Wreqr}(e,i);var n=t.Marionette,r=t.Mn,s=e.Marionette={};s.VERSION="2.4.2",s.noConflict=function(){return t.Marionette=n,t.Mn=r,this},e.Marionette=s,s.Deferred=e.$.Deferred,s.extend=e.Model.extend,s.isNodeAttached=function(t){return e.$.contains(document.documentElement,t)},s.mergeOptions=function(t,e){t&&i.extend(this,i.pick(t,e))},s.getOption=function(t,e){return t&&e?t.options&&void 0!==t.options[e]?t.options[e]:t[e]:void 0},s.proxyGetOption=function(t){return s.getOption(this,t)},s._getValue=function(t,e,n){return i.isFunction(t)&&(t=n?t.apply(e,n):t.call(e)),t},s.normalizeMethods=function(t){return i.reduce(t,function(t,e,n){return i.isFunction(e)||(e=this[e]),e&&(t[n]=e),t},{},this)},s.normalizeUIString=function(t,e){return t.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(t){return e[t.slice(4)]})},s.normalizeUIKeys=function(t,e){return i.reduce(t,function(t,i,n){var r=s.normalizeUIString(n,e);return t[r]=i,t},{})},s.normalizeUIValues=function(t,e,n){return i.each(t,function(r,o){i.isString(r)?t[o]=s.normalizeUIString(r,e):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),e)),i.each(n,function(t){var n=r[t];i.isString(n)&&(r[t]=s.normalizeUIString(n,e))}))}),t},s.actAsCollection=function(t,e){var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];i.each(n,function(n){t[n]=function(){var t=i.values(i.result(this,e)),r=[t].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(t,e){i.isObject(t)&&(t=t.prev+" is going to be removed in the future. "+"Please use "+t.next+" instead."+(t.url?" See: "+t.url:"")),void 0!==e&&e||o._cache[t]||(o._warn("Deprecation warning: "+t),o._cache[t]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function t(t,e,i){return i.toUpperCase()}var e=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(e,t),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(t){var e=i.isFunction(t.triggerMethod)?t.triggerMethod:s.triggerMethod;return e.apply(t,i.rest(arguments))},s.MonitorDOMRefresh=function(t){function e(){t._isShown=!0,r()}function n(){t._isRendered=!0,r()}function r(){t._isShown&&t._isRendered&&s.isNodeAttached(t.el)&&i.isFunction(t.triggerMethod)&&t.triggerMethod("dom:refresh")}t.on({show:e,render:n})},function(t){function e(e,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=e[i];if(!s)throw new t.Error('Method "'+i+'" was configured as an event handler, but does not exist.');e.listenTo(n,r,s)})}function n(t,e,i,n){t.listenTo(e,i,n)}function r(t,e,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=t[i];t.stopListening(e,n,r)})}function s(t,e,i,n){t.stopListening(e,i,n)}function o(e,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new t.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=t._getValue(r,e),i.each(r,function(t,r){i.isFunction(t)?s(e,n,r,t):o(e,n,r,t)})}}t.bindEntityEvents=function(t,i,r){o(t,i,r,n,e)},t.unbindEntityEvents=function(t,e,i){o(t,e,i,s,r)},t.proxyBindEntityEvents=function(e,i){return t.bindEntityEvents(this,e,i)},t.proxyUnbindEntityEvents=function(e,i){return t.unbindEntityEvents(this,e,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(t,e){i.isObject(t)?(e=t,t=e.message):e||(e={});var n=Error.call(this,t);i.extend(this,i.pick(n,h),i.pick(e,h)),this.captureStackTrace(),e.url&&(this.url=this.urlRoot+e.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(t,e){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:e}),n.then(function(i){e&&(i.context=e),t.call(i.context,i.options)})},run:function(t,e){this._deferred.resolve({options:t,context:e})},reset:function(){var t=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(t,function(t){this.add(t.cb,t.ctx)},this)}}),s.Controller=function(t){this.options=t||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,e.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(t){this.options=i.extend({},i.result(this,"options"),t),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,e.Events,{initialize:function(){},destroy:function(){return this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(t){if(this.options=t||{},this.el=this.getOption("el"),this.el=this.el instanceof e.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a regi
32on.'});this.$el=this.getEl(this.el),s.Object.call(this,t)},show:function(t,e){if(this._ensureElement()){this._ensureViewIsIntact(t);var n=e||{},r=t!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,e),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){t.once("destroy",this.empty,this),t.render(),t._parent=this,a&&this.triggerMethod("before:swap",t,this,e),this.triggerMethod("before:show",t,this,e),s.triggerMethodOn(t,"before:show",t,this,e),a&&this.triggerMethod("swapOut",this.currentView,this,e);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(t),this._triggerAttach(u,"before:")),this.attachHtml(t),this.currentView=t,c&&g.triggerAttach&&(u=this._displayedViews(t),this._triggerAttach(u)),a&&this.triggerMethod("swap",t,this,e),this.triggerMethod("show",t,this,e),s.triggerMethodOn(t,"show",t,this,e),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(t,e){var n=(e||"")+"attach";i.each(t,function(t){s.triggerMethodOn(t,n,t,this)},this)},_displayedViews:function(t){return i.union([t],i.result(t,"_getNestedViews")||[])},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(t){if(!t)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(t.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+t.cid+'") has already been destroyed and cannot be used.'})},getEl:function(t){return e.$(t,s._getValue(this.options.parentEl,this))},attachHtml:function(t){this.$el.contents().detach(),this.el.appendChild(t.el)},empty:function(t){var e=this.currentView,i=s._getValue(t,"preventDestroy",this);return e?(e.off("destroy",this.empty,this),this.triggerMethod("before:empty",e),i||this._destroyView(),this.triggerMethod("empty",e),delete this.currentView,i&&this.$el.contents().detach(),this):void 0},_destroyView:function(){var t=this.currentView;t.destroy&&!t.isDestroyed?t.destroy():t.remove&&(t.remove(),t.isDestroyed=!0)},attachView:function(t){return this.currentView=t,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(t,e){if(i.isString(t))return this._buildRegionFromSelector(t,e);if(t.selector||t.el||t.regionClass)return this._buildRegionFromObject(t,e);if(i.isFunction(t))return this._buildRegionFromRegionClass(t);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(t,e){return new e({el:t})},_buildRegionFromObject:function(t,e){var n=t.regionClass||e,r=i.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new n(r)},_buildRegionFromRegionClass:function(t){return new t}}),s.RegionManager=s.Controller.extend({constructor:function(t){this._regions={},this.length=0,s.Controller.call(this,t),this.addRegions(this.getOption("regions"))},addRegions:function(t,e){return t=s._getValue(t,this,arguments),i.reduce(t,function(t,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,e)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(t,e){var i;return i=e instanceof s.Region?e:s.Region.buildRegion(e,s.Region),this.triggerMethod("before:add:region",t,i),i._parent=this,this._store(t,i),this.triggerMethod("add:region",t,i),i},get:function(t){return this._regions[t]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(t){var e=this._regions[t];return this._remove(t,e),e},removeRegions:function(){var t=this.getRegions();return i.each(this._regions,function(t,e){this._remove(e,t)},this),t},emptyRegions:function(){var t=this.getRegions();return i.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(t,e){this._regions[t]||this.length++,this._regions[t]=e},_remove:function(t,e){this.triggerMethod("before:remove:region",t,e),e.empty(),e.stopListening(),delete e._parent,delete this._regions[t],this.length--,this.triggerMethod("remove:region",t,e)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(t){this.templateId=t},i.extend(s.TemplateCache,{templateCaches:{},get:function(t,e){var i=this.templateCaches[t];
32return i||(i=new s.TemplateCache(t),this.templateCaches[t]=i),i.load(e)},clear:function(){var t,e=i.toArray(arguments),n=e.length;if(n>0)for(t=0;n>t;t++)delete this.templateCaches[e[t]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(t){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId,t);return this.compiledTemplate=this.compileTemplate(e,t),this.compiledTemplate},loadTemplate:function(t){var i=e.$(t).html();if(!i||0===i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+t+'"'});return i},compileTemplate:function(t,e){return i.template(t,e)}}),s.Renderer={render:function(t,e){if(!t)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(t)?t:s.TemplateCache.get(t);return n(e)}},s.View=e.View.extend({isDestroyed:!1,constructor:function(t){i.bindAll(this,"render"),t=s._getValue(t,this),this.options=i.extend({},i.result(this,"options"),t),this._behaviors=s.Behaviors(this),e.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(t){return t.toJSON.apply(t,i.rest(arguments))},mixinTemplateHelpers:function(t){t=t||{};var e=this.getOption("templateHelpers");return e=s._getValue(e,this),i.extend(t,e)},normalizeUIKeys:function(t){var e=i.result(this,"_uiBindings");return s.normalizeUIKeys(t,e||i.result(this,"ui"))},normalizeUIValues:function(t,e){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(t,r||n,e)},configureTriggers:function(){if(this.triggers){var t=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(t,function(t,e,i){return t[i]=this._buildViewTrigger(e),t},{},this)}},delegateEvents:function(t){return this._delegateDOMEvents(t),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.bindEntityEvents(this.model,t.getOption("modelEvents")),t.bindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(t){var n=s._getValue(t||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(t)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),e.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return e.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.unbindEntityEvents(this.model,t.getOption("modelEvents")),t.unbindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var t=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(t)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",t),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var t=i.result(this,"_uiBindings");this.ui={},i.each(t,function(t,e){this.ui[e]=this.$(t)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(t,e){delete this.ui[e]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(t){var e=i.isObject(t),n=i.defaults({},e?t:{},{preventDefault:!0,stopPropagation:!0}),r=e?n.event:t;return function(t){t&&(t.preventDefault&&n.preventDefault&&t.preventDefault(),t.stopPropagation&&n.stopPropagation&&t.stopPropagation());var e={view:this,model:this.model,collection:this.collection};this.triggerMethod(r,e)}},setElement:function(){var t=e.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),t},triggerMethod:function(){var t=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),t},_triggerEventOnBehaviors:function(t){for(var e=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)e(i[n],t)},_triggerEventOnParentLayout:function(t,e){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+t;s._triggerMethod(n,[o,this].concat(e));var h=s.getOption(n,"childEvents"),a=n.normalizeMethods(h);a&&i.isFunction(a[t])&&a[t].apply(n,[this].concat(e))}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var t=this._getImmediateChildren();
32return t.length?i.reduce(t,function(t,e){return e._getNestedViews?t.concat(e._getNestedViews()):t},t):t},_getAncestors:function(){for(var t=[],e=this._parent;e;)t.push(e),e=e._parent;return t},_parentLayoutView:function(){var t=this._getAncestors();return i.find(t,function(t){return t instanceof s.LayoutView})},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var t=[this.model||this.collection];return arguments.length&&t.push.apply(t,arguments),this.model?this.serializeModel.apply(this,t):{items:this.serializeCollection.apply(this,t)}},serializeCollection:function(t){return t.toJSON.apply(t,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var t=this.getTemplate();if(t!==!1){if(!t)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var e=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(t,e,this);return this.attachElContent(i),this}},attachElContent:function(t){return this.$el.html(t),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var t,e=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),e&&this._triggerBeforeAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),e&&this._triggerAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(t,e,n){var r=i.drop(arguments,3);i.each(t,function(t){s.triggerMethodOn.apply(t,[t,n,t,e].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(t,e,n){var r;if(r=void 0!==n.at?n.at:i.indexOf(this._filteredSortedModels(),t),this._shouldAddChild(t,r)){this.destroyEmptyView();var s=this.getChildView(t);this.addChild(t,s,r)}},_onCollectionRemove:function(t){var e=this.children.findByModel(t);this.removeChildView(e),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(t){s.triggerMethodOn(t,"before:show",t)})},_onShowCalled:function(){this.children.each(function(t){s.triggerMethodOn(t,"show",t)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var t=this.children,e=this._filteredSortedModels(),n=i.find(e,function(e){return!t.findByModel(e)});if(n)this.render();else{var r=i.map(e,function(e,i){var n=t.findByModel(e);return n._index=i,n.el});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var t=this._filteredSortedModels(),e=i.find(t,function(t,e){var i=this.children.findByModel(t);return!i||i._index!==e},this);e&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(t){this.$el.append(t)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffer
32ing(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.showEmptyView())},showCollection:function(){var t,e=this._filteredSortedModels();i.each(e,function(e,i){t=this.getChildView(e),this.addChild(e,t,i)},this)},_filteredSortedModels:function(){var t,e=this.getViewComparator();return t=e?i.isString(e)||1===e.length?this.collection.sortBy(e,this):i.clone(this.collection.models).sort(i.bind(e,this)):this.collection.models,this.getOption("filter")&&(t=i.filter(t,function(t,e){return this._shouldAddChild(t,e)},this)),t},showEmptyView:function(){var t=this.getEmptyView();if(t&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new e.Model;this.addEmptyView(i,t),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(t,e){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,t,this._emptyViewIndex));var h=this.buildChildView(t,e,o);h._parent=this,this.proxyChildEvents(h),this._isShown&&s.triggerMethodOn(h,"before:show",h),this.children.add(h),r&&this._triggerBeforeAttach&&(n=[h].concat(h._getNestedViews()),h.once("render",function(){this._triggerMethodMany(n,this,"before:attach")},this)),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=[h].concat(h._getNestedViews()),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var t=this.getOption("childView");if(!t)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return t},addChild:function(t,e,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[t,i]);var r=this.buildChildView(t,e,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(t,e,i){this.getOption("sort")&&(e&&(t._index=i),this.children.each(function(i){i._index>=t._index&&(i._index+=e?1:-1)}))},_addChildView:function(t,e){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(t),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"before:show",t),this.children.add(t),n&&this._triggerBeforeAttach&&(i=[t].concat(t._getNestedViews()),t.once("render",function(){this._triggerMethodMany(i,this,"before:attach")},this)),this.renderChildView(t,e),n&&this._triggerAttach&&(i=[t].concat(t._getNestedViews()),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"show",t)},renderChildView:function(t,e){return t.render(),this.attachHtml(this,t,e),t},buildChildView:function(t,e,n){var r=i.extend({model:t},n);return new e(r)},removeChildView:function(t){return t&&(this.triggerMethod("before:remove:child",t),t.destroy?t.destroy():t.remove&&t.remove(),delete t._parent,this.stopListening(t),this.children.remove(t),this.triggerMethod("remove:child",t),this._updateIndices(t,!1)),t},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(t,e){t.$el.append(e)},_createBuffer:function(){var t=document.createDocumentFragment();return i.each(this._bufferedChildren,function(e){t.appendChild(e.el)}),t},attachHtml:function(t,e,i){t.isBuffering?t._bufferedChildren.splice(i,0,e):t._insertBefore(e,i)||t._insertAfter(e)},_insertBefore:function(t,e){var i,n=this.getOption("sort")&&this.children.length-1>e;return n&&(i=this.children.find(function(t){return t._index===e+1})),i?(i.$el.before(t.el),!0):!1},_insertAfter:function(t){this.$el.append(t.el)},_initChildViewStorage:function(){this.children=new e.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(t){var e=t||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(e.checkEmpty)||(n=e.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(t,e){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,t,e,this.collection)},proxyChildEvents:function(t){var e=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=e+":"+r,n.splice(1,0,t),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)})},_getImmediateChildren:function(){return i.values(this.children._views)},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var t=this.getOption("childView")||this.constructor;return t},serializeData:function(){var t={};return this.model&&(t=i.partial(this.serializeModel,this.model).apply(this,arguments)),t},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this 33},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var t={};t=this.serializeData(),t=this.mixinTemplateHelpers(t),this.triggerMethod("before:render:template");var e=this.getTemplate(),i=s.Renderer.render(e,t,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(t){return this.$el.html(t),this},attachBuffer:function(t,e){var i=this.getChildViewContainer(t);i.append(e)},_insertAfter:function(t){var e=this.getChildViewContainer(this,t);e.append(t.el)},_appendReorderedChildren:function(t){var e=this.getChildViewContainer(this);e.append(t)},getChildViewContainer:function(t){if(t.$childViewContainer)return t.$childViewContainer;var e,i=s.getOption(t,"childViewContainer");if(i){var n=s._getValue(i,t);if(e="@"===n.charAt(0)&&t.ui?t.ui[n.substr(4)]:t.$(n),0>=e.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+t.childViewContainer})}else e=t.$el;return t.$childViewContainer=e,e},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(t){t=t||{}
33,this._firstRender=!0,this._initializeRegions(t),s.ItemView.call(this,t)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(t,e){return this.getRegion(t).show(e)},getChildView:function(t){return this.getRegion(t).currentView},addRegion:function(t,e){var i={};return i[t]=e,this._buildRegions(i)[t]},addRegions:function(t){return this.regions=i.extend({},this.regions,t),this._buildRegions(t)},removeRegion:function(t){return delete this.regions[t],this.regionManager.removeRegion(t)},getRegion:function(t){return this.regionManager.get(t)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(t){var e={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(t,e)},_initializeRegions:function(t){var e;this._initRegionManager(),e=s._getValue(this.regions,this,[t])||{};var n=this.getOption.call(t,"regions");n=s._getValue(n,this,[t]),i.extend(e,n),e=this.normalizeUIValues(e,["selector","el"]),this.addRegions(e)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(t){this.triggerMethod("before:add:region",t)}),this.listenTo(this.regionManager,"add:region",function(t,e){this[t]=e,this.triggerMethod("add:region",t,e)}),this.listenTo(this.regionManager,"before:remove:region",function(t){this.triggerMethod("before:remove:region",t)}),this.listenTo(this.regionManager,"remove:region",function(t,e){delete this[t],this.triggerMethod("remove:region",t,e)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(t,e){this.view=e,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,t),this.ui=i.extend({},i.result(e,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(t){this.$el=t.$el,this.el=t.el}}),s.Behaviors=function(t,e){function i(t,n){return e.isObject(t.behaviors)?(n=i.parseBehaviors(t,n||e.result(t,"behaviors")),i.wrap(t,n,e.keys(o)),n):{}}function n(t,e){this._view=t,this._behaviors=e,this._triggers={}}function r(t){return t._uiBindings||t.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(t,e){var i=new n(this,e);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return e.each(n,function(i,n){var h={},a=e.clone(e.result(i,"events"))||{};a=t.normalizeUIKeys(a,r(i));var d=0;e.each(a,function(t,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=e.isFunction(t)?t:i[t];h[c]=e.bind(u,i)},this),o=e.extend(o,h)},this),o}};return e.extend(i,{behaviorsLookup:function(){throw new t.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(e,n){return e.behaviorClass?e.behaviorClass:t._getValue(i.behaviorsLookup,this,[e,n])[n]},parseBehaviors:function(t,n){return e.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,t),h=i.parseBehaviors(t,e.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(t,i,n){e.each(n,function(n){t[n]=e.partial(o[n],t[n],i)})}}),e.extend(n.prototype,{buildBehaviorTriggers:function(){return e.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=e.clone(e.result(i,"triggers"))||{};s=t.normalizeUIKeys(s,r(i)),e.each(s,e.bind(this._setHandlerForBehavior,this,i,n))}
33,_setHandlerForBehavior:function(t,e,i,n){var r=n.replace(/^\S+/,function(t){return t+"."+"behaviortriggers"+e});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=e.Router.extend({constructor:function(t){this.options=t||{},e.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(t,e){var i=this._getController();this._addAppRoute(i,t,e)},_processOnRoute:function(t,e){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[t];this.onRoute(t,n,e)}},processAppRoutes:function(t,e){if(e){var n=i.keys(e).reverse();i.each(n,function(i){this._addAppRoute(t,i,e[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(t,e,n){var r=t[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(e,n,i.bind(r,t))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(t){this._initializeRegions(t),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,t),this._initChannel(),s.Object.call(this,t)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(t){this._initCallbacks.add(t)},start:function(t){this.triggerMethod("before:start",t),this._initCallbacks.run(t,this),this.triggerMethod("start",t)},addRegions:function(t){return this._regionManager.addRegions(t)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(t){return this._regionManager.removeRegion(t)},getRegion:function(t){return this._regionManager.get(t)},getRegions:function(){return this._regionManager.getRegions()},module:function(t,e){var n=s.Module.getClass(e),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(t){var e=i.isFunction(this.regions)?this.regions(t):this.regions||{};this._initRegionManager();var n=s.getOption(t,"regions");return i.isFunction(n)&&(n=n.call(this,t)),i.extend(e,n),this.addRegions(e),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(t,e){this[t]=e,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(t){delete this[t],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||e.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(t,e,n){this.moduleName=t,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=e,i.isFunction(this.initialize)&&this.initialize(t,e,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,e.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(t){this._initializerCallbacks.add(t)},addFinalizer:function(t){this._finalizerCallbacks.add(t)},start:function(t){this._isInitialized||(i.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(t,e){this._runModuleDefinition(t,e)},_runModuleDefinition:function(t,n){if(t){var r=i.flatten([this,this.app,e,s,e.$,i,n]);t.apply(this,r)}}
33,_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(t,e,n){var r=t,s=i.drop(arguments,3);e=e.split(".");var o=e.length,h=[];return h[o-1]=n,i.each(e,function(e,i){var o=r;r=this._getModule(o,e,t,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(t,e,n,r){var s=i.extend({},r),o=this.getClass(r),h=t[e];return h||(h=new o(e,n,s),t[e]=h,t.submodules[e]=h),h},getClass:function(t){var e=s.Module;return t?t.prototype instanceof e?t:t.moduleClass||e:e},_addModuleDefinition:function(t,e,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,e);r&&e.addDefinition(r,n),this._addStartWithParent(t,e,s)},_getStartWithParent:function(t,e){var n;return i.isFunction(t)&&t.prototype instanceof s.Module?(n=e.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(t)?(n=t.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(t){return!i.isFunction(t)||t.prototype instanceof s.Module?i.isObject(t)?t.define:null:t},_addStartWithParent:function(t,e,i){e.startWithParent=e.startWithParent&&i,e.startWithParent&&!e.startWithParentIsConfigured&&(e.startWithParentIsConfigured=!0,t.addInitializer(function(t){e.startWithParent&&e.start(t)}))}}),s}); 34/*! 35 36 handlebars v4.0.5 37 38Copyright (C) 2011-2015 by Yehuda Katz 39 40Permission is hereby granted, free of charge, to any person obtaining a copy 41of this software and associated documentation files (the "Software"), to deal 42in the Software without restriction, including without limitation the rights 43to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 44copies of the Software, and to permit persons to whom the Software is 45furnished to do so, subject to the following conditions: 46 47The above copyright notice and this permission notice shall be included in 48all copies or substantial portions of the Software. 49 50THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 51IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 52FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 53AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 54LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 55OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 56THE SOFTWARE. 57 58@license 59*/ 60(function webpackUniversalModuleDefinition(root, factory) { 61 if(typeof exports === 'object' && typeof module === 'object') 62 module.exports = factory(); 63 else if(typeof define === 'function' && define.amd) 64 define([], factory); 65 else if(typeof exports === 'object') 66 exports["Handlebars"] = factory(); 67 else 68 root["Handlebars"] = factory(); 69})(this, function() { 70return /******/ (function(modules) { // webpackBootstrap 71/******/ // The module cache 72/******/ var installedModules = {}; 73 74/******/ // The require function 75/******/ function __webpack_require__(moduleId) { 76 77/******/ // Check if module is in cache 78/******/ if(installedModules[moduleId]) 79/******/ return installedModules[moduleId].exports; 80 81/******/ // Create a new module (and put it into the cache) 82/******/ var module = installedModules[moduleId] = { 83/******/ exports: {}, 84/******/ id: moduleId, 85/******/ loaded: false 86/******/ }; 87 88/******/ // Execute the module function 89/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 90 91/******/ // Flag the module as loaded 92/******/ module.loaded = true; 93 94/******/ // Return the exports of the module 95/******/ return module.exports; 96/******/ } 97 98 99/******/ // expose the modules object (__webpack_modules__) 100/******/ __webpack_require__.m = modules; 101 102/******/ // expose the module cache 103/******/ __webpack_require__.c = installedModules; 104 105/******/ // __webpack_public_path__ 106/******/ __webpack_require__.p = ""; 107 108/******/ // Load entry module and return exports 109/******/ return __webpack_require__(0); 110/******/ }) 111/************************************************************************/ 112/******/ ([ 113/* 0 */ 114/***/ function(module, exports, __webpack_require__) { 115 116 'use strict'; 117 118 var _interopRequireDefault = __webpack_require__(1)['default']; 119 120 exports.__esModule = true; 121 122 var _handlebarsRuntime = __webpack_require__(2); 123 124 var _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime); 125 126 // Compiler imports 127 128 var _handlebarsCompilerAst = __webpack_require__(21); 129 130 var _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst); 131 132 var _handlebarsCompilerBase = __webpack_require__(22); 133 134 var _handlebarsCompilerCompiler = __webpack_require__(27); 135 136 var _handlebarsCompilerJavascriptCompiler = __webpack_require__(28); 137 138 var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler); 139 140 var _handlebarsCompilerVisitor = __webpack_require__(25); 141 142 var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor); 143 144 var _handlebarsNoConflict = __webpack_require__(20); 145 146 var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); 147 148 var _create = _handlebarsRuntime2['default'].create; 149 function create() { 150 var hb = _create(); 151 152 hb.compile = function (input, options) { 153 return _handlebarsCompilerCompiler.compile(input, options, hb); 154 }; 155 hb.precompile = function (input, options) { 156 return _handlebarsCompilerCompiler.precompile(input, options, hb); 157 }; 158 159 hb.AST = _handlebarsCompilerAst2['default']; 160 hb.Compiler = _handlebarsCompilerCompiler.Compiler; 161 hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default']; 162 hb.Parser = _handlebarsCompilerBase.parser; 163 hb.parse = _handlebarsCompilerBase.parse; 164 165 return hb; 166 } 167 168 var inst = create(); 169 inst.create = create; 170 171 _handlebarsNoConflict2['default'](inst); 172 173 inst.Visitor = _handlebarsCompilerVisitor2['default']; 174 175 inst['default'] = inst; 176 177 exports['default'] = inst; 178 module.exports = exports['default']; 179 180/***/ }, 181/* 1 */
vendor: 5,474 bytes, lines 182-394
182/***/ function(module, exports) { 183 184 "use strict"; 185 186 exports["default"] = function (obj) { 187 return obj && obj.__esModule ? obj : { 188 "default": obj 189 }; 190 }; 191 192 exports.__esModule = true; 193 194/***/ }, 195/* 2 */ 196/***/ function(module, exports, __webpack_require__) { 197 198 'use strict'; 199 200 var _interopRequireWildcard = __webpack_require__(3)['default']; 201 202 var _interopRequireDefault = __webpack_require__(1)['default']; 203 204 exports.__esModule = true; 205 206 var _handlebarsBase = __webpack_require__(4); 207 208 var base = _interopRequireWildcard(_handlebarsBase); 209 210 // Each of these augment the Handlebars object. No need to setup here. 211 // (This is done to easily share code between commonjs and browse envs) 212 213 var _handlebarsSafeString = __webpack_require__(18); 214 215 var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString); 216 217 var _handlebarsException = __webpack_require__(6); 218 219 var _handlebarsException2 = _interopRequireDefault(_handlebarsException); 220 221 var _handlebarsUtils = __webpack_require__(5); 222 223 var Utils = _interopRequireWildcard(_handlebarsUtils); 224 225 var _handlebarsRuntime = __webpack_require__(19); 226 227 var runtime = _interopRequireWildcard(_handlebarsRuntime); 228 229 var _handlebarsNoConflict = __webpack_require__(20); 230 231 var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); 232 233 // For compatibility and usage outside of module systems, make the Handlebars object a namespace 234 function create() { 235 var hb = new base.HandlebarsEnvironment(); 236 237 Utils.extend(hb, base); 238 hb.SafeString = _handlebarsSafeString2['default']; 239 hb.Exception = _handlebarsException2['default']; 240 hb.Utils = Utils; 241 hb.escapeExpression = Utils.escapeExpression; 242 243 hb.VM = runtime; 244 hb.template = function (spec) { 245 return runtime.template(spec, hb); 246 }; 247 248 return hb; 249 } 250 251 var inst = create(); 252 inst.create = create; 253 254 _handlebarsNoConflict2['default'](inst); 255 256 inst['default'] = inst; 257 258 exports['default'] = inst; 259 module.exports = exports['default']; 260 261/***/ }, 262/* 3 */ 263/***/ function(module, exports) { 264 265 "use strict"; 266 267 exports["default"] = function (obj) { 268 if (obj && obj.__esModule) { 269 return obj; 270 } else { 271 var newObj = {}; 272 273 if (obj != null) { 274 for (var key in obj) { 275 if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; 276 } 277 } 278 279 newObj["default"] = obj; 280 return newObj; 281 } 282 }; 283 284 exports.__esModule = true; 285 286/***/ }, 287/* 4 */ 288/***/ function(module, exports, __webpack_require__) { 289 290 'use strict'; 291 292 var _interopRequireDefault = __webpack_require__(1)['default']; 293 294 exports.__esModule = true; 295 exports.HandlebarsEnvironment = HandlebarsEnvironment; 296 297 var _utils = __webpack_require__(5); 298 299 var _exception = __webpack_require__(6); 300 301 var _exception2 = _interopRequireDefault(_exception); 302 303 var _helpers = __webpack_require__(7); 304 305 var _decorators = __webpack_require__(15); 306 307 var _logger = __webpack_require__(17); 308 309 var _logger2 = _interopRequireDefault(_logger); 310 311 var VERSION = '4.0.5'; 312 exports.VERSION = VERSION; 313 var COMPILER_REVISION = 7; 314 315 exports.COMPILER_REVISION = COMPILER_REVISION; 316 var REVISION_CHANGES = { 317 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it 318 2: '== 1.0.0-rc.3', 319 3: '== 1.0.0-rc.4', 320 4: '== 1.x.x', 321 5: '== 2.0.0-alpha.x', 322 6: '>= 2.0.0-beta.1', 323 7: '>= 4.0.0' 324 }; 325 326 exports.REVISION_CHANGES = REVISION_CHANGES; 327 var objectType = '[object Object]'; 328 329 function HandlebarsEnvironment(helpers, partials, decorators) { 330 this.helpers = helpers || {}; 331 this.partials = partials || {}; 332 this.decorators = decorators || {}; 333 334 _helpers.registerDefaultHelpers(this); 335 _decorators.registerDefaultDecorators(this); 336 } 337 338 HandlebarsEnvironment.prototype = { 339 constructor: HandlebarsEnvironment, 340 341 logger: _logger2['default'], 342 log: _logger2['default'].log, 343 344 registerHelper: function registerHelper(name, fn) { 345 if (_utils.toString.call(name) === objectType) { 346 if (fn) { 347 throw new _exception2['default']('Arg not supported with multiple helpers'); 348 } 349 _utils.extend(this.helpers, name); 350 } else { 351 this.helpers[name] = fn; 352 } 353 }, 354 unregisterHelper: function unregisterHelper(name) { 355 delete this.helpers[name]; 356 }, 357 358 registerPartial: function registerPartial(name, partial) { 359 if (_utils.toString.call(name) === objectType) { 360 _utils.extend(this.partials, name); 361 } else { 362 if (typeof partial === 'undefined') { 363 throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined'); 364 } 365 this.partials[name] = partial; 366 } 367 }, 368 unregisterPartial: function unregisterPartial(name) { 369 delete this.partials[name]; 370 }, 371 372 registerDecorator: function registerDecorator(name, fn) { 373 if (_utils.toString.call(name) === objectType) { 374 if (fn) { 375 throw new _exception2['default']('Arg not supported with multiple decorators'); 376 } 377 _utils.extend(this.decorators, name); 378 } else { 379 this.decorators[name] = fn; 380 } 381 }, 382 unregisterDecorator: function unregisterDecorator(name) { 383 delete this.decorators[name]; 384 } 385 }; 386 387 var log = _logger2['default'].log; 388 389 exports.log = log; 390 exports.createFrame = _utils.createFrame; 391 exports.logger = _logger2['default']; 392 393/***/ }, 394/* 5 */
vendor: 8,944 bytes, lines 395-730
395/***/ function(module, exports) { 396 397 'use strict'; 398 399 exports.__esModule = true; 400 exports.extend = extend; 401 exports.indexOf = indexOf; 402 exports.escapeExpression = escapeExpression; 403 exports.isEmpty = isEmpty; 404 exports.createFrame = createFrame; 405 exports.blockParams = blockParams; 406 exports.appendContextPath = appendContextPath; 407 var escape = { 408 '&': '&', 409 '<': '<', 410 '>': '>', 411 '"': '"', 412 "'": ''', 413 '`': '`', 414 '=': '=' 415 }; 416 417 var badChars = /[&<>"'`=]/g, 418 possible = /[&<>"'`=]/; 419 420 function escapeChar(chr) { 421 return escape[chr]; 422 } 423 424 function extend(obj /* , ...source */) { 425 for (var i = 1; i < arguments.length; i++) { 426 for (var key in arguments[i]) { 427 if (Object.prototype.hasOwnProperty.call(arguments[i], key)) { 428 obj[key] = arguments[i][key]; 429 } 430 } 431 } 432 433 return obj; 434 } 435 436 var toString = Object.prototype.toString; 437 438 exports.toString = toString; 439 // Sourced from lodash 440 // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt 441 /* eslint-disable func-style */ 442 var isFunction = function isFunction(value) { 443 return typeof value === 'function'; 444 }; 445 // fallback for older versions of Chrome and Safari 446 /* istanbul ignore next */ 447 if (isFunction(/x/)) { 448 exports.isFunction = isFunction = function (value) { 449 return typeof value === 'function' && toString.call(value) === '[object Function]'; 450 }; 451 } 452 exports.isFunction = isFunction; 453 454 /* eslint-enable func-style */ 455 456 /* istanbul ignore next */ 457 var isArray = Array.isArray || function (value) { 458 return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false; 459 }; 460 461 exports.isArray = isArray; 462 // Older IE versions do not directly support indexOf so we must implement our own, sadly. 463 464 function indexOf(array, value) { 465 for (var i = 0, len = array.length; i < len; i++) { 466 if (array[i] === value) { 467 return i; 468 } 469 } 470 return -1; 471 } 472 473 function escapeExpression(string) { 474 if (typeof string !== 'string') { 475 // don't escape SafeStrings, since they're already safe 476 if (string && string.toHTML) { 477 return string.toHTML(); 478 } else if (string == null) { 479 return ''; 480 } else if (!string) { 481 return string + ''; 482 } 483 484 // Force a string conversion as this will be done by the append regardless and 485 // the regex test will do this transparently behind the scenes, causing issues if 486 // an object's to string has escaped characters in it. 487 string = '' + string; 488 } 489 490 if (!possible.test(string)) { 491 return string; 492 } 493 return string.replace(badChars, escapeChar); 494 } 495 496 function isEmpty(value) { 497 if (!value && value !== 0) { 498 return true; 499 } else if (isArray(value) && value.length === 0) { 500 return true; 501 } else { 502 return false; 503 } 504 } 505 506 function createFrame(object) { 507 var frame = extend({}, object); 508 frame._parent = object; 509 return frame; 510 } 511 512 function blockParams(params, ids) { 513 params.path = ids; 514 return params; 515 } 516 517 function appendContextPath(contextPath, id) { 518 return (contextPath ? contextPath + '.' : '') + id; 519 } 520 521/***/ }, 522/* 6 */ 523/***/ function(module, exports) { 524 525 'use strict'; 526 527 exports.__esModule = true; 528 529 var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; 530 531 function Exception(message, node) { 532 var loc = node && node.loc, 533 line = undefined, 534 column = undefined; 535 if (loc) { 536 line = loc.start.line; 537 column = loc.start.column; 538 539 message += ' - ' + line + ':' + column; 540 } 541 542 var tmp = Error.prototype.constructor.call(this, message); 543 544 // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. 545 for (var idx = 0; idx < errorProps.length; idx++) { 546 this[errorProps[idx]] = tmp[errorProps[idx]]; 547 } 548 549 /* istanbul ignore else */ 550 if (Error.captureStackTrace) { 551 Error.captureStackTrace(this, Exception); 552 } 553 554 if (loc) { 555 this.lineNumber = line; 556 this.column = column; 557 } 558 } 559 560 Exception.prototype = new Error(); 561 562 exports['default'] = Exception; 563 module.exports = exports['default']; 564 565/***/ }, 566/* 7 */ 567/***/ function(module, exports, __webpack_require__) { 568 569 'use strict'; 570 571 var _interopRequireDefault = __webpack_require__(1)['default']; 572 573 exports.__esModule = true; 574 exports.registerDefaultHelpers = registerDefaultHelpers; 575 576 var _helpersBlockHelperMissing = __webpack_require__(8); 577 578 var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing); 579 580 var _helpersEach = __webpack_require__(9); 581 582 var _helpersEach2 = _interopRequireDefault(_helpersEach); 583 584 var _helpersHelperMissing = __webpack_require__(10); 585 586 var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing); 587 588 var _helpersIf = __webpack_require__(11); 589 590 var _helpersIf2 = _interopRequireDefault(_helpersIf); 591 592 var _helpersLog = __webpack_require__(12); 593 594 var _helpersLog2 = _interopRequireDefault(_helpersLog); 595 596 var _helpersLookup = __webpack_require__(13); 597 598 var _helpersLookup2 = _interopRequireDefault(_helpersLookup); 599 600 var _helpersWith = __webpack_require__(14); 601 602 var _helpersWith2 = _interopRequireDefault(_helpersWith); 603 604 function registerDefaultHelpers(instance) { 605 _helpersBlockHelperMissing2['default'](instance); 606 _helpersEach2['default'](instance); 607 _helpersHelperMissing2['default'](instance); 608 _helpersIf2['default'](instance); 609 _helpersLog2['default'](instance); 610 _helpersLookup2['default'](instance); 611 _helpersWith2['default'](instance); 612 } 613 614/***/ }, 615/* 8 */ 616/***/ function(module, exports, __webpack_require__) { 617 618 'use strict'; 619 620 exports.__esModule = true; 621 622 var _utils = __webpack_require__(5); 623 624 exports['default'] = function (instance) { 625 instance.registerHelper('blockHelperMissing', function (context, options) { 626 var inverse = options.inverse, 627 fn = options.fn; 628 629 if (context === true) { 630 return fn(this); 631 } else if (context === false || context == null) { 632 return inverse(this); 633 } else if (_utils.isArray(context)) { 634 if (context.length > 0) { 635 if (options.ids) { 636 options.ids = [options.name]; 637 } 638 639 return instance.helpers.each(context, options); 640 } else { 641 return inverse(this); 642 } 643 } else { 644 if (options.data && options.ids) { 645 var data = _utils.createFrame(options.data); 646 data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name); 647 options = { data: data }; 648 } 649 650 return fn(context, options); 651 } 652 }); 653 }; 654 655 module.exports = exports['default']; 656 657/***/ }, 658/* 9 */ 659/***/ function(module, exports, __webpack_require__) { 660 661 'use strict'; 662 663 var _interopRequireDefault = __webpack_require__(1)['default']; 664 665 exports.__esModule = true; 666 667 var _utils = __webpack_require__(5); 668 669 var _exception = __webpack_require__(6); 670 671 var _exception2 = _interopRequireDefault(_exception); 672 673 exports['default'] = function (instance) { 674 instance.registerHelper('each', function (context, options) { 675 if (!options) { 676 throw new _exception2['default']('Must pass iterator to #each'); 677 } 678 679 var fn = options.fn, 680 inverse = options.inverse, 681 i = 0, 682 ret = '', 683 data = undefined, 684 contextPath = undefined; 685 686 if (options.data && options.ids) { 687 contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.'; 688 } 689 690 if (_utils.isFunction(context)) { 691 context = context.call(this); 692 } 693 694 if (options.data) { 695 data = _utils.createFrame(options.data); 696 } 697 698 function execIteration(field, index, last) { 699 if (data) { 700 data.key = field; 701 data.index = index; 702 data.first = index === 0; 703 data.last = !!last; 704 705 if (contextPath) { 706 data.contextPath = contextPath + field; 707 } 708 } 709 710 ret = ret + fn(context[field], { 711 data: data, 712 blockParams: _utils.blockParams([context[field], field], [contextPath + field, null]) 713 }); 714 } 715 716 if (context && typeof context === 'object') { 717 if (_utils.isArray(context)) { 718 for (var j = context.length; i < j; i++) { 719 if (i in context) { 720 execIteration(i, i, i === context.length - 1); 721 } 722 } 723 } else { 724 var priorKey = undefined; 725 726 for (var key in context) { 727 if (context.hasOwnProperty(key)) { 728 // We're running the iterations one step out of sync so we can detect 729 // the last iteration without have to scan the object twice and create 730 // an itermediate keys array.
vendor: 6,961 bytes, lines 731-1002
731 if (priorKey !== undefined) { 732 execIteration(priorKey, i - 1); 733 } 734 priorKey = key; 735 i++; 736 } 737 } 738 if (priorKey !== undefined) { 739 execIteration(priorKey, i - 1, true); 740 } 741 } 742 } 743 744 if (i === 0) { 745 ret = inverse(this); 746 } 747 748 return ret; 749 }); 750 }; 751 752 module.exports = exports['default']; 753 754/***/ }, 755/* 10 */ 756/***/ function(module, exports, __webpack_require__) { 757 758 'use strict'; 759 760 var _interopRequireDefault = __webpack_require__(1)['default']; 761 762 exports.__esModule = true; 763 764 var _exception = __webpack_require__(6); 765 766 var _exception2 = _interopRequireDefault(_exception); 767 768 exports['default'] = function (instance) { 769 instance.registerHelper('helperMissing', function () /* [args, ]options */{ 770 if (arguments.length === 1) { 771 // A missing field in a {{foo}} construct. 772 return undefined; 773 } else { 774 // Someone is actually trying to call something, blow up. 775 throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"'); 776 } 777 }); 778 }; 779 780 module.exports = exports['default']; 781 782/***/ }, 783/* 11 */ 784/***/ function(module, exports, __webpack_require__) { 785 786 'use strict'; 787 788 exports.__esModule = true; 789 790 var _utils = __webpack_require__(5); 791 792 exports['default'] = function (instance) { 793 instance.registerHelper('if', function (conditional, options) { 794 if (_utils.isFunction(conditional)) { 795 conditional = conditional.call(this); 796 } 797 798 // Default behavior is to render the positive path if the value is truthy and not empty. 799 // The `includeZero` option may be set to treat the condtional as purely not empty based on the 800 // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative. 801 if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) { 802 return options.inverse(this); 803 } else { 804 return options.fn(this); 805 } 806 }); 807 808 instance.registerHelper('unless', function (conditional, options) { 809 return instance.helpers['if'].call(this, conditional, { fn: options.inverse, inverse: options.fn, hash: options.hash }); 810 }); 811 }; 812 813 module.exports = exports['default']; 814 815/***/ }, 816/* 12 */ 817/***/ function(module, exports) { 818 819 'use strict'; 820 821 exports.__esModule = true; 822 823 exports['default'] = function (instance) { 824 instance.registerHelper('log', function () /* message, options */{ 825 var args = [undefined], 826 options = arguments[arguments.length - 1]; 827 for (var i = 0; i < arguments.length - 1; i++) { 828 args.push(arguments[i]); 829 } 830 831 var level = 1; 832 if (options.hash.level != null) { 833 level = options.hash.level; 834 } else if (options.data && options.data.level != null) { 835 level = options.data.level; 836 } 837 args[0] = level; 838 839 instance.log.apply(instance, args); 840 }); 841 }; 842 843 module.exports = exports['default']; 844 845/***/ }, 846/* 13 */ 847/***/ function(module, exports) { 848 849 'use strict'; 850 851 exports.__esModule = true; 852 853 exports['default'] = function (instance) { 854 instance.registerHelper('lookup', function (obj, field) { 855 return obj && obj[field]; 856 }); 857 }; 858 859 module.exports = exports['default']; 860 861/***/ }, 862/* 14 */ 863/***/ function(module, exports, __webpack_require__) { 864 865 'use strict'; 866 867 exports.__esModule = true; 868 869 var _utils = __webpack_require__(5); 870 871 exports['default'] = function (instance) { 872 instance.registerHelper('with', function (context, options) { 873 if (_utils.isFunction(context)) { 874 context = context.call(this); 875 } 876 877 var fn = options.fn; 878 879 if (!_utils.isEmpty(context)) { 880 var data = options.data; 881 if (options.data && options.ids) { 882 data = _utils.createFrame(options.data); 883 data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]); 884 } 885 886 return fn(context, { 887 data: data, 888 blockParams: _utils.blockParams([context], [data && data.contextPath]) 889 }); 890 } else { 891 return options.inverse(this); 892 } 893 }); 894 }; 895 896 module.exports = exports['default']; 897 898/***/ }, 899/* 15 */ 900/***/ function(module, exports, __webpack_require__) { 901 902 'use strict'; 903 904 var _interopRequireDefault = __webpack_require__(1)['default']; 905 906 exports.__esModule = true; 907 exports.registerDefaultDecorators = registerDefaultDecorators; 908 909 var _decoratorsInline = __webpack_require__(16); 910 911 var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline); 912 913 function registerDefaultDecorators(instance) { 914 _decoratorsInline2['default'](instance); 915 } 916 917/***/ }, 918/* 16 */ 919/***/ function(module, exports, __webpack_require__) { 920 921 'use strict'; 922 923 exports.__esModule = true; 924 925 var _utils = __webpack_require__(5); 926 927 exports['default'] = function (instance) { 928 instance.registerDecorator('inline', function (fn, props, container, options) { 929 var ret = fn; 930 if (!props.partials) { 931 props.partials = {}; 932 ret = function (context, options) { 933 // Create a new partials stack frame prior to exec. 934 var original = container.partials; 935 container.partials = _utils.extend({}, original, props.partials); 936 var ret = fn(context, options); 937 container.partials = original; 938 return ret; 939 }; 940 } 941 942 props.partials[options.args[0]] = options.fn; 943 944 return ret; 945 }); 946 }; 947 948 module.exports = exports['default']; 949 950/***/ }, 951/* 17 */ 952/***/ function(module, exports, __webpack_require__) { 953 954 'use strict'; 955 956 exports.__esModule = true; 957 958 var _utils = __webpack_require__(5); 959 960 var logger = { 961 methodMap: ['debug', 'info', 'warn', 'error'], 962 level: 'info', 963 964 // Maps a given level value to the `methodMap` indexes above. 965 lookupLevel: function lookupLevel(level) { 966 if (typeof level === 'string') { 967 var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase()); 968 if (levelMap >= 0) { 969 level = levelMap; 970 } else { 971 level = parseInt(level, 10); 972 } 973 } 974 975 return level; 976 }, 977 978 // Can be overridden in the host environment 979 log: function log(level) { 980 level = logger.lookupLevel(level); 981 982 if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) { 983 var method = logger.methodMap[level]; 984 if (!console[method]) { 985 // eslint-disable-line no-console 986 method = 'log'; 987 } 988 989 for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 990 message[_key - 1] = arguments[_key]; 991 } 992 993 console[method].apply(console, message); // eslint-disable-line no-console 994 } 995 } 996 }; 997 998 exports['default'] = logger; 999 module.exports = exports['default']; 1000 1001/***/ }, 1002/* 18 */
vendor: 10,217 bytes, lines 1003-1314
1003/***/ function(module, exports) { 1004 1005 // Build out our basic SafeString type 1006 'use strict'; 1007 1008 exports.__esModule = true; 1009 function SafeString(string) { 1010 this.string = string; 1011 } 1012 1013 SafeString.prototype.toString = SafeString.prototype.toHTML = function () { 1014 return '' + this.string; 1015 }; 1016 1017 exports['default'] = SafeString; 1018 module.exports = exports['default']; 1019 1020/***/ }, 1021/* 19 */ 1022/***/ function(module, exports, __webpack_require__) { 1023 1024 'use strict'; 1025 1026 var _interopRequireWildcard = __webpack_require__(3)['default']; 1027 1028 var _interopRequireDefault = __webpack_require__(1)['default']; 1029 1030 exports.__esModule = true; 1031 exports.checkRevision = checkRevision; 1032 exports.template = template; 1033 exports.wrapProgram = wrapProgram; 1034 exports.resolvePartial = resolvePartial; 1035 exports.invokePartial = invokePartial; 1036 exports.noop = noop; 1037 1038 var _utils = __webpack_require__(5); 1039 1040 var Utils = _interopRequireWildcard(_utils); 1041 1042 var _exception = __webpack_require__(6); 1043 1044 var _exception2 = _interopRequireDefault(_exception); 1045 1046 var _base = __webpack_require__(4); 1047 1048 function checkRevision(compilerInfo) { 1049 var compilerRevision = compilerInfo && compilerInfo[0] || 1, 1050 currentRevision = _base.COMPILER_REVISION; 1051 1052 if (compilerRevision !== currentRevision) { 1053 if (compilerRevision < currentRevision) { 1054 var runtimeVersions = _base.REVISION_CHANGES[currentRevision], 1055 compilerVersions = _base.REVISION_CHANGES[compilerRevision]; 1056 throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').'); 1057 } else { 1058 // Use the embedded version info since the runtime doesn't know about this revision yet 1059 throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').'); 1060 } 1061 } 1062 } 1063 1064 function template(templateSpec, env) { 1065 /* istanbul ignore next */ 1066 if (!env) { 1067 throw new _exception2['default']('No environment passed to template'); 1068 } 1069 if (!templateSpec || !templateSpec.main) { 1070 throw new _exception2['default']('Unknown template object: ' + typeof templateSpec); 1071 } 1072 1073 templateSpec.main.decorator = templateSpec.main_d; 1074 1075 // Note: Using env.VM references rather than local var references throughout this section to allow 1076 // for external users to override these as psuedo-supported APIs. 1077 env.VM.checkRevision(templateSpec.compiler); 1078 1079 function invokePartialWrapper(partial, context, options) { 1080 if (options.hash) { 1081 context = Utils.extend({}, context, options.hash); 1082 if (options.ids) { 1083 options.ids[0] = true; 1084 } 1085 } 1086 1087 partial = env.VM.resolvePartial.call(this, partial, context, options); 1088 var result = env.VM.invokePartial.call(this, partial, context, options); 1089 1090 if (result == null && env.compile) { 1091 options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env); 1092 result = options.partials[options.name](context, options); 1093 } 1094 if (result != null) { 1095 if (options.indent) { 1096 var lines = result.split('\n'); 1097 for (var i = 0, l = lines.length; i < l; i++) { 1098 if (!lines[i] && i + 1 === l) { 1099 break; 1100 } 1101 1102 lines[i] = options.indent + lines[i]; 1103 } 1104 result = lines.join('\n'); 1105 } 1106 return result; 1107 } else { 1108 throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode'); 1109 } 1110 } 1111 1112 // Just add water 1113 var container = { 1114 strict: function strict(obj, name) { 1115 if (!(name in obj)) { 1116 throw new _exception2['default']('"' + name + '" not defined in ' + obj); 1117 } 1118 return obj[name]; 1119 }, 1120 lookup: function lookup(depths, name) { 1121 var len = depths.length; 1122 for (var i = 0; i < len; i++) { 1123 if (depths[i] && depths[i][name] != null) { 1124 return depths[i][name]; 1125 } 1126 } 1127 }, 1128 lambda: function lambda(current, context) { 1129 return typeof current === 'function' ? current.call(context) : current; 1130 }, 1131 1132 escapeExpression: Utils.escapeExpression, 1133 invokePartial: invokePartialWrapper, 1134 1135 fn: function fn(i) { 1136 var ret = templateSpec[i]; 1137 ret.decorator = templateSpec[i + '_d']; 1138 return ret; 1139 }, 1140 1141 programs: [], 1142 program: function program(i, data, declaredBlockParams, blockParams, depths) { 1143 var programWrapper = this.programs[i], 1144 fn = this.fn(i); 1145 if (data || depths || blockParams || declaredBlockParams) { 1146 programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths); 1147 } else if (!programWrapper) { 1148 programWrapper = this.programs[i] = wrapProgram(this, i, fn); 1149 } 1150 return programWrapper; 1151 }, 1152 1153 data: function data(value, depth) { 1154 while (value && depth--) { 1155 value = value._parent; 1156 } 1157 return value; 1158 }, 1159 merge: function merge(param, common) { 1160 var obj = param || common; 1161 1162 if (param && common && param !== common) { 1163 obj = Utils.extend({}, common, param); 1164 } 1165 1166 return obj; 1167 }, 1168 1169 noop: env.VM.noop, 1170 compilerInfo: templateSpec.compiler 1171 }; 1172 1173 function ret(context) { 1174 var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; 1175 1176 var data = options.data; 1177 1178 ret._setup(options); 1179 if (!options.partial && templateSpec.useData) { 1180 data = initData(context, data); 1181 } 1182 var depths = undefined, 1183 blockParams = templateSpec.useBlockParams ? [] : undefined; 1184 if (templateSpec.useDepths) { 1185 if (options.depths) { 1186 depths = context !== options.depths[0] ? [context].concat(options.depths) : options.depths; 1187 } else { 1188 depths = [context]; 1189 } 1190 } 1191 1192 function main(context /*, options*/) { 1193 return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths); 1194 } 1195 main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams); 1196 return main(context, options); 1197 } 1198 ret.isTop = true; 1199 1200 ret._setup = function (options) { 1201 if (!options.partial) { 1202 container.helpers = container.merge(options.helpers, env.helpers); 1203 1204 if (templateSpec.usePartial) { 1205 container.partials = container.merge(options.partials, env.partials); 1206 } 1207 if (templateSpec.usePartial || templateSpec.useDecorators) { 1208 container.decorators = container.merge(options.decorators, env.decorators); 1209 } 1210 } else { 1211 container.helpers = options.helpers; 1212 container.partials = options.partials; 1213 container.decorators = options.decorators; 1214 } 1215 }; 1216 1217 ret._child = function (i, data, blockParams, depths) { 1218 if (templateSpec.useBlockParams && !blockParams) { 1219 throw new _exception2['default']('must pass block params'); 1220 } 1221 if (templateSpec.useDepths && !depths) { 1222 throw new _exception2['default']('must pass parent depths'); 1223 } 1224 1225 return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths); 1226 }; 1227 return ret; 1228 } 1229 1230 function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) { 1231 function prog(context) { 1232 var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; 1233 1234 var currentDepths = depths; 1235 if (depths && context !== depths[0]) { 1236 currentDepths = [context].concat(depths); 1237 } 1238 1239 return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths); 1240 } 1241 1242 prog = executeDecorators(fn, prog, container, depths, data, blockParams); 1243 1244 prog.program = i; 1245 prog.depth = depths ? depths.length : 0; 1246 prog.blockParams = declaredBlockParams || 0; 1247 return prog; 1248 } 1249 1250 function resolvePartial(partial, context, options) { 1251 if (!partial) { 1252 if (options.name === '@partial-block') { 1253 partial = options.data['partial-block']; 1254 } else { 1255 partial = options.partials[options.name]; 1256 } 1257 } else if (!partial.call && !options.name) { 1258 // This is a dynamic partial that returned a string 1259 options.name = partial; 1260 partial = options.partials[partial]; 1261 } 1262 return partial; 1263 } 1264 1265 function invokePartial(partial, context, options) { 1266 options.partial = true; 1267 if (options.ids) { 1268 options.data.contextPath = options.ids[0] || options.data.contextPath; 1269 } 1270 1271 var partialBlock = undefined; 1272 if (options.fn && options.fn !== noop) { 1273 options.data = _base.createFrame(options.data); 1274 partialBlock = options.data['partial-block'] = options.fn; 1275 1276 if (partialBlock.partials) { 1277 options.partials = Utils.extend({}, options.partials, partialBlock.partials); 1278 } 1279 } 1280 1281 if (partial === undefined && partialBlock) { 1282 partial = partialBlock; 1283 } 1284 1285 if (partial === undefined) { 1286 throw new _exception2['default']('The partial ' + options.name + ' could not be found'); 1287 } else if (partial instanceof Function) { 1288 return partial(context, options); 1289 } 1290 } 1291 1292 function noop() { 1293 return ''; 1294 } 1295 1296 function initData(context, data) { 1297 if (!data || !('root' in data)) { 1298 data = data ? _base.createFrame(data) : {}; 1299 data.root = context; 1300 } 1301 return data; 1302 } 1303 1304 function executeDecorators(fn, prog, container, depths, data, blockParams) { 1305 if (fn.decorator) { 1306 var props = {}; 1307 prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths); 1308 Utils.extend(prog, props); 1309 } 1310 return prog; 1311 } 1312 1313/***/ }, 1314/* 20 */
vendor: 5,191 bytes, lines 1315-1434
1315/***/ function(module, exports) { 1316 1317 /* WEBPACK VAR INJECTION */(function(global) {/* global window */ 1318 'use strict'; 1319 1320 exports.__esModule = true; 1321 1322 exports['default'] = function (Handlebars) { 1323 /* istanbul ignore next */ 1324 var root = typeof global !== 'undefined' ? global : window, 1325 $Handlebars = root.Handlebars; 1326 /* istanbul ignore next */ 1327 Handlebars.noConflict = function () { 1328 if (root.Handlebars === Handlebars) { 1329 root.Handlebars = $Handlebars; 1330 } 1331 return Handlebars; 1332 }; 1333 }; 1334 1335 module.exports = exports['default']; 1336 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) 1337 1338/***/ }, 1339/* 21 */ 1340/***/ function(module, exports) { 1341 1342 'use strict'; 1343 1344 exports.__esModule = true; 1345 var AST = { 1346 // Public API used to evaluate derived attributes regarding AST nodes 1347 helpers: { 1348 // a mustache is definitely a helper if: 1349 // * it is an eligible helper, and 1350 // * it has at least one parameter or hash segment 1351 helperExpression: function helperExpression(node) { 1352 return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash); 1353 }, 1354 1355 scopedId: function scopedId(path) { 1356 return (/^\.|this\b/.test(path.original) 1357 ); 1358 }, 1359 1360 // an ID is simple if it only has one part, and that part is not 1361 // `..` or `this`. 1362 simpleId: function simpleId(path) { 1363 return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth; 1364 } 1365 } 1366 }; 1367 1368 // Must be exported as an object rather than the root of the module as the jison lexer 1369 // must modify the object to operate properly. 1370 exports['default'] = AST; 1371 module.exports = exports['default']; 1372 1373/***/ }, 1374/* 22 */ 1375/***/ function(module, exports, __webpack_require__) { 1376 1377 'use strict'; 1378 1379 var _interopRequireDefault = __webpack_require__(1)['default']; 1380 1381 var _interopRequireWildcard = __webpack_require__(3)['default']; 1382 1383 exports.__esModule = true; 1384 exports.parse = parse; 1385 1386 var _parser = __webpack_require__(23); 1387 1388 var _parser2 = _interopRequireDefault(_parser); 1389 1390 var _whitespaceControl = __webpack_require__(24); 1391 1392 var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl); 1393 1394 var _helpers = __webpack_require__(26); 1395 1396 var Helpers = _interopRequireWildcard(_helpers); 1397 1398 var _utils = __webpack_require__(5); 1399 1400 exports.parser = _parser2['default']; 1401 1402 var yy = {}; 1403 _utils.extend(yy, Helpers); 1404 1405 function parse(input, options) { 1406 // Just return if an already-compiled AST was passed in. 1407 if (input.type === 'Program') { 1408 return input; 1409 } 1410 1411 _parser2['default'].yy = yy; 1412 1413 // Altering the shared object here, but this is ok as parser is a sync operation 1414 yy.locInfo = function (locInfo) { 1415 return new yy.SourceLocation(options && options.srcName, locInfo); 1416 }; 1417 1418 var strip = new _whitespaceControl2['default'](options); 1419 return strip.accept(_parser2['default'].parse(input)); 1420 } 1421 1422/***/ }, 1423/* 23 */ 1424/***/ function(module, exports) { 1425 1426 /* istanbul ignore next */ 1427 /* Jison generated parser */ 1428 "use strict"; 1429 1430 var handlebars = (function () { 1431 var parser = { trace: function trace() {}, 1432 yy: {}, 1433 symbols_: { "error": 2, "root": 3, "program": 4, "EOF": 5, "program_repetition0": 6, "statement": 7, "mustache": 8, "block": 9, "rawBlock": 10, "partial": 11, "partialBlock": 12, "content": 13, "COMMENT": 14, "CONTENT": 15, "openRawBlock": 16, "rawBlock_repetition_plus0": 17, "END_RAW_BLOCK": 18, "OPEN_RAW_BLOCK": 19, "helperName": 20, "openRawBlock_repetition0": 21, "openRawBlock_option0": 22, "CLOSE_RAW_BLOCK": 23, "openBlock": 24, "block_option0": 25, "closeBlock": 26, "openInverse": 27, "block_option1": 28, "OPEN_BLOCK": 29, "openBlock_repetition0": 30, "openBlock_option0": 31, "openBlock_option1": 32, "CLOSE": 33, "OPEN_INVERSE": 34, "openInverse_repetition0": 35, "openInverse_option0": 36, "openInverse_option1": 37, "openInverseChain": 38, "OPEN_INVERSE_CHAIN": 39, "openInverseChain_repetition0": 40, "openInverseChain_option0": 41, "openInverseChain_option1": 42, "inverseAndProgram": 43, "INVERSE": 44, "inverseChain": 45, "inverseChain_option0": 46, "OPEN_ENDBLOCK": 47, "OPEN": 48, "mustache_repetition0": 49, "mustache_option0": 50, "OPEN_UNESCAPED": 51, "mustache_repetition1": 52, "mustache_option1": 53, "CLOSE_UNESCAPED": 54, "OPEN_PARTIAL": 55, "partialName": 56, "partial_repetition0": 57, "partial_option0": 58, "openPartialBlock": 59, "OPEN_PARTIAL_BLOCK": 60, "openPartialBlock_repetition0": 61, "openPartialBlock_option0": 62, "param": 63, "sexpr": 64, "OPEN_SEXPR": 65, "sexpr_repetition0": 66, "sexpr_option0": 67, "CLOSE_SEXPR": 68, "hash": 69, "hash_repetition_plus0": 70, "hashSegment": 71, "ID": 72, "EQUALS": 73, "blockParams": 74, "OPEN_BLOCK_PARAMS": 75, "blockParams_repetition_plus0": 76, "CLOSE_BLOCK_PARAMS": 77, "path": 78, "dataName": 79, "STRING": 80, "NUMBER": 81, "BOOLEAN": 82, "UNDEFINED": 83, "NULL": 84, "DATA": 85, "pathSegments": 86, "SEP": 87, "$accept": 0, "$end": 1 }, 1434 terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT",
vendor: 47,867 bytes, lines 1434-2154
143418: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "SEP" }, 1435 productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 1], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]], 1436 performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$ 1437 /**/) { 1438 1439 var $0 = $$.length - 1; 1440 switch (yystate) { 1441 case 1: 1442 return $$[$0 - 1]; 1443 break; 1444 case 2: 1445 this.$ = yy.prepareProgram($$[$0]); 1446 break; 1447 case 3: 1448 this.$ = $$[$0]; 1449 break; 1450 case 4: 1451 this.$ = $$[$0]; 1452 break; 1453 case 5: 1454 this.$ = $$[$0]; 1455 break; 1456 case 6: 1457 this.$ = $$[$0]; 1458 break; 1459 case 7: 1460 this.$ = $$[$0]; 1461 break; 1462 case 8: 1463 this.$ = $$[$0]; 1464 break; 1465 case 9: 1466 this.$ = { 1467 type: 'CommentStatement', 1468 value: yy.stripComment($$[$0]), 1469 strip: yy.stripFlags($$[$0], $$[$0]), 1470 loc: yy.locInfo(this._$) 1471 }; 1472 1473 break; 1474 case 10: 1475 this.$ = { 1476 type: 'ContentStatement', 1477 original: $$[$0], 1478 value: $$[$0], 1479 loc: yy.locInfo(this._$) 1480 }; 1481 1482 break; 1483 case 11: 1484 this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$); 1485 break; 1486 case 12: 1487 this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] }; 1488 break; 1489 case 13: 1490 this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$); 1491 break; 1492 case 14: 1493 this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$); 1494 break; 1495 case 15: 1496 this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; 1497 break; 1498 case 16: 1499 this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; 1500 break; 1501 case 17: 1502 this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; 1503 break; 1504 case 18: 1505 this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] }; 1506 break; 1507 case 19: 1508 var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$), 1509 program = yy.prepareProgram([inverse], $$[$0 - 1].loc); 1510 program.chained = true; 1511 1512 this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true }; 1513 1514 break; 1515 case 20: 1516 this.$ = $$[$0]; 1517 break; 1518 case 21: 1519 this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) }; 1520 break; 1521 case 22: 1522 this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$); 1523 break; 1524 case 23: 1525 this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$); 1526 break; 1527 case 24: 1528 this.$ = { 1529 type: 'PartialStatement', 1530 name: $$[$0 - 3], 1531 params: $$[$0 - 2], 1532 hash: $$[$0 - 1], 1533 indent: '', 1534 strip: yy.stripFlags($$[$0 - 4], $$[$0]), 1535 loc: yy.locInfo(this._$) 1536 }; 1537 1538 break; 1539 case 25: 1540 this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$); 1541 break; 1542 case 26: 1543 this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) }; 1544 break; 1545 case 27: 1546 this.$ = $$[$0]; 1547 break; 1548 case 28: 1549 this.$ = $$[$0]; 1550 break; 1551 case 29: 1552 this.$ = { 1553 type: 'SubExpression', 1554 path: $$[$0 - 3], 1555 params: $$[$0 - 2], 1556 hash: $$[$0 - 1], 1557 loc: yy.locInfo(this._$) 1558 }; 1559 1560 break; 1561 case 30: 1562 this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) }; 1563 break; 1564 case 31: 1565 this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) }; 1566 break; 1567 case 32: 1568 this.$ = yy.id($$[$0 - 1]); 1569 break; 1570 case 33: 1571 this.$ = $$[$0]; 1572 break; 1573 case 34: 1574 this.$ = $$[$0]; 1575 break; 1576 case 35: 1577 this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) }; 1578 break; 1579 case 36: 1580 this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) }; 1581 break; 1582 case 37: 1583 this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) }; 1584 break; 1585 case 38: 1586 this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) }; 1587 break; 1588 case 39: 1589 this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) }; 1590 break; 1591 case 40: 1592 this.$ = $$[$0]; 1593 break; 1594 case 41: 1595 this.$ = $$[$0]; 1596 break; 1597 case 42: 1598 this.$ = yy.preparePath(true, $$[$0], this._$); 1599 break; 1600 case 43: 1601 this.$ = yy.preparePath(false, $$[$0], this._$); 1602 break; 1603 case 44: 1604 $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2]; 1605 break; 1606 case 45: 1607 this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }]; 1608 break; 1609 case 46: 1610 this.$ = []; 1611 break; 1612 case 47: 1613 $$[$0 - 1].push($$[$0]); 1614 break; 1615 case 48: 1616 this.$ = [$$[$0]]; 1617 break; 1618 case 49: 1619 $$[$0 - 1].push($$[$0]); 1620 break; 1621 case 50: 1622 this.$ = []; 1623 break; 1624 case 51: 1625 $$[$0 - 1].push($$[$0]); 1626 break; 1627 case 58: 1628 this.$ = []; 1629 break; 1630 case 59: 1631 $$[$0 - 1].push($$[$0]); 1632 break; 1633 case 64: 1634 this.$ = []; 1635 break; 1636 case 65: 1637 $$[$0 - 1].push($$[$0]); 1638 break; 1639 case 70: 1640 this.$ = []; 1641 break; 1642 case 71: 1643 $$[$0 - 1].push($$[$0]); 1644 break; 1645 case 78: 1646 this.$ = []; 1647 break; 1648 case 79: 1649 $$[$0 - 1].push($$[$0]); 1650 break; 1651 case 82: 1652 this.$ = []; 1653 break; 1654 case 83: 1655 $$[$0 - 1].push($$[$0]); 1656 break; 1657 case 86: 1658 this.$ = []; 1659 break; 1660 case 87: 1661 $$[$0 - 1].push($$[$0]); 1662 break; 1663 case 90: 1664 this.$ = []; 1665 break; 1666 case 91: 1667 $$[$0 - 1].push($$[$0]); 1668 break; 1669 case 94: 1670 this.$ = []; 1671 break; 1672 case 95: 1673 $$[$0 - 1].push($$[$0]); 1674 break; 1675 case 98: 1676 this.$ = [$$[$0]]; 1677 break; 1678 case 99: 1679 $$[$0 - 1].push($$[$0]); 1680 break; 1681 case 100: 1682 this.$ = [$$[$0]]; 1683 break; 1684 case 101: 1685 $$[$0 - 1].push($$[$0]); 1686 break; 1687 } 1688 }, 1689 table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 13: 40, 15: [1, 20], 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 45, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 48, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 42, 56: 49, 64: 43, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 50, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 51] }, { 72: [1, 35], 86: 52 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 53, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 54, 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: [1, 59], 47: [2, 56] }, { 13: 63, 15: [1, 20], 18: [1, 62] }, { 15: [2, 48], 18: [2, 48] }, { 33: [2, 86], 57: 64, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 65, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 66, 47: [1, 67] }, { 30: 68, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 69, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 70, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 71, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: [1, 44], 69: 74, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 80] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 51] }, { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: [1, 44], 69: 83, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 84, 47: [1, 67] }, { 47: [2, 55] }, { 4: 85, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 86, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 87, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 88, 47: [1, 67] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: [1, 44], 69: 91, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 92, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 93, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 31: 94, 33: [2, 60], 63: 95, 64: 76, 65: [1, 44], 69: 96, 70: 77, 71: 78, 72: [1, 79], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 33: [2, 66], 36: 97, 63: 98, 64: 76, 65: [1, 44], 69: 99, 70: 77, 71: 78, 72: [1, 79], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: [1, 44], 69: 102, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: [1, 44], 69: 105, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 106] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 107, 72: [1, 108], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 109], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 110] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 112, 46: 111, 47: [2, 76] }, { 33: [2, 70], 40: 113, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 114] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 75, 63: 116, 64: 76, 65: [1, 44], 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: [1, 121] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 122, 74: 123, 75: [1, 121] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 124] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 125] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 109] }, { 20: 75, 63: 126, 64: 76, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 75, 33: [2, 72], 41: 127, 63: 128, 64: 76, 65: [1, 44], 69: 129, 70: 77, 71: 78, 72: [1, 79], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 130] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 135, 74: 136, 75: [1, 121] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 138], 77: [1, 137] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 139] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }], 1690 defaultActions: { 4: [2, 1], 55: [2, 55], 57: [2, 20], 61: [2, 57], 74: [2, 81], 83: [2, 85], 87: [2, 18], 91: [2, 89], 102: [2, 53], 105: [2, 93], 111: [2, 19], 112: [2, 77], 117: [2, 97], 120: [2, 63], 123: [2, 69], 124: [2, 12], 136: [2, 75], 137: [2, 32] }, 1691 parseError: function parseError(str, hash) { 1692 throw new Error(str); 1693 }, 1694 parse: function parse(input) { 1695 var self = this, 1696 stack = [0], 1697 vstack = [null], 1698 lstack = [], 1699 table = this.table, 1700 yytext = "", 1701 yylineno = 0, 1702 yyleng = 0, 1703 recovering = 0, 1704 TERROR = 2, 1705 EOF = 1; 1706 this.lexer.setInput(input); 1707 this.lexer.yy = this.yy; 1708 this.yy.lexer = this.lexer; 1709 this.yy.parser = this; 1710 if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {}; 1711 var yyloc = this.lexer.yylloc; 1712 lstack.push(yyloc); 1713 var ranges = this.lexer.options && this.lexer.options.ranges; 1714 if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError; 1715 function popStack(n) { 1716 stack.length = stack.length - 2 * n; 1717 vstack.length = vstack.length - n; 1718 lstack.length = lstack.length - n; 1719 } 1720 function lex() { 1721 var token; 1722 token = self.lexer.lex() || 1; 1723 if (typeof token !== "number") { 1724 token = self.symbols_[token] || token; 1725 } 1726 return token; 1727 } 1728 var symbol, 1729 preErrorSymbol, 1730 state, 1731 action, 1732 a, 1733 r, 1734 yyval = {}, 1735 p, 1736 len, 1737 newState, 1738 expected; 1739 while (true) { 1740 state = stack[stack.length - 1]; 1741 if (this.defaultActions[state]) { 1742 action = this.defaultActions[state]; 1743 } else { 1744 if (symbol === null || typeof symbol == "undefined") { 1745 symbol = lex(); 1746 } 1747 action = table[state] && table[state][symbol]; 1748 } 1749 if (typeof action === "undefined" || !action.length || !action[0]) { 1750 var errStr = ""; 1751 if (!recovering) { 1752 expected = []; 1753 for (p in table[state]) if (this.terminals_[p] && p > 2) { 1754 expected.push("'" + this.terminals_[p] + "'"); 1755 } 1756 if (this.lexer.showPosition) { 1757 errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; 1758 } else { 1759 errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); 1760 } 1761 this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected }); 1762 } 1763 } 1764 if (action[0] instanceof Array && action.length > 1) { 1765 throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); 1766 } 1767 switch (action[0]) { 1768 case 1: 1769 stack.push(symbol); 1770 vstack.push(this.lexer.yytext); 1771 lstack.push(this.lexer.yylloc); 1772 stack.push(action[1]); 1773 symbol = null; 1774 if (!preErrorSymbol) { 1775 yyleng = this.lexer.yyleng; 1776 yytext = this.lexer.yytext; 1777 yylineno = this.lexer.yylineno; 1778 yyloc = this.lexer.yylloc; 1779 if (recovering > 0) recovering--; 1780 } else { 1781 symbol = preErrorSymbol; 1782 preErrorSymbol = null; 1783 } 1784 break; 1785 case 2: 1786 len = this.productions_[action[1]][1]; 1787 yyval.$ = vstack[vstack.length - len]; 1788 yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column }; 1789 if (ranges) { 1790 yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; 1791 } 1792 r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); 1793 if (typeof r !== "undefined") { 1794 return r; 1795 } 1796 if (len) { 1797 stack = stack.slice(0, -1 * len * 2); 1798 vstack = vstack.slice(0, -1 * len); 1799 lstack = lstack.slice(0, -1 * len); 1800 } 1801 stack.push(this.productions_[action[1]][0]); 1802 vstack.push(yyval.$); 1803 lstack.push(yyval._$); 1804 newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; 1805 stack.push(newState); 1806 break; 1807 case 3: 1808 return true; 1809 } 1810 } 1811 return true; 1812 } 1813 }; 1814 /* Jison generated lexer */ 1815 var lexer = (function () { 1816 var lexer = { EOF: 1, 1817 parseError: function parseError(str, hash) { 1818 if (this.yy.parser) { 1819 this.yy.parser.parseError(str, hash); 1820 } else { 1821 throw new Error(str); 1822 } 1823 }, 1824 setInput: function setInput(input) { 1825 this._input = input; 1826 this._more = this._less = this.done = false; 1827 this.yylineno = this.yyleng = 0; 1828 this.yytext = this.matched = this.match = ''; 1829 this.conditionStack = ['INITIAL']; 1830 this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }; 1831 if (this.options.ranges) this.yylloc.range = [0, 0]; 1832 this.offset = 0; 1833 return this; 1834 }, 1835 input: function input() { 1836 var ch = this._input[0]; 1837 this.yytext += ch; 1838 this.yyleng++; 1839 this.offset++; 1840 this.match += ch; 1841 this.matched += ch; 1842 var lines = ch.match(/(?:\r\n?|\n).*/g); 1843 if (lines) { 1844 this.yylineno++; 1845 this.yylloc.last_line++; 1846 } else { 1847 this.yylloc.last_column++; 1848 } 1849 if (this.options.ranges) this.yylloc.range[1]++; 1850 1851 this._input = this._input.slice(1); 1852 return ch; 1853 }, 1854 unput: function unput(ch) { 1855 var len = ch.length; 1856 var lines = ch.split(/(?:\r\n?|\n)/g); 1857 1858 this._input = ch + this._input; 1859 this.yytext = this.yytext.substr(0, this.yytext.length - len - 1); 1860 //this.yyleng -= len; 1861 this.offset -= len; 1862 var oldLines = this.match.split(/(?:\r\n?|\n)/g); 1863 this.match = this.match.substr(0, this.match.length - 1); 1864 this.matched = this.matched.substr(0, this.matched.length - 1); 1865 1866 if (lines.length - 1) this.yylineno -= lines.length - 1; 1867 var r = this.yylloc.range; 1868 1869 this.yylloc = { first_line: this.yylloc.first_line, 1870 last_line: this.yylineno + 1, 1871 first_column: this.yylloc.first_column, 1872 last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len 1873 }; 1874 1875 if (this.options.ranges) { 1876 this.yylloc.range = [r[0], r[0] + this.yyleng - len]; 1877 } 1878 return this; 1879 }, 1880 more: function more() { 1881 this._more = true; 1882 return this; 1883 }, 1884 less: function less(n) { 1885 this.unput(this.match.slice(n)); 1886 }, 1887 pastInput: function pastInput() { 1888 var past = this.matched.substr(0, this.matched.length - this.match.length); 1889 return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); 1890 }, 1891 upcomingInput: function upcomingInput() { 1892 var next = this.match; 1893 if (next.length < 20) { 1894 next += this._input.substr(0, 20 - next.length); 1895 } 1896 return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); 1897 }, 1898 showPosition: function showPosition() { 1899 var pre = this.pastInput(); 1900 var c = new Array(pre.length + 1).join("-"); 1901 return pre + this.upcomingInput() + "\n" + c + "^"; 1902 }, 1903 next: function next() { 1904 if (this.done) { 1905 return this.EOF; 1906 } 1907 if (!this._input) this.done = true; 1908 1909 var token, match, tempMatch, index, col, lines; 1910 if (!this._more) { 1911 this.yytext = ''; 1912 this.match = ''; 1913 } 1914 var rules = this._currentRules(); 1915 for (var i = 0; i < rules.length; i++) { 1916 tempMatch = this._input.match(this.rules[rules[i]]); 1917 if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { 1918 match = tempMatch; 1919 index = i; 1920 if (!this.options.flex) break; 1921 } 1922 } 1923 if (match) { 1924 lines = match[0].match(/(?:\r\n?|\n).*/g); 1925 if (lines) this.yylineno += lines.length; 1926 this.yylloc = { first_line: this.yylloc.last_line, 1927 last_line: this.yylineno + 1, 1928 first_column: this.yylloc.last_column, 1929 last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length }; 1930 this.yytext += match[0]; 1931 this.match += match[0]; 1932 this.matches = match; 1933 this.yyleng = this.yytext.length; 1934 if (this.options.ranges) { 1935 this.yylloc.range = [this.offset, this.offset += this.yyleng]; 1936 } 1937 this._more = false; 1938 this._input = this._input.slice(match[0].length); 1939 this.matched += match[0]; 1940 token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]); 1941 if (this.done && this._input) this.done = false; 1942 if (token) return token;else return; 1943 } 1944 if (this._input === "") { 1945 return this.EOF; 1946 } else { 1947 return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: "", token: null, line: this.yylineno }); 1948 } 1949 }, 1950 lex: function lex() { 1951 var r = this.next(); 1952 if (typeof r !== 'undefined') { 1953 return r; 1954 } else { 1955 return this.lex(); 1956 } 1957 }, 1958 begin: function begin(condition) { 1959 this.conditionStack.push(condition); 1960 }, 1961 popState: function popState() { 1962 return this.conditionStack.pop(); 1963 }, 1964 _currentRules: function _currentRules() { 1965 return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; 1966 }, 1967 topState: function topState() { 1968 return this.conditionStack[this.conditionStack.length - 2]; 1969 }, 1970 pushState: function begin(condition) { 1971 this.begin(condition); 1972 } }; 1973 lexer.options = {}; 1974 lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START 1975 /**/) { 1976 1977 function strip(start, end) { 1978 return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng - end); 1979 } 1980 1981 var YYSTATE = YY_START; 1982 switch ($avoiding_name_collisions) { 1983 case 0: 1984 if (yy_.yytext.slice(-2) === "\\\\") { 1985 strip(0, 1); 1986 this.begin("mu"); 1987 } else if (yy_.yytext.slice(-1) === "\\") { 1988 strip(0, 1); 1989 this.begin("emu"); 1990 } else { 1991 this.begin("mu"); 1992 } 1993 if (yy_.yytext) return 15; 1994 1995 break; 1996 case 1: 1997 return 15; 1998 break; 1999 case 2: 2000 this.popState(); 2001 return 15; 2002 2003 break; 2004 case 3: 2005 this.begin('raw');return 15; 2006 break; 2007 case 4: 2008 this.popState(); 2009 // Should be using `this.topState()` below, but it currently 2010 // returns the second top instead of the first top. Opened an 2011 // issue about it at https://github.com/zaach/jison/issues/291 2012 if (this.conditionStack[this.conditionStack.length - 1] === 'raw') { 2013 return 15; 2014 } else { 2015 yy_.yytext = yy_.yytext.substr(5, yy_.yyleng - 9); 2016 return 'END_RAW_BLOCK'; 2017 } 2018 2019 break; 2020 case 5: 2021 return 15; 2022 break; 2023 case 6: 2024 this.popState(); 2025 return 14; 2026 2027 break; 2028 case 7: 2029 return 65; 2030 break; 2031 case 8: 2032 return 68; 2033 break; 2034 case 9: 2035 return 19; 2036 break; 2037 case 10: 2038 this.popState(); 2039 this.begin('raw'); 2040 return 23; 2041 2042 break; 2043 case 11: 2044 return 55; 2045 break; 2046 case 12: 2047 return 60; 2048 break; 2049 case 13: 2050 return 29; 2051 break; 2052 case 14: 2053 return 47; 2054 break; 2055 case 15: 2056 this.popState();return 44; 2057 break; 2058 case 16: 2059 this.popState();return 44; 2060 break; 2061 case 17: 2062 return 34; 2063 break; 2064 case 18: 2065 return 39; 2066 break; 2067 case 19: 2068 return 51; 2069 break; 2070 case 20: 2071 return 48; 2072 break; 2073 case 21: 2074 this.unput(yy_.yytext); 2075 this.popState(); 2076 this.begin('com'); 2077 2078 break; 2079 case 22: 2080 this.popState(); 2081 return 14; 2082 2083 break; 2084 case 23: 2085 return 48; 2086 break; 2087 case 24: 2088 return 73; 2089 break; 2090 case 25: 2091 return 72; 2092 break; 2093 case 26: 2094 return 72; 2095 break; 2096 case 27: 2097 return 87; 2098 break; 2099 case 28: 2100 // ignore whitespace 2101 break; 2102 case 29: 2103 this.popState();return 54; 2104 break; 2105 case 30: 2106 this.popState();return 33; 2107 break; 2108 case 31: 2109 yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80; 2110 break; 2111 case 32: 2112 yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80; 2113 break; 2114 case 33: 2115 return 85; 2116 break; 2117 case 34: 2118 return 82; 2119 break; 2120 case 35: 2121 return 82; 2122 break; 2123 case 36: 2124 return 83; 2125 break; 2126 case 37: 2127 return 84; 2128 break; 2129 case 38: 2130 return 81; 2131 break; 2132 case 39: 2133 return 75; 2134 break; 2135 case 40: 2136 return 77; 2137 break; 2138 case 41: 2139 return 72; 2140 break; 2141 case 42: 2142 yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72; 2143 break; 2144 case 43: 2145 return 'INVALID'; 2146 break; 2147 case 44: 2148 return 5; 2149 break; 2150 } 2151 }; 2152 lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]*?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/]; 2153 lexer.conditions = { "mu": { "rules": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "inclusive": false }, "emu": { "rules": [2], "inclusive": false }, "com": { "rules": [6], "inclusive": false }, "raw": { "rules": [3, 4, 5], "inclusive": false }, "INITIAL": { "rules": [0, 1, 44], "inclusive": true } }; 2154 return lexer;
vendor: 7,745 bytes, lines 2155-2411
2155 })(); 2156 parser.lexer = lexer; 2157 function Parser() { 2158 this.yy = {}; 2159 }Parser.prototype = parser;parser.Parser = Parser; 2160 return new Parser(); 2161 })();exports.__esModule = true; 2162 exports['default'] = handlebars; 2163 2164/***/ }, 2165/* 24 */ 2166/***/ function(module, exports, __webpack_require__) { 2167 2168 'use strict'; 2169 2170 var _interopRequireDefault = __webpack_require__(1)['default']; 2171 2172 exports.__esModule = true; 2173 2174 var _visitor = __webpack_require__(25); 2175 2176 var _visitor2 = _interopRequireDefault(_visitor); 2177 2178 function WhitespaceControl() { 2179 var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; 2180 2181 this.options = options; 2182 } 2183 WhitespaceControl.prototype = new _visitor2['default'](); 2184 2185 WhitespaceControl.prototype.Program = function (program) { 2186 var doStandalone = !this.options.ignoreStandalone; 2187 2188 var isRoot = !this.isRootSeen; 2189 this.isRootSeen = true; 2190 2191 var body = program.body; 2192 for (var i = 0, l = body.length; i < l; i++) { 2193 var current = body[i], 2194 strip = this.accept(current); 2195 2196 if (!strip) { 2197 continue; 2198 } 2199 2200 var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot), 2201 _isNextWhitespace = isNextWhitespace(body, i, isRoot), 2202 openStandalone = strip.openStandalone && _isPrevWhitespace, 2203 closeStandalone = strip.closeStandalone && _isNextWhitespace, 2204 inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace; 2205 2206 if (strip.close) { 2207 omitRight(body, i, true); 2208 } 2209 if (strip.open) { 2210 omitLeft(body, i, true); 2211 } 2212 2213 if (doStandalone && inlineStandalone) { 2214 omitRight(body, i); 2215 2216 if (omitLeft(body, i)) { 2217 // If we are on a standalone node, save the indent info for partials 2218 if (current.type === 'PartialStatement') { 2219 // Pull out the whitespace from the final line 2220 current.indent = /([ \t]+$)/.exec(body[i - 1].original)[1]; 2221 } 2222 } 2223 } 2224 if (doStandalone && openStandalone) { 2225 omitRight((current.program || current.inverse).body); 2226 2227 // Strip out the previous content node if it's whitespace only 2228 omitLeft(body, i); 2229 } 2230 if (doStandalone && closeStandalone) { 2231 // Always strip the next node 2232 omitRight(body, i); 2233 2234 omitLeft((current.inverse || current.program).body); 2235 } 2236 } 2237 2238 return program; 2239 }; 2240 2241 WhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) { 2242 this.accept(block.program); 2243 this.accept(block.inverse); 2244 2245 // Find the inverse program that is involed with whitespace stripping. 2246 var program = block.program || block.inverse, 2247 inverse = block.program && block.inverse, 2248 firstInverse = inverse, 2249 lastInverse = inverse; 2250 2251 if (inverse && inverse.chained) { 2252 firstInverse = inverse.body[0].program; 2253 2254 // Walk the inverse chain to find the last inverse that is actually in the chain. 2255 while (lastInverse.chained) { 2256 lastInverse = lastInverse.body[lastInverse.body.length - 1].program; 2257 } 2258 } 2259 2260 var strip = { 2261 open: block.openStrip.open, 2262 close: block.closeStrip.close, 2263 2264 // Determine the standalone candiacy. Basically flag our content as being possibly standalone 2265 // so our parent can determine if we actually are standalone 2266 openStandalone: isNextWhitespace(program.body), 2267 closeStandalone: isPrevWhitespace((firstInverse || program).body) 2268 }; 2269 2270 if (block.openStrip.close) { 2271 omitRight(program.body, null, true); 2272 } 2273 2274 if (inverse) { 2275 var inverseStrip = block.inverseStrip; 2276 2277 if (inverseStrip.open) { 2278 omitLeft(program.body, null, true); 2279 } 2280 2281 if (inverseStrip.close) { 2282 omitRight(firstInverse.body, null, true); 2283 } 2284 if (block.closeStrip.open) { 2285 omitLeft(lastInverse.body, null, true); 2286 } 2287 2288 // Find standalone else statments 2289 if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) { 2290 omitLeft(program.body); 2291 omitRight(firstInverse.body); 2292 } 2293 } else if (block.closeStrip.open) { 2294 omitLeft(program.body, null, true); 2295 } 2296 2297 return strip; 2298 }; 2299 2300 WhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) { 2301 return mustache.strip; 2302 }; 2303 2304 WhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) { 2305 /* istanbul ignore next */ 2306 var strip = node.strip || {}; 2307 return { 2308 inlineStandalone: true, 2309 open: strip.open, 2310 close: strip.close 2311 }; 2312 }; 2313 2314 function isPrevWhitespace(body, i, isRoot) { 2315 if (i === undefined) { 2316 i = body.length; 2317 } 2318 2319 // Nodes that end with newlines are considered whitespace (but are special 2320 // cased for strip operations) 2321 var prev = body[i - 1], 2322 sibling = body[i - 2]; 2323 if (!prev) { 2324 return isRoot; 2325 } 2326 2327 if (prev.type === 'ContentStatement') { 2328 return (sibling || !isRoot ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(prev.original); 2329 } 2330 } 2331 function isNextWhitespace(body, i, isRoot) { 2332 if (i === undefined) { 2333 i = -1; 2334 } 2335 2336 var next = body[i + 1], 2337 sibling = body[i + 2]; 2338 if (!next) { 2339 return isRoot; 2340 } 2341 2342 if (next.type === 'ContentStatement') { 2343 return (sibling || !isRoot ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(next.original); 2344 } 2345 } 2346 2347 // Marks the node to the right of the position as omitted. 2348 // I.e. {{foo}}' ' will mark the ' ' node as omitted. 2349 // 2350 // If i is undefined, then the first child will be marked as such. 2351 // 2352 // If mulitple is truthy then all whitespace will be stripped out until non-whitespace 2353 // content is met. 2354 function omitRight(body, i, multiple) { 2355 var current = body[i == null ? 0 : i + 1]; 2356 if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) { 2357 return; 2358 } 2359 2360 var original = current.value; 2361 current.value = current.value.replace(multiple ? /^\s+/ : /^[ \t]*\r?\n?/, ''); 2362 current.rightStripped = current.value !== original; 2363 } 2364 2365 // Marks the node to the left of the position as omitted. 2366 // I.e. ' '{{foo}} will mark the ' ' node as omitted. 2367 // 2368 // If i is undefined then the last child will be marked as such. 2369 // 2370 // If mulitple is truthy then all whitespace will be stripped out until non-whitespace 2371 // content is met. 2372 function omitLeft(body, i, multiple) { 2373 var current = body[i == null ? body.length - 1 : i - 1]; 2374 if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) { 2375 return; 2376 } 2377 2378 // We omit the last node if it's whitespace only and not preceeded by a non-content node. 2379 var original = current.value; 2380 current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, ''); 2381 current.leftStripped = current.value !== original; 2382 return current.leftStripped; 2383 } 2384 2385 exports['default'] = WhitespaceControl; 2386 module.exports = exports['default']; 2387 2388/***/ }, 2389/* 25 */ 2390/***/ function(module, exports, __webpack_require__) { 2391 2392 'use strict'; 2393 2394 var _interopRequireDefault = __webpack_require__(1)['default']; 2395 2396 exports.__esModule = true; 2397 2398 var _exception = __webpack_require__(6); 2399 2400 var _exception2 = _interopRequireDefault(_exception); 2401 2402 function Visitor() { 2403 this.parents = []; 2404 } 2405 2406 Visitor.prototype = { 2407 constructor: Visitor, 2408 mutating: false, 2409 2410 // Visits a given value. If mutating, will replace the value if necessary. 2411 acceptKey: function acceptKey(node, name) {
vendor: 2,004 bytes, lines 2412-2483
2412 var value = this.accept(node[name]); 2413 if (this.mutating) { 2414 // Hacky sanity check: This may have a few false positives for type for the helper 2415 // methods but will generally do the right thing without a lot of overhead. 2416 if (value && !Visitor.prototype[value.type]) { 2417 throw new _exception2['default']('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type); 2418 } 2419 node[name] = value; 2420 } 2421 }, 2422 2423 // Performs an accept operation with added sanity check to ensure 2424 // required keys are not removed. 2425 acceptRequired: function acceptRequired(node, name) { 2426 this.acceptKey(node, name); 2427 2428 if (!node[name]) { 2429 throw new _exception2['default'](node.type + ' requires ' + name); 2430 } 2431 }, 2432 2433 // Traverses a given array. If mutating, empty respnses will be removed 2434 // for child elements. 2435 acceptArray: function acceptArray(array) { 2436 for (var i = 0, l = array.length; i < l; i++) { 2437 this.acceptKey(array, i); 2438 2439 if (!array[i]) { 2440 array.splice(i, 1); 2441 i--; 2442 l--; 2443 } 2444 } 2445 }, 2446 2447 accept: function accept(object) { 2448 if (!object) { 2449 return; 2450 } 2451 2452 /* istanbul ignore next: Sanity code */ 2453 if (!this[object.type]) { 2454 throw new _exception2['default']('Unknown type: ' + object.type, object); 2455 } 2456 2457 if (this.current) { 2458 this.parents.unshift(this.current); 2459 } 2460 this.current = object; 2461 2462 var ret = this[object.type](object); 2463 2464 this.current = this.parents.shift(); 2465 2466 if (!this.mutating || ret) { 2467 return ret; 2468 } else if (ret !== false) { 2469 return object; 2470 } 2471 }, 2472 2473 Program: function Program(program) { 2474 this.acceptArray(program.body); 2475 }, 2476 2477 MustacheStatement: visitSubExpression, 2478 Decorator: visitSubExpression, 2479 2480 BlockStatement: visitBlock, 2481 DecoratorBlock: visitBlock, 2482 2483 PartialStatement: visitPartial,
vendor: 4,150 bytes, lines 2484-2634
2484 PartialBlockStatement: function PartialBlockStatement(partial) { 2485 visitPartial.call(this, partial); 2486 2487 this.acceptKey(partial, 'program'); 2488 }, 2489 2490 ContentStatement: function ContentStatement() /* content */{}, 2491 CommentStatement: function CommentStatement() /* comment */{}, 2492 2493 SubExpression: visitSubExpression, 2494 2495 PathExpression: function PathExpression() /* path */{}, 2496 2497 StringLiteral: function StringLiteral() /* string */{}, 2498 NumberLiteral: function NumberLiteral() /* number */{}, 2499 BooleanLiteral: function BooleanLiteral() /* bool */{}, 2500 UndefinedLiteral: function UndefinedLiteral() /* literal */{}, 2501 NullLiteral: function NullLiteral() /* literal */{}, 2502 2503 Hash: function Hash(hash) { 2504 this.acceptArray(hash.pairs); 2505 }, 2506 HashPair: function HashPair(pair) { 2507 this.acceptRequired(pair, 'value'); 2508 } 2509 }; 2510 2511 function visitSubExpression(mustache) { 2512 this.acceptRequired(mustache, 'path'); 2513 this.acceptArray(mustache.params); 2514 this.acceptKey(mustache, 'hash'); 2515 } 2516 function visitBlock(block) { 2517 visitSubExpression.call(this, block); 2518 2519 this.acceptKey(block, 'program'); 2520 this.acceptKey(block, 'inverse'); 2521 } 2522 function visitPartial(partial) { 2523 this.acceptRequired(partial, 'name'); 2524 this.acceptArray(partial.params); 2525 this.acceptKey(partial, 'hash'); 2526 } 2527 2528 exports['default'] = Visitor; 2529 module.exports = exports['default']; 2530 2531/***/ }, 2532/* 26 */ 2533/***/ function(module, exports, __webpack_require__) { 2534 2535 'use strict'; 2536 2537 var _interopRequireDefault = __webpack_require__(1)['default']; 2538 2539 exports.__esModule = true; 2540 exports.SourceLocation = SourceLocation; 2541 exports.id = id; 2542 exports.stripFlags = stripFlags; 2543 exports.stripComment = stripComment; 2544 exports.preparePath = preparePath; 2545 exports.prepareMustache = prepareMustache; 2546 exports.prepareRawBlock = prepareRawBlock; 2547 exports.prepareBlock = prepareBlock; 2548 exports.prepareProgram = prepareProgram; 2549 exports.preparePartialBlock = preparePartialBlock; 2550 2551 var _exception = __webpack_require__(6); 2552 2553 var _exception2 = _interopRequireDefault(_exception); 2554 2555 function validateClose(open, close) { 2556 close = close.path ? close.path.original : close; 2557 2558 if (open.path.original !== close) { 2559 var errorNode = { loc: open.path.loc }; 2560 2561 throw new _exception2['default'](open.path.original + " doesn't match " + close, errorNode); 2562 } 2563 } 2564 2565 function SourceLocation(source, locInfo) { 2566 this.source = source; 2567 this.start = { 2568 line: locInfo.first_line, 2569 column: locInfo.first_column 2570 }; 2571 this.end = { 2572 line: locInfo.last_line, 2573 column: locInfo.last_column 2574 }; 2575 } 2576 2577 function id(token) { 2578 if (/^\[.*\]$/.test(token)) { 2579 return token.substr(1, token.length - 2); 2580 } else { 2581 return token; 2582 } 2583 } 2584 2585 function stripFlags(open, close) { 2586 return { 2587 open: open.charAt(2) === '~', 2588 close: close.charAt(close.length - 3) === '~' 2589 }; 2590 } 2591 2592 function stripComment(comment) { 2593 return comment.replace(/^\{\{~?\!-?-?/, '').replace(/-?-?~?\}\}$/, ''); 2594 } 2595 2596 function preparePath(data, parts, loc) { 2597 loc = this.locInfo(loc); 2598 2599 var original = data ? '@' : '', 2600 dig = [], 2601 depth = 0, 2602 depthString = ''; 2603 2604 for (var i = 0, l = parts.length; i < l; i++) { 2605 var part = parts[i].part, 2606 2607 // If we have [] syntax then we do not treat path references as operators, 2608 // i.e. foo.[this] resolves to approximately context.foo['this'] 2609 isLiteral = parts[i].original !== part; 2610 original += (parts[i].separator || '') + part; 2611 2612 if (!isLiteral && (part === '..' || part === '.' || part === 'this')) { 2613 if (dig.length > 0) { 2614 throw new _exception2['default']('Invalid path: ' + original, { loc: loc }); 2615 } else if (part === '..') { 2616 depth++; 2617 depthString += '../'; 2618 } 2619 } else { 2620 dig.push(part); 2621 } 2622 } 2623 2624 return { 2625 type: 'PathExpression', 2626 data: data, 2627 depth: depth, 2628 parts: dig, 2629 original: original, 2630 loc: loc 2631 }; 2632 } 2633 2634 function prepareMustache(path, params, hash, open, strip, locInfo) {
vendor: 1,102 bytes, lines 2635-2679
2635 // Must use charAt to support IE pre-10 2636 var escapeFlag = open.charAt(3) || open.charAt(2), 2637 escaped = escapeFlag !== '{' && escapeFlag !== '&'; 2638 2639 var decorator = /\*/.test(open); 2640 return { 2641 type: decorator ? 'Decorator' : 'MustacheStatement', 2642 path: path, 2643 params: params, 2644 hash: hash, 2645 escaped: escaped, 2646 strip: strip, 2647 loc: this.locInfo(locInfo) 2648 }; 2649 } 2650 2651 function prepareRawBlock(openRawBlock, contents, close, locInfo) { 2652 validateClose(openRawBlock, close); 2653 2654 locInfo = this.locInfo(locInfo); 2655 var program = { 2656 type: 'Program', 2657 body: contents, 2658 strip: {}, 2659 loc: locInfo 2660 }; 2661 2662 return { 2663 type: 'BlockStatement', 2664 path: openRawBlock.path, 2665 params: openRawBlock.params, 2666 hash: openRawBlock.hash, 2667 program: program, 2668 openStrip: {}, 2669 inverseStrip: {}, 2670 closeStrip: {}, 2671 loc: locInfo 2672 }; 2673 } 2674 2675 function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) { 2676 if (close && close.path) { 2677 validateClose(openBlock, close); 2678 } 2679
vendor: 5,866 bytes, lines 2680-2905
2680 var decorator = /\*/.test(openBlock.open); 2681 2682 program.blockParams = openBlock.blockParams; 2683 2684 var inverse = undefined, 2685 inverseStrip = undefined; 2686 2687 if (inverseAndProgram) { 2688 if (decorator) { 2689 throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram); 2690 } 2691 2692 if (inverseAndProgram.chain) { 2693 inverseAndProgram.program.body[0].closeStrip = close.strip; 2694 } 2695 2696 inverseStrip = inverseAndProgram.strip; 2697 inverse = inverseAndProgram.program; 2698 } 2699 2700 if (inverted) { 2701 inverted = inverse; 2702 inverse = program; 2703 program = inverted; 2704 } 2705 2706 return { 2707 type: decorator ? 'DecoratorBlock' : 'BlockStatement', 2708 path: openBlock.path, 2709 params: openBlock.params, 2710 hash: openBlock.hash, 2711 program: program, 2712 inverse: inverse, 2713 openStrip: openBlock.strip, 2714 inverseStrip: inverseStrip, 2715 closeStrip: close && close.strip, 2716 loc: this.locInfo(locInfo) 2717 }; 2718 } 2719 2720 function prepareProgram(statements, loc) { 2721 if (!loc && statements.length) { 2722 var firstLoc = statements[0].loc, 2723 lastLoc = statements[statements.length - 1].loc; 2724 2725 /* istanbul ignore else */ 2726 if (firstLoc && lastLoc) { 2727 loc = { 2728 source: firstLoc.source, 2729 start: { 2730 line: firstLoc.start.line, 2731 column: firstLoc.start.column 2732 }, 2733 end: { 2734 line: lastLoc.end.line, 2735 column: lastLoc.end.column 2736 } 2737 }; 2738 } 2739 } 2740 2741 return { 2742 type: 'Program', 2743 body: statements, 2744 strip: {}, 2745 loc: loc 2746 }; 2747 } 2748 2749 function preparePartialBlock(open, program, close, locInfo) { 2750 validateClose(open, close); 2751 2752 return { 2753 type: 'PartialBlockStatement', 2754 name: open.path, 2755 params: open.params, 2756 hash: open.hash, 2757 program: program, 2758 openStrip: open.strip, 2759 closeStrip: close && close.strip, 2760 loc: this.locInfo(locInfo) 2761 }; 2762 } 2763 2764/***/ }, 2765/* 27 */ 2766/***/ function(module, exports, __webpack_require__) { 2767 2768 /* eslint-disable new-cap */ 2769 2770 'use strict'; 2771 2772 var _interopRequireDefault = __webpack_require__(1)['default']; 2773 2774 exports.__esModule = true; 2775 exports.Compiler = Compiler; 2776 exports.precompile = precompile; 2777 exports.compile = compile; 2778 2779 var _exception = __webpack_require__(6); 2780 2781 var _exception2 = _interopRequireDefault(_exception); 2782 2783 var _utils = __webpack_require__(5); 2784 2785 var _ast = __webpack_require__(21); 2786 2787 var _ast2 = _interopRequireDefault(_ast); 2788 2789 var slice = [].slice; 2790 2791 function Compiler() {} 2792 2793 // the foundHelper register will disambiguate helper lookup from finding a 2794 // function in a context. This is necessary for mustache compatibility, which 2795 // requires that context functions in blocks are evaluated by blockHelperMissing, 2796 // and then proceed as if the resulting value was provided to blockHelperMissing. 2797 2798 Compiler.prototype = { 2799 compiler: Compiler, 2800 2801 equals: function equals(other) { 2802 var len = this.opcodes.length; 2803 if (other.opcodes.length !== len) { 2804 return false; 2805 } 2806 2807 for (var i = 0; i < len; i++) { 2808 var opcode = this.opcodes[i], 2809 otherOpcode = other.opcodes[i]; 2810 if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) { 2811 return false; 2812 } 2813 } 2814 2815 // We know that length is the same between the two arrays because they are directly tied 2816 // to the opcode behavior above. 2817 len = this.children.length; 2818 for (var i = 0; i < len; i++) { 2819 if (!this.children[i].equals(other.children[i])) { 2820 return false; 2821 } 2822 } 2823 2824 return true; 2825 }, 2826 2827 guid: 0, 2828 2829 compile: function compile(program, options) { 2830 this.sourceNode = []; 2831 this.opcodes = []; 2832 this.children = []; 2833 this.options = options; 2834 this.stringParams = options.stringParams; 2835 this.trackIds = options.trackIds; 2836 2837 options.blockParams = options.blockParams || []; 2838 2839 // These changes will propagate to the other compiler components 2840 var knownHelpers = options.knownHelpers; 2841 options.knownHelpers = { 2842 'helperMissing': true, 2843 'blockHelperMissing': true, 2844 'each': true, 2845 'if': true, 2846 'unless': true, 2847 'with': true, 2848 'log': true, 2849 'lookup': true 2850 }; 2851 if (knownHelpers) { 2852 for (var _name in knownHelpers) { 2853 /* istanbul ignore else */ 2854 if (_name in knownHelpers) { 2855 options.knownHelpers[_name] = knownHelpers[_name]; 2856 } 2857 } 2858 } 2859 2860 return this.accept(program); 2861 }, 2862 2863 compileProgram: function compileProgram(program) { 2864 var childCompiler = new this.compiler(), 2865 // eslint-disable-line new-cap 2866 result = childCompiler.compile(program, this.options), 2867 guid = this.guid++; 2868 2869 this.usePartial = this.usePartial || result.usePartial; 2870 2871 this.children[guid] = result; 2872 this.useDepths = this.useDepths || result.useDepths; 2873 2874 return guid; 2875 }, 2876 2877 accept: function accept(node) { 2878 /* istanbul ignore next: Sanity code */ 2879 if (!this[node.type]) { 2880 throw new _exception2['default']('Unknown type: ' + node.type, node); 2881 } 2882 2883 this.sourceNode.unshift(node); 2884 var ret = this[node.type](node); 2885 this.sourceNode.shift(); 2886 return ret; 2887 }, 2888 2889 Program: function Program(program) { 2890 this.options.blockParams.unshift(program.blockParams); 2891 2892 var body = program.body, 2893 bodyLength = body.length; 2894 for (var i = 0; i < bodyLength; i++) { 2895 this.accept(body[i]); 2896 } 2897 2898 this.options.blockParams.shift(); 2899 2900 this.isSimple = bodyLength === 1; 2901 this.blockParams = program.blockParams ? program.blockParams.length : 0; 2902 2903 return this; 2904 }, 2905
vendor: 12,706 bytes, lines 2906-3316
2906 BlockStatement: function BlockStatement(block) { 2907 transformLiteralToPath(block); 2908 2909 var program = block.program, 2910 inverse = block.inverse; 2911 2912 program = program && this.compileProgram(program); 2913 inverse = inverse && this.compileProgram(inverse); 2914 2915 var type = this.classifySexpr(block); 2916 2917 if (type === 'helper') { 2918 this.helperSexpr(block, program, inverse); 2919 } else if (type === 'simple') { 2920 this.simpleSexpr(block); 2921 2922 // now that the simple mustache is resolved, we need to 2923 // evaluate it by executing `blockHelperMissing` 2924 this.opcode('pushProgram', program); 2925 this.opcode('pushProgram', inverse); 2926 this.opcode('emptyHash'); 2927 this.opcode('blockValue', block.path.original); 2928 } else { 2929 this.ambiguousSexpr(block, program, inverse); 2930 2931 // now that the simple mustache is resolved, we need to 2932 // evaluate it by executing `blockHelperMissing` 2933 this.opcode('pushProgram', program); 2934 this.opcode('pushProgram', inverse); 2935 this.opcode('emptyHash'); 2936 this.opcode('ambiguousBlockValue'); 2937 } 2938 2939 this.opcode('append'); 2940 }, 2941 2942 DecoratorBlock: function DecoratorBlock(decorator) { 2943 var program = decorator.program && this.compileProgram(decorator.program); 2944 var params = this.setupFullMustacheParams(decorator, program, undefined), 2945 path = decorator.path; 2946 2947 this.useDecorators = true; 2948 this.opcode('registerDecorator', params.length, path.original); 2949 }, 2950 2951 PartialStatement: function PartialStatement(partial) { 2952 this.usePartial = true; 2953 2954 var program = partial.program; 2955 if (program) { 2956 program = this.compileProgram(partial.program); 2957 } 2958 2959 var params = partial.params; 2960 if (params.length > 1) { 2961 throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial); 2962 } else if (!params.length) { 2963 if (this.options.explicitPartialContext) { 2964 this.opcode('pushLiteral', 'undefined'); 2965 } else { 2966 params.push({ type: 'PathExpression', parts: [], depth: 0 }); 2967 } 2968 } 2969 2970 var partialName = partial.name.original, 2971 isDynamic = partial.name.type === 'SubExpression'; 2972 if (isDynamic) { 2973 this.accept(partial.name); 2974 } 2975 2976 this.setupFullMustacheParams(partial, program, undefined, true); 2977 2978 var indent = partial.indent || ''; 2979 if (this.options.preventIndent && indent) { 2980 this.opcode('appendContent', indent); 2981 indent = ''; 2982 } 2983 2984 this.opcode('invokePartial', isDynamic, partialName, indent); 2985 this.opcode('append'); 2986 }, 2987 PartialBlockStatement: function PartialBlockStatement(partialBlock) { 2988 this.PartialStatement(partialBlock); 2989 }, 2990 2991 MustacheStatement: function MustacheStatement(mustache) { 2992 this.SubExpression(mustache); 2993 2994 if (mustache.escaped && !this.options.noEscape) { 2995 this.opcode('appendEscaped'); 2996 } else { 2997 this.opcode('append'); 2998 } 2999 }, 3000 Decorator: function Decorator(decorator) { 3001 this.DecoratorBlock(decorator); 3002 }, 3003 3004 ContentStatement: function ContentStatement(content) { 3005 if (content.value) { 3006 this.opcode('appendContent', content.value); 3007 } 3008 }, 3009 3010 CommentStatement: function CommentStatement() {}, 3011 3012 SubExpression: function SubExpression(sexpr) { 3013 transformLiteralToPath(sexpr); 3014 var type = this.classifySexpr(sexpr); 3015 3016 if (type === 'simple') { 3017 this.simpleSexpr(sexpr); 3018 } else if (type === 'helper') { 3019 this.helperSexpr(sexpr); 3020 } else { 3021 this.ambiguousSexpr(sexpr); 3022 } 3023 }, 3024 ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) { 3025 var path = sexpr.path, 3026 name = path.parts[0], 3027 isBlock = program != null || inverse != null; 3028 3029 this.opcode('getContext', path.depth); 3030 3031 this.opcode('pushProgram', program); 3032 this.opcode('pushProgram', inverse); 3033 3034 path.strict = true; 3035 this.accept(path); 3036 3037 this.opcode('invokeAmbiguous', name, isBlock); 3038 }, 3039 3040 simpleSexpr: function simpleSexpr(sexpr) { 3041 var path = sexpr.path; 3042 path.strict = true; 3043 this.accept(path); 3044 this.opcode('resolvePossibleLambda'); 3045 }, 3046 3047 helperSexpr: function helperSexpr(sexpr, program, inverse) { 3048 var params = this.setupFullMustacheParams(sexpr, program, inverse), 3049 path = sexpr.path, 3050 name = path.parts[0]; 3051 3052 if (this.options.knownHelpers[name]) { 3053 this.opcode('invokeKnownHelper', params.length, name); 3054 } else if (this.options.knownHelpersOnly) { 3055 throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr); 3056 } else { 3057 path.strict = true; 3058 path.falsy = true; 3059 3060 this.accept(path); 3061 this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path)); 3062 } 3063 }, 3064 3065 PathExpression: function PathExpression(path) { 3066 this.addDepth(path.depth); 3067 this.opcode('getContext', path.depth); 3068 3069 var name = path.parts[0], 3070 scoped = _ast2['default'].helpers.scopedId(path), 3071 blockParamId = !path.depth && !scoped && this.blockParamIndex(name); 3072 3073 if (blockParamId) { 3074 this.opcode('lookupBlockParam', blockParamId, path.parts); 3075 } else if (!name) { 3076 // Context reference, i.e. `{{foo .}}` or `{{foo ..}}` 3077 this.opcode('pushContext'); 3078 } else if (path.data) { 3079 this.options.data = true; 3080 this.opcode('lookupData', path.depth, path.parts, path.strict); 3081 } else { 3082 this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped); 3083 } 3084 }, 3085 3086 StringLiteral: function StringLiteral(string) { 3087 this.opcode('pushString', string.value); 3088 }, 3089 3090 NumberLiteral: function NumberLiteral(number) { 3091 this.opcode('pushLiteral', number.value); 3092 }, 3093 3094 BooleanLiteral: function BooleanLiteral(bool) { 3095 this.opcode('pushLiteral', bool.value); 3096 }, 3097 3098 UndefinedLiteral: function UndefinedLiteral() { 3099 this.opcode('pushLiteral', 'undefined'); 3100 }, 3101 3102 NullLiteral: function NullLiteral() { 3103 this.opcode('pushLiteral', 'null'); 3104 }, 3105 3106 Hash: function Hash(hash) { 3107 var pairs = hash.pairs, 3108 i = 0, 3109 l = pairs.length; 3110 3111 this.opcode('pushHash'); 3112 3113 for (; i < l; i++) { 3114 this.pushParam(pairs[i].value); 3115 } 3116 while (i--) { 3117 this.opcode('assignToHash', pairs[i].key); 3118 } 3119 this.opcode('popHash'); 3120 }, 3121 3122 // HELPERS 3123 opcode: function opcode(name) { 3124 this.opcodes.push({ opcode: name, args: slice.call(arguments, 1), loc: this.sourceNode[0].loc }); 3125 }, 3126 3127 addDepth: function addDepth(depth) { 3128 if (!depth) { 3129 return; 3130 } 3131 3132 this.useDepths = true; 3133 }, 3134 3135 classifySexpr: function classifySexpr(sexpr) { 3136 var isSimple = _ast2['default'].helpers.simpleId(sexpr.path); 3137 3138 var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]); 3139 3140 // a mustache is an eligible helper if: 3141 // * its id is simple (a single part, not `this` or `..`) 3142 var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr); 3143 3144 // if a mustache is an eligible helper but not a definite 3145 // helper, it is ambiguous, and will be resolved in a later 3146 // pass or at runtime. 3147 var isEligible = !isBlockParam && (isHelper || isSimple); 3148 3149 // if ambiguous, we can possibly resolve the ambiguity now 3150 // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc. 3151 if (isEligible && !isHelper) { 3152 var _name2 = sexpr.path.parts[0], 3153 options = this.options; 3154 3155 if (options.knownHelpers[_name2]) { 3156 isHelper = true; 3157 } else if (options.knownHelpersOnly) { 3158 isEligible = false; 3159 } 3160 } 3161 3162 if (isHelper) { 3163 return 'helper'; 3164 } else if (isEligible) { 3165 return 'ambiguous'; 3166 } else { 3167 return 'simple'; 3168 } 3169 }, 3170 3171 pushParams: function pushParams(params) { 3172 for (var i = 0, l = params.length; i < l; i++) { 3173 this.pushParam(params[i]); 3174 } 3175 }, 3176 3177 pushParam: function pushParam(val) { 3178 var value = val.value != null ? val.value : val.original || ''; 3179 3180 if (this.stringParams) { 3181 if (value.replace) { 3182 value = value.replace(/^(\.?\.\/)*/g, '').replace(/\//g, '.'); 3183 } 3184 3185 if (val.depth) { 3186 this.addDepth(val.depth); 3187 } 3188 this.opcode('getContext', val.depth || 0); 3189 this.opcode('pushStringParam', value, val.type); 3190 3191 if (val.type === 'SubExpression') { 3192 // SubExpressions get evaluated and passed in 3193 // in string params mode. 3194 this.accept(val); 3195 } 3196 } else { 3197 if (this.trackIds) { 3198 var blockParamIndex = undefined; 3199 if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) { 3200 blockParamIndex = this.blockParamIndex(val.parts[0]); 3201 } 3202 if (blockParamIndex) { 3203 var blockParamChild = val.parts.slice(1).join('.'); 3204 this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild); 3205 } else { 3206 value = val.original || value; 3207 if (value.replace) { 3208 value = value.replace(/^this(?:\.|$)/, '').replace(/^\.\//, '').replace(/^\.$/, ''); 3209 } 3210 3211 this.opcode('pushId', val.type, value); 3212 } 3213 } 3214 this.accept(val); 3215 } 3216 }, 3217 3218 setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) { 3219 var params = sexpr.params; 3220 this.pushParams(params); 3221 3222 this.opcode('pushProgram', program); 3223 this.opcode('pushProgram', inverse); 3224 3225 if (sexpr.hash) { 3226 this.accept(sexpr.hash); 3227 } else { 3228 this.opcode('emptyHash', omitEmpty); 3229 } 3230 3231 return params; 3232 }, 3233 3234 blockParamIndex: function blockParamIndex(name) { 3235 for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) { 3236 var blockParams = this.options.blockParams[depth], 3237 param = blockParams && _utils.indexOf(blockParams, name); 3238 if (blockParams && param >= 0) { 3239 return [depth, param]; 3240 } 3241 } 3242 } 3243 }; 3244 3245 function precompile(input, options, env) { 3246 if (input == null || typeof input !== 'string' && input.type !== 'Program') { 3247 throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input); 3248 } 3249 3250 options = options || {}; 3251 if (!('data' in options)) { 3252 options.data = true; 3253 } 3254 if (options.compat) { 3255 options.useDepths = true; 3256 } 3257 3258 var ast = env.parse(input, options), 3259 environment = new env.Compiler().compile(ast, options); 3260 return new env.JavaScriptCompiler().compile(environment, options); 3261 } 3262 3263 function compile(input, options, env) { 3264 if (options === undefined) options = {}; 3265 3266 if (input == null || typeof input !== 'string' && input.type !== 'Program') { 3267 throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input); 3268 } 3269 3270 if (!('data' in options)) { 3271 options.data = true; 3272 } 3273 if (options.compat) { 3274 options.useDepths = true; 3275 } 3276 3277 var compiled = undefined; 3278 3279 function compileInput() { 3280 var ast = env.parse(input, options), 3281 environment = new env.Compiler().compile(ast, options), 3282 templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true); 3283 return env.template(templateSpec); 3284 } 3285 3286 // Template is only compiled on first use and cached after that point. 3287 function ret(context, execOptions) { 3288 if (!compiled) { 3289 compiled = compileInput(); 3290 } 3291 return compiled.call(this, context, execOptions); 3292 } 3293 ret._setup = function (setupOptions) { 3294 if (!compiled) { 3295 compiled = compileInput(); 3296 } 3297 return compiled._setup(setupOptions); 3298 }; 3299 ret._child = function (i, data, blockParams, depths) { 3300 if (!compiled) { 3301 compiled = compileInput(); 3302 } 3303 return compiled._child(i, data, blockParams, depths); 3304 }; 3305 return ret; 3306 } 3307 3308 function argEquals(a, b) { 3309 if (a === b) { 3310 return true; 3311 } 3312 3313 if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) { 3314 for (var i = 0; i < a.length; i++) { 3315 if (!argEquals(a[i], b[i])) { 3316 return false;
vendor: 8,002 bytes, lines 3317-3575
3317 } 3318 } 3319 return true; 3320 } 3321 } 3322 3323 function transformLiteralToPath(sexpr) { 3324 if (!sexpr.path.parts) { 3325 var literal = sexpr.path; 3326 // Casting to string here to make false and 0 literal values play nicely with the rest 3327 // of the system. 3328 sexpr.path = { 3329 type: 'PathExpression', 3330 data: false, 3331 depth: 0, 3332 parts: [literal.original + ''], 3333 original: literal.original + '', 3334 loc: literal.loc 3335 }; 3336 } 3337 } 3338 3339/***/ }, 3340/* 28 */ 3341/***/ function(module, exports, __webpack_require__) { 3342 3343 'use strict'; 3344 3345 var _interopRequireDefault = __webpack_require__(1)['default']; 3346 3347 exports.__esModule = true; 3348 3349 var _base = __webpack_require__(4); 3350 3351 var _exception = __webpack_require__(6); 3352 3353 var _exception2 = _interopRequireDefault(_exception); 3354 3355 var _utils = __webpack_require__(5); 3356 3357 var _codeGen = __webpack_require__(29); 3358 3359 var _codeGen2 = _interopRequireDefault(_codeGen); 3360 3361 function Literal(value) { 3362 this.value = value; 3363 } 3364 3365 function JavaScriptCompiler() {} 3366 3367 JavaScriptCompiler.prototype = { 3368 // PUBLIC API: You can override these methods in a subclass to provide 3369 // alternative compiled forms for name lookup and buffering semantics 3370 nameLookup: function nameLookup(parent, name /* , type*/) { 3371 if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) { 3372 return [parent, '.', name]; 3373 } else { 3374 return [parent, '[', JSON.stringify(name), ']']; 3375 } 3376 }, 3377 depthedLookup: function depthedLookup(name) { 3378 return [this.aliasable('container.lookup'), '(depths, "', name, '")']; 3379 }, 3380 3381 compilerInfo: function compilerInfo() { 3382 var revision = _base.COMPILER_REVISION, 3383 versions = _base.REVISION_CHANGES[revision]; 3384 return [revision, versions]; 3385 }, 3386 3387 appendToBuffer: function appendToBuffer(source, location, explicit) { 3388 // Force a source as this simplifies the merge logic. 3389 if (!_utils.isArray(source)) { 3390 source = [source]; 3391 } 3392 source = this.source.wrap(source, location); 3393 3394 if (this.environment.isSimple) { 3395 return ['return ', source, ';']; 3396 } else if (explicit) { 3397 // This is a case where the buffer operation occurs as a child of another 3398 // construct, generally braces. We have to explicitly output these buffer 3399 // operations to ensure that the emitted code goes in the correct location. 3400 return ['buffer += ', source, ';']; 3401 } else { 3402 source.appendToBuffer = true; 3403 return source; 3404 } 3405 }, 3406 3407 initializeBuffer: function initializeBuffer() { 3408 return this.quotedString(''); 3409 }, 3410 // END PUBLIC API 3411 3412 compile: function compile(environment, options, context, asObject) { 3413 this.environment = environment; 3414 this.options = options; 3415 this.stringParams = this.options.stringParams; 3416 this.trackIds = this.options.trackIds; 3417 this.precompile = !asObject; 3418 3419 this.name = this.environment.name; 3420 this.isChild = !!context; 3421 this.context = context || { 3422 decorators: [], 3423 programs: [], 3424 environments: [] 3425 }; 3426 3427 this.preamble(); 3428 3429 this.stackSlot = 0; 3430 this.stackVars = []; 3431 this.aliases = {}; 3432 this.registers = { list: [] }; 3433 this.hashes = []; 3434 this.compileStack = []; 3435 this.inlineStack = []; 3436 this.blockParams = []; 3437 3438 this.compileChildren(environment, options); 3439 3440 this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat; 3441 this.useBlockParams = this.useBlockParams || environment.useBlockParams; 3442 3443 var opcodes = environment.opcodes, 3444 opcode = undefined, 3445 firstLoc = undefined, 3446 i = undefined, 3447 l = undefined; 3448 3449 for (i = 0, l = opcodes.length; i < l; i++) { 3450 opcode = opcodes[i]; 3451 3452 this.source.currentLocation = opcode.loc; 3453 firstLoc = firstLoc || opcode.loc; 3454 this[opcode.opcode].apply(this, opcode.args); 3455 } 3456 3457 // Flush any trailing content that might be pending. 3458 this.source.currentLocation = firstLoc; 3459 this.pushSource(''); 3460 3461 /* istanbul ignore next */ 3462 if (this.stackSlot || this.inlineStack.length || this.compileStack.length) { 3463 throw new _exception2['default']('Compile completed with content left on stack'); 3464 } 3465 3466 if (!this.decorators.isEmpty()) { 3467 this.useDecorators = true; 3468 3469 this.decorators.prepend('var decorators = container.decorators;\n'); 3470 this.decorators.push('return fn;'); 3471 3472 if (asObject) { 3473 this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]); 3474 } else { 3475 this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\n'); 3476 this.decorators.push('}\n'); 3477 this.decorators = this.decorators.merge(); 3478 } 3479 } else { 3480 this.decorators = undefined; 3481 } 3482 3483 var fn = this.createFunctionContext(asObject); 3484 if (!this.isChild) { 3485 var ret = { 3486 compiler: this.compilerInfo(), 3487 main: fn 3488 }; 3489 3490 if (this.decorators) { 3491 ret.main_d = this.decorators; // eslint-disable-line camelcase 3492 ret.useDecorators = true; 3493 } 3494 3495 var _context = this.context; 3496 var programs = _context.programs; 3497 var decorators = _context.decorators; 3498 3499 for (i = 0, l = programs.length; i < l; i++) { 3500 if (programs[i]) { 3501 ret[i] = programs[i]; 3502 if (decorators[i]) { 3503 ret[i + '_d'] = decorators[i]; 3504 ret.useDecorators = true; 3505 } 3506 } 3507 } 3508 3509 if (this.environment.usePartial) { 3510 ret.usePartial = true; 3511 } 3512 if (this.options.data) { 3513 ret.useData = true; 3514 } 3515 if (this.useDepths) { 3516 ret.useDepths = true; 3517 } 3518 if (this.useBlockParams) { 3519 ret.useBlockParams = true; 3520 } 3521 if (this.options.compat) { 3522 ret.compat = true; 3523 } 3524 3525 if (!asObject) { 3526 ret.compiler = JSON.stringify(ret.compiler); 3527 3528 this.source.currentLocation = { start: { line: 1, column: 0 } }; 3529 ret = this.objectLiteral(ret); 3530 3531 if (options.srcName) { 3532 ret = ret.toStringWithSourceMap({ file: options.destName }); 3533 ret.map = ret.map && ret.map.toString(); 3534 } else { 3535 ret = ret.toString(); 3536 } 3537 } else { 3538 ret.compilerOptions = this.options; 3539 } 3540 3541 return ret; 3542 } else { 3543 return fn; 3544 } 3545 }, 3546 3547 preamble: function preamble() { 3548 // track the last context pushed into place to allow skipping the 3549 // getContext opcode when it would be a noop 3550 this.lastContext = 0; 3551 this.source = new _codeGen2['default'](this.options.srcName); 3552 this.decorators = new _codeGen2['default'](this.options.srcName); 3553 }, 3554 3555 createFunctionContext: function createFunctionContext(asObject) { 3556 var varDeclarations = ''; 3557 3558 var locals = this.stackVars.concat(this.registers.list); 3559 if (locals.length > 0) { 3560 varDeclarations += ', ' + locals.join(', '); 3561 } 3562 3563 // Generate minimizer alias mappings 3564 // 3565 // When using true SourceNodes, this will update all references to the given alias 3566 // as the source nodes are reused in situ. For the non-source node compilation mode, 3567 // aliases will not be used, but this case is already being run on the client and 3568 // we aren't concern about minimizing the template size. 3569 var aliasCount = 0; 3570 for (var alias in this.aliases) { 3571 // eslint-disable-line guard-for-in 3572 var node = this.aliases[alias]; 3573 3574 if (this.aliases.hasOwnProperty(alias) && node.children && node.referenceCount > 1) { 3575 varDeclarations += ', alias' + ++aliasCount + '=' + alias;
vendor: 4,686 bytes, lines 3576-3725
3576 node.children[0] = 'alias' + aliasCount; 3577 } 3578 } 3579 3580 var params = ['container', 'depth0', 'helpers', 'partials', 'data']; 3581 3582 if (this.useBlockParams || this.useDepths) { 3583 params.push('blockParams'); 3584 } 3585 if (this.useDepths) { 3586 params.push('depths'); 3587 } 3588 3589 // Perform a second pass over the output to merge content when possible 3590 var source = this.mergeSource(varDeclarations); 3591 3592 if (asObject) { 3593 params.push(source); 3594 3595 return Function.apply(this, params); 3596 } else { 3597 return this.source.wrap(['function(', params.join(','), ') {\n ', source, '}']); 3598 } 3599 }, 3600 mergeSource: function mergeSource(varDeclarations) { 3601 var isSimple = this.environment.isSimple, 3602 appendOnly = !this.forceBuffer, 3603 appendFirst = undefined, 3604 sourceSeen = undefined, 3605 bufferStart = undefined, 3606 bufferEnd = undefined; 3607 this.source.each(function (line) { 3608 if (line.appendToBuffer) { 3609 if (bufferStart) { 3610 line.prepend(' + '); 3611 } else { 3612 bufferStart = line; 3613 } 3614 bufferEnd = line; 3615 } else { 3616 if (bufferStart) { 3617 if (!sourceSeen) { 3618 appendFirst = true; 3619 } else { 3620 bufferStart.prepend('buffer += '); 3621 } 3622 bufferEnd.add(';'); 3623 bufferStart = bufferEnd = undefined; 3624 } 3625 3626 sourceSeen = true; 3627 if (!isSimple) { 3628 appendOnly = false; 3629 } 3630 } 3631 }); 3632 3633 if (appendOnly) { 3634 if (bufferStart) { 3635 bufferStart.prepend('return '); 3636 bufferEnd.add(';'); 3637 } else if (!sourceSeen) { 3638 this.source.push('return "";'); 3639 } 3640 } else { 3641 varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer()); 3642 3643 if (bufferStart) { 3644 bufferStart.prepend('return buffer + '); 3645 bufferEnd.add(';'); 3646 } else { 3647 this.source.push('return buffer;'); 3648 } 3649 } 3650 3651 if (varDeclarations) { 3652 this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n')); 3653 } 3654 3655 return this.source.merge(); 3656 }, 3657 3658 // [blockValue] 3659 // 3660 // On stack, before: hash, inverse, program, value 3661 // On stack, after: return value of blockHelperMissing 3662 // 3663 // The purpose of this opcode is to take a block of the form 3664 // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and 3665 // replace it on the stack with the result of properly 3666 // invoking blockHelperMissing. 3667 blockValue: function blockValue(name) { 3668 var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'), 3669 params = [this.contextName(0)]; 3670 this.setupHelperArgs(name, 0, params); 3671 3672 var blockName = this.popStack(); 3673 params.splice(1, 0, blockName); 3674 3675 this.push(this.source.functionCall(blockHelperMissing, 'call', params)); 3676 }, 3677 3678 // [ambiguousBlockValue] 3679 // 3680 // On stack, before: hash, inverse, program, value 3681 // Compiler value, before: lastHelper=value of last found helper, if any 3682 // On stack, after, if no lastHelper: same as [blockValue] 3683 // On stack, after, if lastHelper: value 3684 ambiguousBlockValue: function ambiguousBlockValue() { 3685 // We're being a bit cheeky and reusing the options value from the prior exec 3686 var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'), 3687 params = [this.contextName(0)]; 3688 this.setupHelperArgs('', 0, params, true); 3689 3690 this.flushInline(); 3691 3692 var current = this.topStack(); 3693 params.splice(1, 0, current); 3694 3695 this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']); 3696 }, 3697 3698 // [appendContent] 3699 // 3700 // On stack, before: ... 3701 // On stack, after: ... 3702 // 3703 // Appends the string value of `content` to the current buffer 3704 appendContent: function appendContent(content) { 3705 if (this.pendingContent) { 3706 content = this.pendingContent + content; 3707 } else { 3708 this.pendingLocation = this.source.currentLocation; 3709 } 3710 3711 this.pendingContent = content; 3712 }, 3713 3714 // [append] 3715 // 3716 // On stack, before: value, ... 3717 // On stack, after: ... 3718 // 3719 // Coerces `value` to a String and appends it to the current buffer. 3720 // 3721 // If `value` is truthy, or 0, it is coerced into a string and appended 3722 // Otherwise, the empty string is appended 3723 append: function append() { 3724 if (this.isInline()) { 3725 this.replaceStack(function (current) {
vendor: 16,581 bytes, lines 3726-4249
3726 return [' != null ? ', current, ' : ""']; 3727 }); 3728 3729 this.pushSource(this.appendToBuffer(this.popStack())); 3730 } else { 3731 var local = this.popStack(); 3732 this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']); 3733 if (this.environment.isSimple) { 3734 this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']); 3735 } 3736 } 3737 }, 3738 3739 // [appendEscaped] 3740 // 3741 // On stack, before: value, ... 3742 // On stack, after: ... 3743 // 3744 // Escape `value` and append it to the buffer 3745 appendEscaped: function appendEscaped() { 3746 this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')'])); 3747 }, 3748 3749 // [getContext] 3750 // 3751 // On stack, before: ... 3752 // On stack, after: ... 3753 // Compiler value, after: lastContext=depth 3754 // 3755 // Set the value of the `lastContext` compiler value to the depth 3756 getContext: function getContext(depth) { 3757 this.lastContext = depth; 3758 }, 3759 3760 // [pushContext] 3761 // 3762 // On stack, before: ... 3763 // On stack, after: currentContext, ... 3764 // 3765 // Pushes the value of the current context onto the stack. 3766 pushContext: function pushContext() { 3767 this.pushStackLiteral(this.contextName(this.lastContext)); 3768 }, 3769 3770 // [lookupOnContext] 3771 // 3772 // On stack, before: ... 3773 // On stack, after: currentContext[name], ... 3774 // 3775 // Looks up the value of `name` on the current context and pushes 3776 // it onto the stack. 3777 lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) { 3778 var i = 0; 3779 3780 if (!scoped && this.options.compat && !this.lastContext) { 3781 // The depthed query is expected to handle the undefined logic for the root level that 3782 // is implemented below, so we evaluate that directly in compat mode 3783 this.push(this.depthedLookup(parts[i++])); 3784 } else { 3785 this.pushContext(); 3786 } 3787 3788 this.resolvePath('context', parts, i, falsy, strict); 3789 }, 3790 3791 // [lookupBlockParam] 3792 // 3793 // On stack, before: ... 3794 // On stack, after: blockParam[name], ... 3795 // 3796 // Looks up the value of `parts` on the given block param and pushes 3797 // it onto the stack. 3798 lookupBlockParam: function lookupBlockParam(blockParamId, parts) { 3799 this.useBlockParams = true; 3800 3801 this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']); 3802 this.resolvePath('context', parts, 1); 3803 }, 3804 3805 // [lookupData] 3806 // 3807 // On stack, before: ... 3808 // On stack, after: data, ... 3809 // 3810 // Push the data lookup operator 3811 lookupData: function lookupData(depth, parts, strict) { 3812 if (!depth) { 3813 this.pushStackLiteral('data'); 3814 } else { 3815 this.pushStackLiteral('container.data(data, ' + depth + ')'); 3816 } 3817 3818 this.resolvePath('data', parts, 0, true, strict); 3819 }, 3820 3821 resolvePath: function resolvePath(type, parts, i, falsy, strict) { 3822 // istanbul ignore next 3823 3824 var _this = this; 3825 3826 if (this.options.strict || this.options.assumeObjects) { 3827 this.push(strictLookup(this.options.strict && strict, this, parts, type)); 3828 return; 3829 } 3830 3831 var len = parts.length; 3832 for (; i < len; i++) { 3833 /* eslint-disable no-loop-func */ 3834 this.replaceStack(function (current) { 3835 var lookup = _this.nameLookup(current, parts[i], type); 3836 // We want to ensure that zero and false are handled properly if the context (falsy flag) 3837 // needs to have the special handling for these values. 3838 if (!falsy) { 3839 return [' != null ? ', lookup, ' : ', current]; 3840 } else { 3841 // Otherwise we can use generic falsy handling 3842 return [' && ', lookup]; 3843 } 3844 }); 3845 /* eslint-enable no-loop-func */ 3846 } 3847 }, 3848 3849 // [resolvePossibleLambda] 3850 // 3851 // On stack, before: value, ... 3852 // On stack, after: resolved value, ... 3853 // 3854 // If the `value` is a lambda, replace it on the stack by 3855 // the return value of the lambda 3856 resolvePossibleLambda: function resolvePossibleLambda() { 3857 this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']); 3858 }, 3859 3860 // [pushStringParam] 3861 // 3862 // On stack, before: ... 3863 // On stack, after: string, currentContext, ... 3864 // 3865 // This opcode is designed for use in string mode, which 3866 // provides the string value of a parameter along with its 3867 // depth rather than resolving it immediately. 3868 pushStringParam: function pushStringParam(string, type) { 3869 this.pushContext(); 3870 this.pushString(type); 3871 3872 // If it's a subexpression, the string result 3873 // will be pushed after this opcode. 3874 if (type !== 'SubExpression') { 3875 if (typeof string === 'string') { 3876 this.pushString(string); 3877 } else { 3878 this.pushStackLiteral(string); 3879 } 3880 } 3881 }, 3882 3883 emptyHash: function emptyHash(omitEmpty) { 3884 if (this.trackIds) { 3885 this.push('{}'); // hashIds 3886 } 3887 if (this.stringParams) { 3888 this.push('{}'); // hashContexts 3889 this.push('{}'); // hashTypes 3890 } 3891 this.pushStackLiteral(omitEmpty ? 'undefined' : '{}'); 3892 }, 3893 pushHash: function pushHash() { 3894 if (this.hash) { 3895 this.hashes.push(this.hash); 3896 } 3897 this.hash = { values: [], types: [], contexts: [], ids: [] }; 3898 }, 3899 popHash: function popHash() { 3900 var hash = this.hash; 3901 this.hash = this.hashes.pop(); 3902 3903 if (this.trackIds) { 3904 this.push(this.objectLiteral(hash.ids)); 3905 } 3906 if (this.stringParams) { 3907 this.push(this.objectLiteral(hash.contexts)); 3908 this.push(this.objectLiteral(hash.types)); 3909 } 3910 3911 this.push(this.objectLiteral(hash.values)); 3912 }, 3913 3914 // [pushString] 3915 // 3916 // On stack, before: ... 3917 // On stack, after: quotedString(string), ... 3918 // 3919 // Push a quoted version of `string` onto the stack 3920 pushString: function pushString(string) { 3921 this.pushStackLiteral(this.quotedString(string)); 3922 }, 3923 3924 // [pushLiteral] 3925 // 3926 // On stack, before: ... 3927 // On stack, after: value, ... 3928 // 3929 // Pushes a value onto the stack. This operation prevents 3930 // the compiler from creating a temporary variable to hold 3931 // it. 3932 pushLiteral: function pushLiteral(value) { 3933 this.pushStackLiteral(value); 3934 }, 3935 3936 // [pushProgram] 3937 // 3938 // On stack, before: ... 3939 // On stack, after: program(guid), ... 3940 // 3941 // Push a program expression onto the stack. This takes 3942 // a compile-time guid and converts it into a runtime-accessible 3943 // expression. 3944 pushProgram: function pushProgram(guid) { 3945 if (guid != null) { 3946 this.pushStackLiteral(this.programExpression(guid)); 3947 } else { 3948 this.pushStackLiteral(null); 3949 } 3950 }, 3951 3952 // [registerDecorator] 3953 // 3954 // On stack, before: hash, program, params..., ... 3955 // On stack, after: ... 3956 // 3957 // Pops off the decorator's parameters, invokes the decorator, 3958 // and inserts the decorator into the decorators list. 3959 registerDecorator: function registerDecorator(paramSize, name) { 3960 var foundDecorator = this.nameLookup('decorators', name, 'decorator'), 3961 options = this.setupHelperArgs(name, paramSize); 3962 3963 this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']); 3964 }, 3965 3966 // [invokeHelper] 3967 // 3968 // On stack, before: hash, inverse, program, params..., ... 3969 // On stack, after: result of helper invocation 3970 // 3971 // Pops off the helper's parameters, invokes the helper, 3972 // and pushes the helper's return value onto the stack. 3973 // 3974 // If the helper is not found, `helperMissing` is called. 3975 invokeHelper: function invokeHelper(paramSize, name, isSimple) { 3976 var nonHelper = this.popStack(), 3977 helper = this.setupHelper(paramSize, name), 3978 simple = isSimple ? [helper.name, ' || '] : ''; 3979 3980 var lookup = ['('].concat(simple, nonHelper); 3981 if (!this.options.strict) { 3982 lookup.push(' || ', this.aliasable('helpers.helperMissing')); 3983 } 3984 lookup.push(')'); 3985 3986 this.push(this.source.functionCall(lookup, 'call', helper.callParams)); 3987 }, 3988 3989 // [invokeKnownHelper] 3990 // 3991 // On stack, before: hash, inverse, program, params..., ... 3992 // On stack, after: result of helper invocation 3993 // 3994 // This operation is used when the helper is known to exist, 3995 // so a `helperMissing` fallback is not required. 3996 invokeKnownHelper: function invokeKnownHelper(paramSize, name) { 3997 var helper = this.setupHelper(paramSize, name); 3998 this.push(this.source.functionCall(helper.name, 'call', helper.callParams)); 3999 }, 4000 4001 // [invokeAmbiguous] 4002 // 4003 // On stack, before: hash, inverse, program, params..., ... 4004 // On stack, after: result of disambiguation 4005 // 4006 // This operation is used when an expression like `{{foo}}` 4007 // is provided, but we don't know at compile-time whether it 4008 // is a helper or a path. 4009 // 4010 // This operation emits more code than the other options, 4011 // and can be avoided by passing the `knownHelpers` and 4012 // `knownHelpersOnly` flags at compile-time. 4013 invokeAmbiguous: function invokeAmbiguous(name, helperCall) { 4014 this.useRegister('helper'); 4015 4016 var nonHelper = this.popStack(); 4017 4018 this.emptyHash(); 4019 var helper = this.setupHelper(0, name, helperCall); 4020 4021 var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper'); 4022 4023 var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')']; 4024 if (!this.options.strict) { 4025 lookup[0] = '(helper = '; 4026 lookup.push(' != null ? helper : ', this.aliasable('helpers.helperMissing')); 4027 } 4028 4029 this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']); 4030 }, 4031 4032 // [invokePartial] 4033 // 4034 // On stack, before: context, ... 4035 // On stack after: result of partial invocation 4036 // 4037 // This operation pops off a context, invokes a partial with that context, 4038 // and pushes the result of the invocation back. 4039 invokePartial: function invokePartial(isDynamic, name, indent) { 4040 var params = [], 4041 options = this.setupParams(name, 1, params); 4042 4043 if (isDynamic) { 4044 name = this.popStack(); 4045 delete options.name; 4046 } 4047 4048 if (indent) { 4049 options.indent = JSON.stringify(indent); 4050 } 4051 options.helpers = 'helpers'; 4052 options.partials = 'partials'; 4053 options.decorators = 'container.decorators'; 4054 4055 if (!isDynamic) { 4056 params.unshift(this.nameLookup('partials', name, 'partial')); 4057 } else { 4058 params.unshift(name); 4059 } 4060 4061 if (this.options.compat) { 4062 options.depths = 'depths'; 4063 } 4064 options = this.objectLiteral(options); 4065 params.push(options); 4066 4067 this.push(this.source.functionCall('container.invokePartial', '', params)); 4068 }, 4069 4070 // [assignToHash] 4071 // 4072 // On stack, before: value, ..., hash, ... 4073 // On stack, after: ..., hash, ... 4074 // 4075 // Pops a value off the stack and assigns it to the current hash 4076 assignToHash: function assignToHash(key) { 4077 var value = this.popStack(), 4078 context = undefined, 4079 type = undefined, 4080 id = undefined; 4081 4082 if (this.trackIds) { 4083 id = this.popStack(); 4084 } 4085 if (this.stringParams) { 4086 type = this.popStack(); 4087 context = this.popStack(); 4088 } 4089 4090 var hash = this.hash; 4091 if (context) { 4092 hash.contexts[key] = context; 4093 } 4094 if (type) { 4095 hash.types[key] = type; 4096 } 4097 if (id) { 4098 hash.ids[key] = id; 4099 } 4100 hash.values[key] = value; 4101 }, 4102 4103 pushId: function pushId(type, name, child) { 4104 if (type === 'BlockParam') { 4105 this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : '')); 4106 } else if (type === 'PathExpression') { 4107 this.pushString(name); 4108 } else if (type === 'SubExpression') { 4109 this.pushStackLiteral('true'); 4110 } else { 4111 this.pushStackLiteral('null'); 4112 } 4113 }, 4114 4115 // HELPERS 4116 4117 compiler: JavaScriptCompiler, 4118 4119 compileChildren: function compileChildren(environment, options) { 4120 var children = environment.children, 4121 child = undefined, 4122 compiler = undefined; 4123 4124 for (var i = 0, l = children.length; i < l; i++) { 4125 child = children[i]; 4126 compiler = new this.compiler(); // eslint-disable-line new-cap 4127 4128 var index = this.matchExistingProgram(child); 4129 4130 if (index == null) { 4131 this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children 4132 index = this.context.programs.length; 4133 child.index = index; 4134 child.name = 'program' + index; 4135 this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile); 4136 this.context.decorators[index] = compiler.decorators; 4137 this.context.environments[index] = child; 4138 4139 this.useDepths = this.useDepths || compiler.useDepths; 4140 this.useBlockParams = this.useBlockParams || compiler.useBlockParams; 4141 } else { 4142 child.index = index; 4143 child.name = 'program' + index; 4144 4145 this.useDepths = this.useDepths || child.useDepths; 4146 this.useBlockParams = this.useBlockParams || child.useBlockParams; 4147 } 4148 } 4149 }, 4150 matchExistingProgram: function matchExistingProgram(child) { 4151 for (var i = 0, len = this.context.environments.length; i < len; i++) { 4152 var environment = this.context.environments[i]; 4153 if (environment && environment.equals(child)) { 4154 return i; 4155 } 4156 } 4157 }, 4158 4159 programExpression: function programExpression(guid) { 4160 var child = this.environment.children[guid], 4161 programParams = [child.index, 'data', child.blockParams]; 4162 4163 if (this.useBlockParams || this.useDepths) { 4164 programParams.push('blockParams'); 4165 } 4166 if (this.useDepths) { 4167 programParams.push('depths'); 4168 } 4169 4170 return 'container.program(' + programParams.join(', ') + ')'; 4171 }, 4172 4173 useRegister: function useRegister(name) { 4174 if (!this.registers[name]) { 4175 this.registers[name] = true; 4176 this.registers.list.push(name); 4177 } 4178 }, 4179 4180 push: function push(expr) { 4181 if (!(expr instanceof Literal)) { 4182 expr = this.source.wrap(expr); 4183 } 4184 4185 this.inlineStack.push(expr); 4186 return expr; 4187 }, 4188 4189 pushStackLiteral: function pushStackLiteral(item) { 4190 this.push(new Literal(item)); 4191 }, 4192 4193 pushSource: function pushSource(source) { 4194 if (this.pendingContent) { 4195 this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation)); 4196 this.pendingContent = undefined; 4197 } 4198 4199 if (source) { 4200 this.source.push(source); 4201 } 4202 }, 4203 4204 replaceStack: function replaceStack(callback) { 4205 var prefix = ['('], 4206 stack = undefined, 4207 createdStack = undefined, 4208 usedLiteral = undefined; 4209 4210 /* istanbul ignore next */ 4211 if (!this.isInline()) { 4212 throw new _exception2['default']('replaceStack on non-inline'); 4213 } 4214 4215 // We want to merge the inline statement into the replacement statement via ',' 4216 var top = this.popStack(true); 4217 4218 if (top instanceof Literal) { 4219 // Literals do not need to be inlined 4220 stack = [top.value]; 4221 prefix = ['(', stack]; 4222 usedLiteral = true; 4223 } else { 4224 // Get or create the current stack name for use by the inline 4225 createdStack = true; 4226 var _name = this.incrStack(); 4227 4228 prefix = ['((', this.push(_name), ' = ', top, ')']; 4229 stack = this.topStack(); 4230 } 4231 4232 var item = callback.call(this, stack); 4233 4234 if (!usedLiteral) { 4235 this.popStack(); 4236 } 4237 if (createdStack) { 4238 this.stackSlot--; 4239 } 4240 this.push(prefix.concat(item, ')')); 4241 }, 4242 4243 incrStack: function incrStack() { 4244 this.stackSlot++; 4245 if (this.stackSlot > this.stackVars.length) { 4246 this.stackVars.push('stack' + this.stackSlot); 4247 } 4248 return this.topStackName(); 4249 },
vendor: 5,785 bytes, lines 4250-4441
4250 topStackName: function topStackName() { 4251 return 'stack' + this.stackSlot; 4252 }, 4253 flushInline: function flushInline() { 4254 var inlineStack = this.inlineStack; 4255 this.inlineStack = []; 4256 for (var i = 0, len = inlineStack.length; i < len; i++) { 4257 var entry = inlineStack[i]; 4258 /* istanbul ignore if */ 4259 if (entry instanceof Literal) { 4260 this.compileStack.push(entry); 4261 } else { 4262 var stack = this.incrStack(); 4263 this.pushSource([stack, ' = ', entry, ';']); 4264 this.compileStack.push(stack); 4265 } 4266 } 4267 }, 4268 isInline: function isInline() { 4269 return this.inlineStack.length; 4270 }, 4271 4272 popStack: function popStack(wrapped) { 4273 var inline = this.isInline(), 4274 item = (inline ? this.inlineStack : this.compileStack).pop(); 4275 4276 if (!wrapped && item instanceof Literal) { 4277 return item.value; 4278 } else { 4279 if (!inline) { 4280 /* istanbul ignore next */ 4281 if (!this.stackSlot) { 4282 throw new _exception2['default']('Invalid stack pop'); 4283 } 4284 this.stackSlot--; 4285 } 4286 return item; 4287 } 4288 }, 4289 4290 topStack: function topStack() { 4291 var stack = this.isInline() ? this.inlineStack : this.compileStack, 4292 item = stack[stack.length - 1]; 4293 4294 /* istanbul ignore if */ 4295 if (item instanceof Literal) { 4296 return item.value; 4297 } else { 4298 return item; 4299 } 4300 }, 4301 4302 contextName: function contextName(context) { 4303 if (this.useDepths && context) { 4304 return 'depths[' + context + ']'; 4305 } else { 4306 return 'depth' + context; 4307 } 4308 }, 4309 4310 quotedString: function quotedString(str) { 4311 return this.source.quotedString(str); 4312 }, 4313 4314 objectLiteral: function objectLiteral(obj) { 4315 return this.source.objectLiteral(obj); 4316 }, 4317 4318 aliasable: function aliasable(name) { 4319 var ret = this.aliases[name]; 4320 if (ret) { 4321 ret.referenceCount++; 4322 return ret; 4323 } 4324 4325 ret = this.aliases[name] = this.source.wrap(name); 4326 ret.aliasable = true; 4327 ret.referenceCount = 1; 4328 4329 return ret; 4330 }, 4331 4332 setupHelper: function setupHelper(paramSize, name, blockHelper) { 4333 var params = [], 4334 paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper); 4335 var foundHelper = this.nameLookup('helpers', name, 'helper'), 4336 callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : {}'); 4337 4338 return { 4339 params: params, 4340 paramsInit: paramsInit, 4341 name: foundHelper, 4342 callParams: [callContext].concat(params) 4343 }; 4344 }, 4345 4346 setupParams: function setupParams(helper, paramSize, params) { 4347 var options = {}, 4348 contexts = [], 4349 types = [], 4350 ids = [], 4351 objectArgs = !params, 4352 param = undefined; 4353 4354 if (objectArgs) { 4355 params = []; 4356 } 4357 4358 options.name = this.quotedString(helper); 4359 options.hash = this.popStack(); 4360 4361 if (this.trackIds) { 4362 options.hashIds = this.popStack(); 4363 } 4364 if (this.stringParams) { 4365 options.hashTypes = this.popStack(); 4366 options.hashContexts = this.popStack(); 4367 } 4368 4369 var inverse = this.popStack(), 4370 program = this.popStack(); 4371 4372 // Avoid setting fn and inverse if neither are set. This allows 4373 // helpers to do a check for `if (options.fn)` 4374 if (program || inverse) { 4375 options.fn = program || 'container.noop'; 4376 options.inverse = inverse || 'container.noop'; 4377 } 4378 4379 // The parameters go on to the stack in order (making sure that they are evaluated in order) 4380 // so we need to pop them off the stack in reverse order 4381 var i = paramSize; 4382 while (i--) { 4383 param = this.popStack(); 4384 params[i] = param; 4385 4386 if (this.trackIds) { 4387 ids[i] = this.popStack(); 4388 } 4389 if (this.stringParams) { 4390 types[i] = this.popStack(); 4391 contexts[i] = this.popStack(); 4392 } 4393 } 4394 4395 if (objectArgs) { 4396 options.args = this.source.generateArray(params); 4397 } 4398 4399 if (this.trackIds) { 4400 options.ids = this.source.generateArray(ids); 4401 } 4402 if (this.stringParams) { 4403 options.types = this.source.generateArray(types); 4404 options.contexts = this.source.generateArray(contexts); 4405 } 4406 4407 if (this.options.data) { 4408 options.data = 'data'; 4409 } 4410 if (this.useBlockParams) { 4411 options.blockParams = 'blockParams'; 4412 } 4413 return options; 4414 }, 4415 4416 setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) { 4417 var options = this.setupParams(helper, paramSize, params); 4418 options = this.objectLiteral(options); 4419 if (useRegister) { 4420 this.useRegister('options'); 4421 params.push('options'); 4422 return ['options=', options]; 4423 } else if (params) { 4424 params.push(options); 4425 return ''; 4426 } else { 4427 return options; 4428 } 4429 } 4430 }; 4431 4432 (function () { 4433 var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' '); 4434 4435 var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; 4436 4437 for (var i = 0, l = reservedWords.length; i < l; i++) { 4438 compilerWords[reservedWords[i]] = true; 4439 } 4440 })(); 4441
vendor: 4,245 bytes, lines 4442-4593
4442 JavaScriptCompiler.isValidJavaScriptVariableName = function (name) { 4443 return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name); 4444 }; 4445 4446 function strictLookup(requireTerminal, compiler, parts, type) { 4447 var stack = compiler.popStack(), 4448 i = 0, 4449 len = parts.length; 4450 if (requireTerminal) { 4451 len--; 4452 } 4453 4454 for (; i < len; i++) { 4455 stack = compiler.nameLookup(stack, parts[i], type); 4456 } 4457 4458 if (requireTerminal) { 4459 return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ')']; 4460 } else { 4461 return stack; 4462 } 4463 } 4464 4465 exports['default'] = JavaScriptCompiler; 4466 module.exports = exports['default']; 4467 4468/***/ }, 4469/* 29 */ 4470/***/ function(module, exports, __webpack_require__) { 4471 4472 /* global define */ 4473 'use strict'; 4474 4475 exports.__esModule = true; 4476 4477 var _utils = __webpack_require__(5); 4478 4479 var SourceNode = undefined; 4480 4481 try { 4482 /* istanbul ignore next */ 4483 if (false) { 4484 // We don't support this in AMD environments. For these environments, we asusme that 4485 // they are running on the browser and thus have no need for the source-map library. 4486 var SourceMap = require('source-map'); 4487 SourceNode = SourceMap.SourceNode; 4488 } 4489 } catch (err) {} 4490 /* NOP */ 4491 4492 /* istanbul ignore if: tested but not covered in istanbul due to dist build */ 4493 if (!SourceNode) { 4494 SourceNode = function (line, column, srcFile, chunks) { 4495 this.src = ''; 4496 if (chunks) { 4497 this.add(chunks); 4498 } 4499 }; 4500 /* istanbul ignore next */ 4501 SourceNode.prototype = { 4502 add: function add(chunks) { 4503 if (_utils.isArray(chunks)) { 4504 chunks = chunks.join(''); 4505 } 4506 this.src += chunks; 4507 }, 4508 prepend: function prepend(chunks) { 4509 if (_utils.isArray(chunks)) { 4510 chunks = chunks.join(''); 4511 } 4512 this.src = chunks + this.src; 4513 }, 4514 toStringWithSourceMap: function toStringWithSourceMap() { 4515 return { code: this.toString() }; 4516 }, 4517 toString: function toString() { 4518 return this.src; 4519 } 4520 }; 4521 } 4522 4523 function castChunk(chunk, codeGen, loc) { 4524 if (_utils.isArray(chunk)) { 4525 var ret = []; 4526 4527 for (var i = 0, len = chunk.length; i < len; i++) { 4528 ret.push(codeGen.wrap(chunk[i], loc)); 4529 } 4530 return ret; 4531 } else if (typeof chunk === 'boolean' || typeof chunk === 'number') { 4532 // Handle primitives that the SourceNode will throw up on 4533 return chunk + ''; 4534 } 4535 return chunk; 4536 } 4537 4538 function CodeGen(srcFile) { 4539 this.srcFile = srcFile; 4540 this.source = []; 4541 } 4542 4543 CodeGen.prototype = { 4544 isEmpty: function isEmpty() { 4545 return !this.source.length; 4546 }, 4547 prepend: function prepend(source, loc) { 4548 this.source.unshift(this.wrap(source, loc)); 4549 }, 4550 push: function push(source, loc) { 4551 this.source.push(this.wrap(source, loc)); 4552 }, 4553 4554 merge: function merge() { 4555 var source = this.empty(); 4556 this.each(function (line) { 4557 source.add([' ', line, '\n']); 4558 }); 4559 return source; 4560 }, 4561 4562 each: function each(iter) { 4563 for (var i = 0, len = this.source.length; i < len; i++) { 4564 iter(this.source[i]); 4565 } 4566 }, 4567 4568 empty: function empty() { 4569 var loc = this.currentLocation || { start: {} }; 4570 return new SourceNode(loc.start.line, loc.start.column, this.srcFile); 4571 }, 4572 wrap: function wrap(chunk) { 4573 var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1]; 4574 4575 if (chunk instanceof SourceNode) { 4576 return chunk; 4577 } 4578 4579 chunk = castChunk(chunk, this, loc); 4580 4581 return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk); 4582 }, 4583 4584 functionCall: function functionCall(fn, type, params) { 4585 params = this.generateList(params); 4586 return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']); 4587 }, 4588 4589 quotedString: function quotedString(str) { 4590 return '"' + (str + '').replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 4591 .replace(/\u2029/g, '\\u2029') + '"'; 4592 }, 4593
4594 objectLiteral: function objectLiteral(obj) { 4595 var pairs = []; 4596 4597 for (var key in obj) { 4598 if (obj.hasOwnProperty(key)) { 4599 var value = castChunk(obj[key], this); 4600 if (value !== 'undefined') { 4601 pairs.push([this.quotedString(key), ':', value]); 4602 } 4603 } 4604 } 4605 4606 var ret = this.generateList(pairs); 4607 ret.prepend('{'); 4608 ret.add('}'); 4609 return ret; 4610 }, 4611 4612 generateList: function generateList(entries) { 4613 var ret = this.empty(); 4614 4615 for (var i = 0, len = entries.length; i < len; i++) { 4616 if (i) { 4617 ret.add(','); 4618 } 4619 4620 ret.add(castChunk(entries[i], this)); 4621 } 4622 4623 return ret; 4624 }, 4625 4626 generateArray: function generateArray(entries) { 4627 var ret = this.generateList(entries); 4628 ret.prepend('['); 4629 ret.add(']'); 4630 4631 return ret; 4632 } 4633 }; 4634 4635 exports['default'] = CodeGen; 4636 module.exports = exports['default']; 4637 4638/***/ } 4639/******/ ]) 4640}); 4641; 4642/** 4643 * jQuery.bottom 4644 * Dual licensed under MIT and GPL. 4645 * Date: 2010-04-25 4646 * 4647 * @description Trigger the bottom event when the user has scrolled to the bottom of an element 4648 * @author Jim Yi 4649 * @version 1.0 4650 * 4651 * @id jQuery.fn.bottom 4652 * @param {Object} settings Hash of settings. 4653 * @return {jQuery} Returns the same jQuery object for chaining. 4654 * 4655 */ 4656(function($){ 4657 $.fn.bottom = function(options) { 4658 4659 var defaults = { 4660 // how close to the scrollbar is to the bottom before triggering the event 4661 proximity: 0 4662 }; 4663 4664 var options = $.extend(defaults, options); 4665 4666 return this.each(function() { 4667 var obj = this; 4668 $(obj).bind("scroll", function() { 4669 if (obj == window) { 4670 scrollHeight = $(document).height(); 4671 } 4672 else { 4673 scrollHeight = $(obj)[0].scrollHeight; 4674 } 4675 scrollPosition = $(obj).height() + $(obj).scrollTop(); 4676 if ( (scrollHeight - scrollPosition) / scrollHeight <= options.proximity) { 4677 $(obj).trigger("bottom"); 4678 } 4679 }); 4680 4681 return false; 4682 }); 4683 }; 4684})(jQuery); 4685 4686/*! 4687 * jQuery Cookie Plugin v1.4.1 4688 * https://github.com/carhartl/jquery-cookie 4689 * 4690 * Copyright 2006, 2014 Klaus Hartl 4691 * Released under the MIT license 4692 */ 4693(function (factory) { 4694 if (typeof define === 'function' && define.amd) { 4695 // AMD 4696 define(['jquery'], factory); 4697 } else if (typeof exports === 'object') { 4698 // CommonJS 4699 factory(require('jquery')); 4700 } else { 4701 // Browser globals 4702 factory(jQuery); 4703 } 4704}(function ($) { 4705 4706 var pluses = /\+/g; 4707 4708 function encode(s) { 4709 return config.raw ? s : encodeURIComponent(s); 4710 } 4711 4712 function decode(s) { 4713 return config.raw ? s : decodeURIComponent(s); 4714 } 4715 4716 function stringifyCookieValue(value) { 4717 return encode(config.json ? JSON.stringify(value) : String(value)); 4718 } 4719 4720 function parseCookieValue(s) { 4721 if (s.indexOf('"') === 0) { 4722 // This is a quoted cookie as according to RFC2068, unescape... 4723 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 4724 } 4725 4726 try { 4727 // Replace server-side written pluses with spaces. 4728 // If we can't decode the cookie, ignore it, it's unusable. 4729 // If we can't parse the cookie, ignore it, it's unusable. 4730 s = decodeURIComponent(s.replace(pluses, ' ')); 4731 return config.json ? JSON.parse(s) : s; 4732 } catch(e) {} 4733 } 4734 4735 function read(s, converter) { 4736 var value = config.raw ? s : parseCookieValue(s); 4737 return $.isFunction(converter) ? converter(value) : value; 4738 } 4739 4740 var config = $.cookie = function (key, value, options) { 4741 4742 // Write 4743 4744 if (arguments.length > 1 && !$.isFunction(value)) { 4745 options = $.extend({}, config.defaults, options); 4746 4747 if (typeof options.expires === 'number') { 4748 var days = options.expires, t = options.expires = new Date(); 4749 t.setTime(+t + days * 864e+5); 4750 } 4751 4752 return (document.cookie = [ 4753 encode(key), '=', stringifyCookieValue(value), 4754 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 4755 options.path ? '; path=' + options.path : '', 4756 options.domain ? '; domain=' + options.domain : '', 4757 options.secure ? '; secure' : '' 4758 ].join('')); 4759 } 4760 4761 // Read 4762 4763 var result = key ? undefined : {}; 4764 4765 // To prevent the for loop in the first place assign an empty array 4766 // in case there are no cookies at all. Also prevents odd result when 4767 // calling $.cookie(). 4768 var cookies = document.cookie ? document.cookie.split('; ') : []; 4769 4770 for (var i = 0, l = cookies.length; i < l; i++) { 4771 var parts = cookies[i].split('='); 4772 var name = decode(parts.shift()); 4773 var cookie = parts.join('='); 4774 4775 if (key && key === name) { 4776 // If second argument (value) is a function it's a converter... 4777 result = read(cookie, value); 4778 break; 4779 } 4780 4781 // Prevent storing a cookie that we couldn't decode. 4782 if (!key && (cookie = read(cookie)) !== undefined) { 4783 result[name] = cookie; 4784 } 4785 } 4786 4787 return result; 4788 }; 4789 4790 config.defaults = {}; 4791 4792 $.removeCookie = function (key, options) { 4793 if ($.cookie(key) === undefined) { 4794 return false;
4795 } 4796 4797 // Must not alter options, thus extending a fresh object... 4798 $.cookie(key, '', $.extend({}, options, { expires: -1 })); 4799 return !$.cookie(key); 4800 }; 4801 4802})); 4803 4804/*! 4805* Velocity.js: Accelerated JavaScript animation. 4806* @version 0.11.2 4807* @docs http://VelocityJS.org 4808* @license Copyright 2014 Julian Shapiro. MIT License: http://en.wikipedia.org/wiki/MIT_License 4809*/ 4810!function(e){"function"==typeof define&&define.amd?window.Velocity?define(e):define(["jquery"],e):e("object"==typeof exports?window.Velocity?void 0:require("jquery"):window.jQuery)}(function(e){return function(t,r,a,o){function i(e){for(var t=-1,r=e?e.length:0,a=[];++t<r;){var o=e[t];o&&a.push(o)}return a}function n(e){var t=$.data(e,p);return null===t?o:t}function s(e){return function(t){return Math.round(t*e)*(1/e)}}function l(e,t){var r=e;return y.isString(e)?v.Easings[e]||(r=!1):r=y.isArray(e)&&1===e.length?s.apply(null,e):y.isArray(e)&&2===e.length?x.apply(null,e.concat([t])):y.isArray(e)&&4===e.length?S.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:f),r}function u(e){if(e)for(var t=(new Date).getTime(),r=0,a=v.State.calls.length;a>r;r++)if(v.State.calls[r]){var i=v.State.calls[r],s=i[0],l=i[2],p=i[3];p||(p=v.State.calls[r][3]=t-16);for(var d=Math.min((t-p)/l.duration,1),f=0,g=s.length;g>f;f++){var m=s[f],S=m.element;if(n(S)){var x=!1;l.display&&"none"!==l.display&&b.setPropertyValue(S,"display",l.display),l.visibility&&"hidden"!==l.visibility&&b.setPropertyValue(S,"visibility",l.visibility);for(var V in m)if("element"!==V){var P=m[V],w,C=y.isString(P.easing)?v.Easings[P.easing]:P.easing;if(w=1===d?P.endValue:P.startValue+(P.endValue-P.startValue)*C(d),P.currentValue=w,b.Hooks.registered[V]){var T=b.Hooks.getRoot(V),k=n(S).rootPropertyValueCache[T];k&&(P.rootPropertyValue=k)}var E=b.setPropertyValue(S,V,P.currentValue+(0===parseFloat(w)?"":P.unitType),P.rootPropertyValue,P.scrollData);b.Hooks.registered[V]&&(n(S).rootPropertyValueCache[T]=b.Normalizations.registered[T]?b.Normalizations.registered[T]("extract",null,E[1]):E[1]),"transform"===E[0]&&(x=!0)}l.mobileHA&&n(S).transformCache.translate3d===o&&(n(S).transformCache.translate3d="(0px, 0px, 0px)",x=!0),x&&b.flushTransformCache(S)}}l.display&&"none"!==l.display&&(v.State.calls[r][2].display=!1),l.visibility&&"hidden"!==l.visibility&&(v.State.calls[r][2].visibility=!1),l.progress&&l.progress.call(i[1],i[1],d,Math.max(0,p+l.duration-t),p),1===d&&c(r)}v.State.isTicking&&(v.mock?u(!0):h(u))}function c(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],a=v.State.calls[e][1],i=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||i.loop||("none"===i.display&&b.setPropertyValue(p,"display",i.display),"hidden"===i.visibility&&b.setPropertyValue(p,"visibility",i.visibility)),($.queue(p)[1]===o||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&n(p)){n(p).isAnimating=!1,n(p).rootPropertyValueCache={};var d=!1;$.each(n(p).transformCache,function(e,t){var r=/^scale/.test(e)?1:0;new RegExp("^\\("+r+"[^.]").test(t)&&(d=!0,delete n(p).transformCache[e])}),i.mobileHA&&(d=!0,delete n(p).transformCache.translate3d),d&&b.flushTransformCache(p),b.Values.removeClass(p,"velocity-animating")}if(!t&&i.complete&&!i.loop&&u===c-1)try{i.complete.call(a,a)}catch(f){setTimeout(function(){throw f},1)}s&&i.loop!==!0&&s(a),i.loop!==!0||t||v.animate(p,"reverse",{loop:!0,delay:i.delay}),i.queue!==!1&&$.dequeue(p,i.queue)}v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++)if(v.State.calls[g]!==!1){l=!0;break}l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])}var p="velocity",d=400,f="swing",g=function(){if(a.documentMode)return a.documentMode;for(var e=7;e>4;e--){var t=a.createElement("div");if(t.innerHTML="<!--[if IE "+e+"]><span></span><![endif]-->",t.getElementsByTagName("span").length)return t=null,e}return o}(),m=function(){var e=0;return r.webkitRequestAnimationFrame||r.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),h=r.requestAnimationFrame||m,y={isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return"object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==o&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||r.Zepto&&r.Zepto.zepto.isZ(e))},isSVG:function(e){return r.SVGElement&&e instanceof SVGElement},isEmptyObject:function(e){var t;for(t in e)return!1;return!0}},$;if(e&&e.fn!==o?$=e:r.Velocity&&r.Velocity.Utilities&&($=r.Velocity.Utilities),!$)throw new Error("Velocity: Either jQuery or Velocity's jQuery shim must first be loaded.");if(t.Velocity!==o&&t.Velocity.Utilities==o)throw new Error("Velocity: Namespace is occupied.");if(7>=g){if(e)return void(e.fn.velocity=e.fn.animate);throw new Error("Velocity: For IE<=7, Velocity falls back to jQuery, which must first be loaded.")}if(8===g&&!e)throw new Error("Velocity: For IE8, Velocity requires jQuery proper to be loaded; Velocity's jQuery shim does not work with IE8.");var v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:r.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:a.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,
4810calls:[]},CSS:{},Utilities:$,Sequences:{},Easings:{},Promise:r.Promise,defaults:{queue:"",duration:d,easing:f,begin:null,complete:null,progress:null,display:null,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,p,{isSVG:y.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},animate:function(){},hook:function(e,t,r){var a=o;return y.isWrapped(e)&&(e=[].slice.call(e)),$.each(y.isNode(e)?[e]:e,function(e,i){if(n(i)===o&&v.init(i),r===o)a===o&&(a=v.CSS.getPropertyValue(i,t));else{var s=v.CSS.setPropertyValue(i,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(i),a=s}}),a},mock:!1,version:{major:0,minor:11,patch:2},debug:!1};r.pageYOffset!==o?(v.State.scrollAnchor=r,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=a.documentElement||a.body.parentNode||a.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var S=function(){function e(e,t){return 1-3*t+3*e}function t(e,t){return 3*t-6*e}function r(e){return 3*e}function a(a,o,i){return((e(o,i)*a+t(o,i))*a+r(o))*a}function o(a,o,i){return 3*e(o,i)*a*a+2*t(o,i)*a+r(o)}return function(e,t,r,i){function n(t){for(var i=t,n=0;8>n;++n){var s=o(i,e,r);if(0===s)return i;var l=a(i,e,r)-t;i-=l/s}return i}if(4!==arguments.length)return!1;for(var s=0;4>s;++s)if("number"!=typeof arguments[s]||isNaN(arguments[s])||!isFinite(arguments[s]))return!1;return e=Math.min(e,1),r=Math.min(r,1),e=Math.max(e,0),r=Math.max(r,0),function(o){return e===t&&r===i?o:a(n(o),t,i)}}}(),x=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,a){var o={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:o.v,dv:e(o)}}function r(r,a){var o={dx:r.v,dv:e(r)},i=t(r,.5*a,o),n=t(r,.5*a,i),s=t(r,a,n),l=1/6*(o.dx+2*(i.dx+n.dx)+s.dx),u=1/6*(o.dv+2*(i.dv+n.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r}return function a(e,t,o){var i={x:-1,v:0,tension:null,friction:null},n=[0],s=0,l=1e-4,u=.016,c,p,d;for(e=parseFloat(e)||500,t=parseFloat(t)||20,o=o||null,i.tension=e,i.friction=t,c=null!==o,c?(s=a(e,t),p=s/o*u):p=u;;)if(d=r(d||i,p),n.push(1+d.x),s+=16,!(Math.abs(d.x)>l&&Math.abs(d.v)>l))break;return c?function(e){return n[e*(n.length-1)|0]}:s}}();!function(){v.Easings.linear=function(e){return e},v.Easings.swing=function(e){return.5-Math.cos(e*Math.PI)/2},v.Easings.spring=function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)},v.Easings.ease=S(.25,.1,.25,1),v.Easings["ease-in"]=S(.42,0,1,1),v.Easings["ease-out"]=S(0,0,.58,1),v.Easings["ease-in-out"]=S(.42,0,.58,1);var e={};$.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,r){e[r]=function(e){return Math.pow(e,t+2)}}),$.extend(e,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,r=4;e<((t=Math.pow(2,--r))-1)/11;);return 1/Math.pow(4,3-r)-7.5625*Math.pow((3*t-2)/22-e,2)}}),$.each(e,function(e,t){v.Easings["easeIn"+e]=t,v.Easings["easeOut"+e]=function(e){return 1-t(1-e)},v.Easings["easeInOut"+e]=function(e){return.5>e?t(2*e)/2:1-t(-2*e+2)/2}})}();var b=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e<b.Lists.colors.length;
vendor: 15,536 bytes, line 4810
4810e++)b.Hooks.templates[b.Lists.colors[e]]=["Red Green Blue Alpha","255 255 255 1"];var t,r,a;if(g)for(t in b.Hooks.templates){r=b.Hooks.templates[t],a=r[0].split(" ");var o=r[1].match(b.RegEx.valueSplit);"Color"===a[0]&&(a.push(a.shift()),o.push(o.shift()),b.Hooks.templates[t]=[a.join(" "),o.join(" ")])}for(t in b.Hooks.templates){r=b.Hooks.templates[t],a=r[0].split(" ");for(var e in a){var i=t+a[e],n=e;b.Hooks.registered[i]=[t,n]}}},getRoot:function(e){var t=b.Hooks.registered[e];return t?t[0]:e},cleanRootPropertyValue:function(e,t){return b.RegEx.valueUnwrap.test(t)&&(t=t.match(b.Hooks.RegEx.valueUnwrap)[1]),b.Values.isCSSNullValue(t)&&(t=b.Hooks.templates[e][1]),t},extractValue:function(e,t){var r=b.Hooks.registered[e];if(r){var a=r[0],o=r[1];return t=b.Hooks.cleanRootPropertyValue(a,t),t.toString().match(b.RegEx.valueSplit)[o]}return t},injectValue:function(e,t,r){var a=b.Hooks.registered[e];if(a){var o=a[0],i=a[1],n,s;return r=b.Hooks.cleanRootPropertyValue(o,r),n=r.toString().match(b.RegEx.valueSplit),n[i]=t,s=n.join(" ")}return r}},Normalizations:{registered:{clip:function(e,t,r){switch(e){case"name":return"clip";case"extract":var a;return b.RegEx.wrappedValueAlreadyExtracted.test(r)?a=r:(a=r.toString().match(b.RegEx.valueUnwrap),a=a?a[1].replace(/,(\s+)?/g," "):r),a;case"inject":return"rect("+r+")"}},opacity:function(e,t,r){if(8>=g)switch(e){case"name":return"filter";case"extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case"inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":return r;case"inject":return r}}},register:function(){9>=g||v.State.isGingerbread||(b.Lists.transformsBase=b.Lists.transformsBase.concat(b.Lists.transforms3D));for(var e=0;e<b.Lists.transformsBase.length;e++)!function(){var t=b.Lists.transformsBase[e];b.Normalizations.registered[t]=function(e,r,a){switch(e){case"name":return"transform";case"extract":return n(r)===o||n(r).transformCache[t]===o?/^scale/i.test(t)?1:0:n(r).transformCache[t].replace(/[()]/g,"");case"inject":var i=!1;switch(t.substr(0,t.length-1)){case"translate":i=!/(%|px|em|rem|vw|vh|\d)$/i.test(a);break;case"scal":case"scale":v.State.isAndroid&&n(r).transformCache[t]===o&&1>a&&(a=1),i=!/(\d)$/i.test(a);break;case"skew":i=!/(deg|\d)$/i.test(a);break;case"rotate":i=!/(deg|\d)$/i.test(a)}return i||(n(r).transformCache[t]="("+a+")"),n(r).transformCache[t]}}}();for(var e=0;e<b.Lists.colors.length;e++)!function(){var t=b.Lists.colors[e];b.Normalizations.registered[t]=function(e,r,a){switch(e){case"name":return t;case"extract":var i;if(b.RegEx.wrappedValueAlreadyExtracted.test(a))i=a;else{var n,s={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(a)?n=s[a]!==o?s[a]:s.black:b.RegEx.isHex.test(a)?n="rgb("+b.Values.hexToRgb(a).join(" ")+")":/^rgba?\(/i.test(a)||(n=s.black),i=(n||a).toString().match(b.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=g||3!==i.split(" ").length||(i+=" 1"),i;case"inject":return 8>=g?4===a.split(" ").length&&(a=a.split(/\s+/).slice(0,3).join(" ")):3===a.split(" ").length&&(a+=" 1"),(8>=g?"rgb":"rgba")+"("+a.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(g||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var o;if(o=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),y.isString(v.State.prefixElement.style[o]))return v.State.prefixMatches[e]=o,[o,!0]}return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,t,a,i){function s(e,t){function a(){u&&b.setPropertyValue(e,"display","none")}var l=0;if(8>=g)l=$.css(e,t);else{var u=!1;if(/^(width|height)$/.test(t)&&0===b.getPropertyValue(e,"display")&&(u=!0,b.setPropertyValue(e,"display",b.Values.getDisplayType(e))),!i){if("height"===t&&"border-box"!==b.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(b.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(b.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(b.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(b.getPropertyValue(e,"paddingBottom"))||0);return a(),c}if("width"===t&&"border-box"!==b.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(b.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(b.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(b.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(b.getPropertyValue(e,"paddingRight"))||0);return a(),p}}var d;d=n(e)===o?r.getComputedStyle(e,null):n(e).computedStyle?n(e).computedStyle:n(e).computedStyle=r.getComputedStyle(e,null),(g||v.State.isFirefox)&&"borderColor"===t&&(t="borderTopColor"),l=9===g&&"filter"===t?d.getPropertyValue(t):d[t],(""===l||null===l)&&(l=e.style[t]),a()}if("auto"===l&&/^(top|right|bottom|left)$/i.test(t)){var f=s(e,"position");("fixed"===f||"absolute"===f&&/top|left/i.test(t))&&(l=$(e).position()[t]+"px")}return l}var l;if(b.Hooks.registered[t]){var u=t,c=b.Hooks.getRoot(u);a===o&&(a=b.getPropertyValue(e,b.Names.prefixCheck(c)[0])),b.Normalizations.registered[c]&&(a=b.Normalizations.registered[c]("extract",e,a)),l=b.Hooks.extractValue(u,a)}else if(b.Normalizations.registered[t]){var p,d;p=b.Normalizations.registered[t]("name",e),"transform"!==p&&(d=s(e,b.Names.prefixCheck(p)[0]),b.Values.isCSSNullValue(d)&&b.Hooks.templates[t]&&(d=b.Hooks.templates[t][1])),l=b.Normalizations.registered[t]("extract",e,d)}return/^[\d-]/.test(l)||(l=n(e)&&n(e).isSVG&&b.Names.SVGAttribute(t)?/^(height|width)$/i.test(t)?e.getBBox()[t]:e.getAttribute(t):s(e,b.Names.prefixCheck(t)[0])),b.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+t+": "+l),l},setPropertyValue:function(e,t,a,o,i){var s=t;if("scroll"===t)i.container?i.container["scroll"+i.direction]=a:"Left"===i.direction?r.scrollTo(a,i.alternateValue):r.scrollTo(i.alternateValue,a);else if(b.Normalizations.registered[t]&&"transform"===b.Normalizations.registered[t]("name",e))b.Normalizations.registered[t]("inject",e,a),s="transform",a=n(e).transformCache[t];else{if(b.Hooks.registered[t]){var l=t,u=b.Hooks.getRoot(t);o=o||b.getPropertyValue(e,u),a=b.Hooks.injectValue(l,a,o),t=u}if(b.Normalizations.registered[t]&&(a=b.Normalizations.registered[t]("inject",e,a),t=b.Normalizations.registered[t]("name",e)),s=b.Names.prefixCheck(t)[0],8>=g)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else n(e)&&n(e).isSVG&&b.Names.SVGAttribute(t)?e.setAttribute(t,a):e.style[s]=a;v.debug>=2&&console.log("Set "+t+" ("+s+"): "+a)}return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(b.getPropertyValue(e,t))}var r="";if((g||v.State.isAndroid&&!v.State.isChrome)&&n(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(n(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var o,i;$.each(n(e).transformCache,function(t){return o=n(e).transformCache[t],"transformPerspective"===t?(i=o,!0):(9===g&&"rotateZ"===t&&(t="rotate"),void(r+=t+o+" "))}),i&&(r="perspective"+i+" "+r)}b.setPropertyValue(e,"transform",r)}};b.Hooks.register(),b.Normalizations.register(),v.animate=function(){function e(){return p?C.promise||null:f}function t(){function e(e){function d(e,r){var a=o,i=o,n=o;return y.isArray(e)?(a=e[0],!y.isArray(e[1])&&/^[\d-]/.test(e[1])||y.isFunction(e[1])||b.RegEx.isHex.test(e[1])?n=e[1]:(y.isString(e[1])&&!b.RegEx.isHex.test(e[1])||y.isArray(e[1]))&&(i=r?e[1]:l(e[1],s.duration),e[2]!==o&&(n=e[2]))):a=e,r||(i=i||s.easing),y.isFunction(a)&&(a=a.call(t,V,x)),y.isFunction(n)&&(n=n.call(t,V,x)),[a||0,i,n]}function f(e,t){var r,a;return a=(t||0).toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=b.Values.getUnitType(e)),[a,r]}function g(){var e={myParent:t.parentNode||a.body,position:b.getPropertyValue(t,"position"),fontSize:b.getPropertyValue(t,"fontSize")},o=e.position===N.lastPosition&&e.myParent===N.lastParent,i=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(i&&o)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=n(t).isSVG?a.createElementNS("http://www.w3.org/2000/svg","rect"):a.createElement("div");v.init(u),e.myParent.appendChild(u),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"overflow","hidden"),v.CSS.setPropertyValue(u,"overflowX","hidden"),v.CSS.setPropertyValue(u,"overflowY","hidden"),v.CSS.setPropertyValue(u,"boxSizing","content-box"),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),v.CSS.setPropertyValue(u,"minWidth",s+"%"),v.CSS.setPropertyValue(u,"maxWidth",s+"%"),v.CSS.setPropertyValue(u,"width",s+"%"),v.CSS.setPropertyValue(u,"minHeight",s+"%"),v.CSS.setPropertyValue(u,"maxHeight",s+"%"),v.CSS.setPropertyValue(u,"height",s+"%"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(b.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(b.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(b.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)}return null===N.remToPx&&(N.remToPx=parseFloat(b.getPropertyValue(a.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(r.innerWidth)/100,N.vhToPx=parseFloat(r.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),t),l}if(s.begin&&0===V)try{s.begin.call(m,m)}catch(P){setTimeout(function(){throw P},1)}if("scroll"===T){var w=/^x$/i.test(s.axis)?"Left":"Top",k=parseFloat(s.offset)||0,E,F,A;s.container?y.isWrapped(s.container)||y.isNode(s.container)?(s.container=s.container[0]||s.container,E=s.container["scroll"+w],A=E+$(t).position()[w.toLowerCase()]+k):s.container=null:(E=v.State.scrollAnchor[v.State["scrollProperty"+w]],F=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===w?"Top":"Left")]],A=$(t).offset()[w.toLowerCase()]+k),c={scroll:{rootPropertyValue:!1,startValue:E,currentValue:E,endValue:A,unitType:"",easing:s.easing,scrollData:{container:s.container,direction:w,alternateValue:F}},element:t},v.debug&&console.log("tweensContainer (scroll): ",c.scroll,t)}else if("reverse"===T){if(!n(t).tweensContainer)return void $.dequeue(t,s.queue);"none"===n(t).opts.display&&(n(t).opts.display="block"),"hidden"===n(t).opts.visibility&&(n(t).opts.visibility="visible"),n(t).opts.loop=!1,n(t).opts.begin=null,n(t).opts.complete=null,S.easing||delete s.easing,S.duration||delete s.duration,s=$.extend({},n(t).opts,s);var j=$.extend(!0,{},n(t).tweensContainer);for(var L in j)if("element"!==L){var z=j[L].startValue;j[L].startValue=j[L].currentValue=j[L].endValue,j[L].endValue=z,y.isEmptyObject(S)||(j[L].easing=s.easing),v.debug&&console.log("reverse tweensContainer ("+L+"): "+JSON.stringify(j[L]),t)}c=j}else if("start"===T){var j;n(t).tweensContainer&&n(t).isAnimating===!0&&(j=n(t).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+b.Lists.colors.join("$|^")+"$").test(e)){var r=d(t,!0),a=r[0],i=r[1],n=r[2];if(b.RegEx.isHex.test(a)){for(var s=["Red","Green","Blue"],l=b.Values.hexToRgb(a),u=n?b.Values.hexToRgb(n):o,c=0;c<s.length;c++)h[e+s[c]]=[l[c],i,u?u[c]:u];delete h[e]}}});for(var M in h){var R=d(h[M]),q=R[0],B=R[1],O=R[2];M=b.Names.camelCase(M);var W=b.Hooks.getRoot(M),X=!1;if(n(t).isSVG||b.Names.prefixCheck(W)[1]!==!1||b.Normalizations.registered[W]!==o){(s.display&&"none"!==s.display||s.visibility&&"hidden"!==s.visibility)&&/opacity|filter/.test(M)&&!O&&0!==q&&(O=0),s._cacheValues&&j&&j[M]?(O===o&&(O=j[M].endValue+j[M].unitType),X=n(t).rootPropertyValueCache[W]):b.Hooks.registered[M]?O===o?(X=b.getPropertyValue(t,W),O=b.getPropertyValue(t,M,X)):X=b.Hooks.templates[W][1]:O===o&&(O=b.getPropertyValue(t,M));var Y,G,I,U=!1;if(Y=f(M,O),O=Y[0],I=Y[1],Y=f(M,q),q=Y[0].replace(/^([+-\/*])=/,function(e,t){return U=t,""}),G=Y[1],O=parseFloat(O)||0,q=parseFloat(q)||0,"%"===G&&(/^(fontSize|lineHeight)$/.test(M)?(q/=100,G="em"):/^scale/.test(M)?(q/=100,G=""):/(Red|Green|Blue)$/i.test(M)&&(q=q/100*255,G="")),/[\/*]/.test(U))G=I;else if(I!==G&&0!==O)if(0===q)G=I;else{p=p||g();var D=/margin|padding|left|right|width|text|word|letter/i.test(M)||/X$/.test(M)?"x":"y";switch(I){case"%":O*="x"===D?p.percentToPxWidth:p.percentToPxHeight;break;case"px":break;default:O*=p[I+"ToPx"]}switch(G){case"%":O*=1/("x"===D?p.percentToPxWidth:p.percentToPxHeight);break;case"px":break;default:O*=1/p[G+"ToPx"]}}switch(U){case"+":q=O+q;break;case"-":q=O-q;break;case"*":q=O*q;break;case"/":q=O/q}c[M]={rootPropertyValue:X,startValue:O,currentValue:O,endValue:q,unitType:G,easing:B},v.debug&&console.log("tweensContainer ("+M+"): "+JSON.stringify(c[M]),t)}else v.debug&&console.log("Skipping ["+W+"] due to a lack of browser support.")}c.element=t}c.element&&(b.Values.addClass(t,"velocity-animating"),H.push(c),n(t).tweensContainer=c,n(t).opts=s,n(t).isAnimating=!0,V===x-1?(v.State.calls.length>1e4&&(v.State.calls=i(v.State.calls)),v.State.calls.push([H,m,s,null,C.resolver]),v.State.isTicking===!1&&(v.State.isTicking=!0,u())):V++)}var t=this,s=$.extend({},v.defaults,S),c={},p;if(n(t)===o&&v.init(t),parseFloat(s.delay)&&s.queue!==!1&&$.queue(t,s.queue,function(e){v.velocityQueueEntryFlag=!0,n(t).delayTimer={setTimeout:setTimeout(e,parseFloat(s.delay)),next:e}}),v.mock===!0)s.duration=1;else switch(s.duration.toString().toLowerCase()){case"fast":s.duration=200;break;case"normal":s.duration=d;break;case"slow":s.duration=600;break;default:s.duration=parseFloat(s.duration)||1}s.easing=l(s.easing,s.duration),s.begin&&!y.isFunction(s.begin)&&(s.begin=null),s.progress&&!y.isFunction(s.progress)&&(s.progress=null),s.c
4810omplete&&!y.isFunction(s.complete)&&(s.complete=null),s.display&&(s.display=s.display.toString().toLowerCase(),"auto"===s.display&&(s.display=v.CSS.Values.getDisplayType(t))),s.visibility&&(s.visibility=s.visibility.toString().toLowerCase()),s.mobileHA=s.mobileHA&&v.State.isMobile&&!v.State.isGingerbread,s.queue===!1?s.delay?setTimeout(e,s.delay):e():$.queue(t,s.queue,function(t,r){return r===!0?(C.promise&&C.resolver(m),!0):(v.velocityQueueEntryFlag=!0,void e(t))}),""!==s.queue&&"fx"!==s.queue||"inprogress"===$.queue(t)[0]||$.dequeue(t)}var s=arguments[0]&&($.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||y.isString(arguments[0].properties)),p,f,g,m,h,S;if(y.isWrapped(this)?(p=!1,g=0,m=this,f=this):(p=!0,g=1,m=s?arguments[0].elements:arguments[0]),m=y.isWrapped(m)?[].slice.call(m):m){s?(h=arguments[0].properties,S=arguments[0].options):(h=arguments[g],S=arguments[g+1]);var x=y.isArray(m)||y.isNodeList(m)?m.length:1,V=0;if("stop"!==h&&!$.isPlainObject(S)){var P=g+1;S={};for(var w=P;w<arguments.length;w++)!y.isArray(arguments[w])&&/^\d/.test(arguments[w])?S.duration=parseFloat(arguments[w]):y.isString(arguments[w])||y.isArray(arguments[w])?S.easing=arguments[w]:y.isFunction(arguments[w])&&(S.complete=arguments[w])}var C={promise:null,resolver:null,rejecter:null};p&&v.Promise&&(C.promise=new v.Promise(function(e,t){C.resolver=e,C.rejecter=t}));var T;switch(h){case"scroll":T="scroll";break;case"reverse":T="reverse";break;case"stop":$.each(y.isNode(m)?[m]:m,function(e,t){n(t)&&n(t).delayTimer&&(clearTimeout(n(t).delayTimer.setTimeout),n(t).delayTimer.next&&n(t).delayTimer.next(),delete n(t).delayTimer)});var k=[];return $.each(v.State.calls,function(e,t){t&&$.each(y.isNode(t[1])?[t[1]]:t[1],function(t,r){$.each(y.isNode(m)?[m]:m,function(t,a){if(a===r){if(n(a)&&$.each(n(a).tweensContainer,function(e,t){t.endValue=t.currentValue}),S===!0||y.isString(S)){var o=y.isString(S)?S:"";$.each($.queue(a,o),function(e,t){y.isFunction(t)&&t(null,!0)}),$.queue(a,o,[])}k.push(e)}})})}),$.each(k,function(e,t){c(t,!0)}),C.promise&&C.resolver(m),e();default:if(!$.isPlainObject(h)||y.isEmptyObject(h)){if(y.isString(h)&&v.Sequences[h]){var E=S.duration,F=S.delay||0;return S.backwards===!0&&(m=(y.isWrapped(m)?[].slice.call(m):m).reverse()),$.each(m,function(e,t){parseFloat(S.stagger)?S.delay=F+parseFloat(S.stagger)*e:y.isFunction(S.stagger)&&(S.delay=F+S.stagger.call(t,e,x)),S.drag&&(S.duration=parseFloat(E)||(/^(callout|transition)/.test(h)?1e3:d),S.duration=Math.max(S.duration*(S.backwards?1-e/x:(e+1)/x),.75*S.duration,200)),v.Sequences[h].call(t,t,S||{},e,x,m,C.promise?C:o)}),e()}var A="Velocity: First argument ("+h+") was not a property map, a known action, or a registered sequence. Aborting.";return C.promise?C.rejecter(new Error(A)):console.log(A),e()}T="start"}var N={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},H=[];$.each(y.isNode(m)?[m]:m,function(e,r){y.isNode(r)&&t.call(r)});var j=$.extend({},v.defaults,S),L;if(j.loop=parseInt(j.loop),L=2*j.loop-1,j.loop)for(var z=0;L>z;z++){var M={delay:j.delay};z===L-1&&(M.display=j.display,M.visibility=j.visibility,M.complete=j.complete),v.animate(m,"reverse",M)}return e()}},v.State.isMobile||a.hidden===o||a.addEventListener("visibilitychange",function(){a.hidden?(h=function(e){return setTimeout(function(){e(!0)},16)},u()):h=r.requestAnimationFrame||m});var V;return e&&e.fn?V=e:r.Zepto&&(V=r.Zepto),(V||r).Velocity=v,V&&(V.fn.velocity=v.animate,V.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Sequences["slide"+t]=function(e,r,a,o,i,n){var s=$.extend({},r),l={height:null,marginTop:null,marginBottom:null,paddingTop:null,paddingBottom:null,overflow:null,overflowX:null,overflowY:null},u=s.begin,c=s.complete,p=!1;null!==s.display&&(s.display="Down"===t?s.display||"auto":s.display||"none"),s.begin=function(){function r(){l.height=parseFloat(v.CSS.getPropertyValue(e,"height")),e.style.height="auto",parseFloat(v.CSS.getPropertyValue(e,"height"))===l.height&&(p=!0),v.CSS.setPropertyValue(e,"height",l.height+"px")}if("Down"===t){l.overflow=[v.CSS.getPropertyValue(e,"overflow"),0],l.overflowX=[v.CSS.getPropertyValue(e,"overflowX"),0],l.overflowY=[v.CSS.getPropertyValue(e,"overflowY"),0],e.style.overflow="hidden",e.style.overflowX="visible",e.style.overflowY="hidden",r();for(var a in l)if(!/^overflow/.test(a)){var o=v.CSS.getPropertyValue(e,a);"height"===a&&(o=parseFloat(o)),l[a]=[o,0]}}else{r();for(var a in l){var o=v.CSS.getPropertyValue(e,a);"height"===a&&(o=parseFloat(o)),l[a]=[0,o]}e.style.overflow="hidden",e.style.overflowX="visible",e.style.overflowY="hidden"}u&&u.call(e,e)},s.complete=function(e){var r="Down"===t?0:1;p===!0?l.height[r]="auto":l.height[r]+="px";for(var a in l)e.style[a]=l[a][r];
4810c&&c.call(e,e),n&&n.resolver(i||e)},v.animate(e,l,s)}}),$.each(["In","Out"],function(e,t){v.Sequences["fade"+t]=function(e,r,a,o,i,n){var s=$.extend({},r),l={opacity:"In"===t?1:0};if(a!==o-1)s.complete=s.begin=null;else{var u=s.complete;s.complete=function(){u&&u.call(e,e),n&&n.resolver(i||e)}}null!==s.display&&(s.display=s.display||("In"===t?"auto":"none")),v.animate(this,l,s)}}),v}(e||window,window,document)}); 4811/* SWFObject v2.2 <http://code.google.com/p/swfobject/> 4812 is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 4813*/ 4814var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+
4814ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}(); 4815!function(e,t){"use strict";var n=t.prototype.trim,r=t.prototype.trimRight,i=t.prototype.trimLeft,s=function(e){return e*1||0},o=function(e,t){if(t<1)return"";var n="";while(t>0)t&1&&(n+=e),t>>=1,e+=e;return n},u=[].slice,a=function(e){return e==null?"\\s":e.source?e.source:"["+p.escapeRegExp(e)+"]"},f={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},l={};for(var c in f)l[f[c]]=c;var h=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var n=o,r=function(){return r.cache.hasOwnProperty(arguments[0])||
4815(r.cache[arguments[0]]=r.parse(arguments[0])),r.format.call(null,r.cache[arguments[0]],arguments)};return r.format=function(r,i){var s=1,o=r.length,u="",a,f=[],l,c,p,d,v,m;for(l=0;l<o;l++){u=e(r[l]);if(u==="string")f.push(r[l]);else if(u==="array"){p=r[l];if(p[2]){a=i[s];for(c=0;c<p[2].length;c++){if(!a.hasOwnProperty(p[2][c]))throw new Error(h('[_.sprintf] property "%s" does not exist',p[2][c]));a=a[p[2][c]]}}else p[1]?a=i[p[1]]:a=i[s++];if(/[^s]/.test(p[8])&&e(a)!="number")throw new Error(h("[_.sprintf] expecting number but found %s",e(a)));switch(p[8]){case"b":a=a.toString(2);break;case"c":a=t.fromCharCode(a);break;case"d":a=parseInt(a,10);break;case"e":a=p[7]?a.toExponential(p[7]):a.toExponential();break;case"f":a=p[7]?parseFloat(a).toFixed(p[7]):parseFloat(a);break;case"o":a=a.toString(8);break;case"s":a=(a=t(a))&&p[7]?a.substring(0,p[7]):a;break;case"u":a=Math.abs(a);break;case"x":a=a.toString(16);break;case"X":a=a.toString(16).toUpperCase()}a=/[def]/.test(p[8])&&p[3]&&a>=0?"+"+a:a,v=p[4]?p[4]=="0"?"0":p[4].charAt(1):" ",m=p[6]-t(a).length,d=p[6]?n(v,m):"",f.push(p[5]?a+d:d+a)}}return f.join("")},r.cache={},r.parse=function(e){var t=e,n=[],r=[],i=0;while(t){if((n=/^[^\x25]+/.exec(t))!==null)r.push(n[0]);else if((n=/^\x25{2}/.exec(t))!==null)r.push("%");else{if((n=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(t))===null)throw new Error("[_.sprintf] huh?");if(n[2]){i|=1;var s=[],o=n[2],u=[];if((u=/^([a-z_][a-z_\d]*)/i.exec(o))===null)throw new Error("[_.sprintf] huh?");s.push(u[1]);while((o=o.substring(u[0].length))!=="")if((u=/^\.([a-z_][a-z_\d]*)/i.exec(o))!==null)s.push(u[1]);else{if((u=/^\[(\d+)\]/.exec(o))===null)throw new Error("[_.sprintf] huh?");s.push(u[1])}n[2]=s}else i|=2;if(i===3)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");r.push(n)}t=t.substring(n[0].length)}return r},r}(),p={VERSION:"2.3.0",isBlank:function(e){return e==null&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return e==null?"":t(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=e==null?"":t(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,n){return e==null?[]:(e=t(e),n=~~n,n>0?e.match(new RegExp(".{1,"+n+"}","g")):[e])},clean:function(e){return p.strip(e).replace(/\s+/g," ")},count:function(e,n){return e==null||n==null?0:t(e).split(n).length-1},chars:function(e){return e==null?[]:t(e).split("")},swapCase:function(e){return e==null?"":t(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return e==null?"":t(e).replace(/[&<>"']/g,function(e){return"&"+l[e]+";"})},unescapeHTML:function(e){return e==null?"":t(e).replace(/\&([^;]+);/g,function(e,n){var r;return n in f?f[n]:(r=n.match(/^#x([\da-fA-F]+)$/))?t.fromCharCode(parseInt(r[1],16)):(r=n.match(/^#(\d+)$/))?t.fromCharCode(~~r[1]):e})},escapeRegExp:function(e){return e==null?"":t(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,t,n,r){var i=p.chars(e);return i.splice(~~t,~~n,r),i.join("")},insert:function(e,t,n){return p.splice(e,t,0,n)},include:function(e,n){return n===""?!0:e==null?!1:t(e).indexOf(n)!==-1},join:function(){var e=u.call(arguments),t=e.shift();return t==null&&(t=""),e.join(t)},lines:function(e){return e==null?[]:t(e).split("\n")},reverse:function(e){return p.chars(e).reverse().join("")},startsWith:function(e,n){return n===""?!0:e==null||n==null?!1:(e=t(e),n=t(n),e.length>=n.length&&e.slice(0,n.length)===n)},endsWith:function(e,n){return n===""?!0:e==null||n==null?!1:(e=t(e),n=t(n),e.length>=n.length&&e.slice(e.length-n.length)===n)},succ:function(e){return e==null?"":(e=t(e),e.slice(0,-1)+t.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return e==null?"":t(e).replace(/(?:^|\s)\S/g,function(e){return e.toUpperCase()})},camelize:function(e){return p.trim(e).replace(/[-_\s]+(.)?/g,function(e,t){return t.toUpperCase()})},underscored:function(e){return p.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return p.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return p.titleize(t(e).replace(/_/g," ")).replace(/\s/g,"")},humanize:function(e){return p.capitalize(p.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,r){return e==null?"":!r&&n?n.call(e):(r=a(r),t(e).replace(new RegExp("^"+r+"+|"+r+"+$","g"),""))},ltrim:function(e,n){return e==null?"":!n&&i?i.call(e):(n=a(n),t(e).replace(new RegExp("^"+n+"+"),""))},rtrim:function(e,n){return e==null?"":!n&&r?r.call(e):(n=a(n),t(e).replace(new RegExp(n+"+$"),""))},truncate:function(e,n,r){return e==null?"":(e=t(e),r=r||"...",n=~~n,e.length>n?e.slice(0,n)+r:e)},prune:function(e,n,r){if(e==null)return"";e=t(e),n=~~n,r=r!=null?t(r):"...";if(e.length<=n)return e;var i=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},s=e.slice(0,n+1).replace(/.(?=\W*\w*$)/g,i);return s.slice(s.length-2).match(/\w\w/)?s=s.replace(/\s*\S+$/,""):s=p.rtrim(s.slice(0,s.length-1)),(s+r).length>e.length?e:e.slice(0,s.length)+r},words:function(e,t){return p.isBlank(e)?[]:p.trim(e,t).split(t||/\s+/)},pad:function(e,n,r,i){e=e==null?"":t(e),n=~~n;var s=0;r?r.length>1&&(r=r.charAt(0)):r=" ";switch(i){case"right":return s=n-e.length,e+o(r,s);case"both":return s=n-e.length,o(r,Math.ceil(s/2))+e+o(r,Math.floor(s/2));default:return s=n-e.length,o(r,s)+e}},lpad:function(e,t,n){return p.pad(e,t,n)},rpad:function(e,t,n){return p.pad(e,t,n,"right")},lrpad:function(e,t,n){return p.pad(e,t,n,"both")},sprintf:h,vsprintf:function(e,t){return t.unshift(e),h.apply(null,t)},toNumber:function(e,n){if(e==null||e=="")return 0;e=t(e);var r=s(s(e).toFixed(~~n));return r===0&&!e.match(/^0+$/)?Number.NaN:r},numberFormat:function(e,t,n,r){if(isNaN(e)||e==null)return"";e=e.toFixed(~~t),r=r||",";var i=e.split("."),s=i[0],o=i[1]?(n||".")+i[1]:"";return s.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+r)+o},strRight:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.indexOf(n):-1;return~r?e.slice(r+n.length,e.length):e},strRightBack:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.lastIndexOf(n):-1;return~r?e.slice(r+n.length,e.length):e},strLeft:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.indexOf(n):-1;return~r?e.slice(0,r):e},strLeftBack:function(e,t){if(e==null)return"";e+="",t=t!=null?""+t:t;var n=e.lastIndexOf(t);return~n?e.slice(0,n):e},toSentence:function(e,t,n,r){t=t||", ",n=n||" and ";var i=e.slice(),s=i.pop();return e.length>2&&r&&(n=p.rtrim(t)+n),i.length?i.join(t)+n+s:s},toSentenceSerial:function(){var e=u.call(arguments);return e[3]=!0,p.toSentence.apply(p,e)},slugify:function(e){if(e==null)return"";var n="Ä
à áäâãåæÄÄèéëêìÃïîÅÅòóöôõøùúüûñçżź",r="aaaaaaaaceeeeeiiiil
4815noooooouuuunczz",i=new RegExp(a(n),"g");return e=t(e).toLowerCase().replace(i,function(e){var t=n.indexOf(e);return r.charAt(t)||"-"}),p.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,t){return[t,e,t].join("")},quote:function(e){return p.surround(e,'"')},exports:function(){var e={};for(var t in this){if(!this.hasOwnProperty(t)||t.match(/^(?:include|contains|reverse)$/))continue;e[t]=this[t]}return e},repeat:function(e,n,r){if(e==null)return"";n=~~n;if(r==null)return o(t(e),n);for(var i=[];n>0;i[--n]=e);return i.join(r)},levenshtein:function(e,n){if(e==null&&n==null)return 0;if(e==null)return t(n).length;if(n==null)return t(e).length;e=t(e),n=t(n);var r=[],i,s;for(var o=0;o<=n.length;o++)for(var u=0;u<=e.length;u++)o&&u?e.charAt(u-1)===n.charAt(o-1)?s=i:s=Math.min(r[u],r[u-1],i)+1:s=o+u,i=r[u],r[u]=s;return r.pop()}};p.strip=p.trim,p.lstrip=p.ltrim,p.rstrip=p.rtrim,p.center=p.lrpad,p.rjust=p.lpad,p.ljust=p.rpad,p.contains=p.include,p.q=p.quote,typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(module.exports=p),exports._s=p):typeof define=="function"&&define.amd?define("underscore.string",[],function(){return p}):(e._=e._||{},e._.string=e._.str=p)}(this,String);
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.