/* Minification failed. Returning unminified contents.
(1101,87-88): run-time error JS1010: Expected identifier: .
(1101,87-88): run-time error JS1195: Expected expression: .
(1101,103-107): run-time error JS1034: Unmatched 'else'; no 'if' defined: else
 */
/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
!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*new 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];e[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,
r.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;if(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)),!o.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);
if(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)||[];while(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});
;
/*! jQuery Validation Plugin - v1.15.1 - 7/22/2016
 * http://jqueryvalidation.org/
 * Copyright (c) 2016 Jörn Zaefferer; Licensed MIT */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return!c.settings.submitHandler||(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(null!=j&&null!=j.form){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){!this.form&&this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]);var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable]",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)a[b]&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]),!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type;return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=b.hasAttribute("contenteditable")?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);if("function"==typeof f.normalizer){if(i=f.normalizer.call(b,i),"string"!=typeof i)throw new TypeError("The normalizer should return a string value.");delete f.normalizer}for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(a){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",a),a instanceof TypeError&&(a.message+=".  Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),a}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{boolean:function(a){return a},string:function(b,c){return!!a(b,c.form).length},function:function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})});;
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under the MIT license
 */
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);;
(function defineMustache(global, factory) { if (typeof exports === "object" && exports && typeof exports.nodeName !== "string") { factory(exports) } else if (typeof define === "function" && define.amd) { define(["exports"], factory) } else { global.Mustache = {}; factory(global.Mustache) } })(this, function mustacheFactory(mustache) { var objectToString = Object.prototype.toString; var isArray = Array.isArray || function isArrayPolyfill(object) { return objectToString.call(object) === "[object Array]" }; function isFunction(object) { return typeof object === "function" } function typeStr(obj) { return isArray(obj) ? "array" : typeof obj } function escapeRegExp(string) { return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") } function hasProperty(obj, propName) { return obj != null && typeof obj === "object" && propName in obj } var regExpTest = RegExp.prototype.test; function testRegExp(re, string) { return regExpTest.call(re, string) } var nonSpaceRe = /\S/; function isWhitespace(string) { return !testRegExp(nonSpaceRe, string) } var entityMap = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;", "`": "&#x60;", "=": "&#x3D;" }; function escapeHtml(string) { return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap(s) { return entityMap[s] }) } var whiteRe = /\s*/; var spaceRe = /\s+/; var equalsRe = /\s*=/; var curlyRe = /\s*\}/; var tagRe = /#|\^|\/|>|\{|&|=|!/; function parseTemplate(template, tags) { if (!template) return []; var sections = []; var tokens = []; var spaces = []; var hasTag = false; var nonSpace = false; function stripSpace() { if (hasTag && !nonSpace) { while (spaces.length) delete tokens[spaces.pop()] } else { spaces = [] } hasTag = false; nonSpace = false } var openingTagRe, closingTagRe, closingCurlyRe; function compileTags(tagsToCompile) { if (typeof tagsToCompile === "string") tagsToCompile = tagsToCompile.split(spaceRe, 2); if (!isArray(tagsToCompile) || tagsToCompile.length !== 2) throw new Error("Invalid tags: " + tagsToCompile); openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + "\\s*"); closingTagRe = new RegExp("\\s*" + escapeRegExp(tagsToCompile[1])); closingCurlyRe = new RegExp("\\s*" + escapeRegExp("}" + tagsToCompile[1])) } compileTags(tags || mustache.tags); var scanner = new Scanner(template); var start, type, value, chr, token, openSection; while (!scanner.eos()) { start = scanner.pos; value = scanner.scanUntil(openingTagRe); if (value) { for (var i = 0, valueLength = value.length; i < valueLength; ++i) { chr = value.charAt(i); if (isWhitespace(chr)) { spaces.push(tokens.length) } else { nonSpace = true } tokens.push(["text", chr, start, start + 1]); start += 1; if (chr === "\n") stripSpace() } } if (!scanner.scan(openingTagRe)) break; hasTag = true; type = scanner.scan(tagRe) || "name"; scanner.scan(whiteRe); if (type === "=") { value = scanner.scanUntil(equalsRe); scanner.scan(equalsRe); scanner.scanUntil(closingTagRe) } else if (type === "{") { value = scanner.scanUntil(closingCurlyRe); scanner.scan(curlyRe); scanner.scanUntil(closingTagRe); type = "&" } else { value = scanner.scanUntil(closingTagRe) } if (!scanner.scan(closingTagRe)) throw new Error("Unclosed tag at " + scanner.pos); token = [type, value, start, scanner.pos]; tokens.push(token); if (type === "#" || type === "^") { sections.push(token) } else if (type === "/") { openSection = sections.pop(); if (!openSection) throw new Error('Unopened section "' + value + '" at ' + start); if (openSection[1] !== value) throw new Error('Unclosed section "' + openSection[1] + '" at ' + start) } else if (type === "name" || type === "{" || type === "&") { nonSpace = true } else if (type === "=") { compileTags(value) } } openSection = sections.pop(); if (openSection) throw new Error('Unclosed section "' + openSection[1] + '" at ' + scanner.pos); return nestTokens(squashTokens(tokens)) } function squashTokens(tokens) { var squashedTokens = []; var token, lastToken; for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { token = tokens[i]; if (token) { if (token[0] === "text" && lastToken && lastToken[0] === "text") { lastToken[1] += token[1]; lastToken[3] = token[3] } else { squashedTokens.push(token); lastToken = token } } } return squashedTokens } function nestTokens(tokens) { var nestedTokens = []; var collector = nestedTokens; var sections = []; var token, section; for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { token = tokens[i]; switch (token[0]) { case "#": case "^": collector.push(token); sections.push(token); collector = token[4] = []; break; case "/": section = sections.pop(); section[5] = token[2]; collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens; break; default: collector.push(token) } } return nestedTokens } function Scanner(string) { this.string = string; this.tail = string; this.pos = 0 } Scanner.prototype.eos = function eos() { return this.tail === "" }; Scanner.prototype.scan = function scan(re) { var match = this.tail.match(re); if (!match || match.index !== 0) return ""; var string = match[0]; this.tail = this.tail.substring(string.length); this.pos += string.length; return string }; Scanner.prototype.scanUntil = function scanUntil(re) { var index = this.tail.search(re), match; switch (index) { case -1: match = this.tail; this.tail = ""; break; case 0: match = ""; break; default: match = this.tail.substring(0, index); this.tail = this.tail.substring(index) } this.pos += match.length; return match }; function Context(view, parentContext) { this.view = view; this.cache = { ".": this.view }; this.parent = parentContext } Context.prototype.push = function push(view) { return new Context(view, this) }; Context.prototype.lookup = function lookup(name) { var cache = this.cache; var value; if (cache.hasOwnProperty(name)) { value = cache[name] } else { var context = this, names, index, lookupHit = false; while (context) { if (name.indexOf(".") > 0) { value = context.view; names = name.split("."); index = 0; while (value != null && index < names.length) { if (index === names.length - 1) lookupHit = hasProperty(value, names[index]); value = value[names[index++]] } } else { value = context.view[name]; lookupHit = hasProperty(context.view, name) } if (lookupHit) break; context = context.parent } cache[name] = value } if (isFunction(value)) value = value.call(this.view); return value }; function Writer() { this.cache = {} } Writer.prototype.clearCache = function clearCache() { this.cache = {} }; Writer.prototype.parse = function parse(template, tags) { var cache = this.cache; var tokens = cache[template]; if (tokens == null) tokens = cache[template] = parseTemplate(template, tags); return tokens }; Writer.prototype.render = function render(template, view, partials) { var tokens = this.parse(template); var context = view instanceof Context ? view : new Context(view); return this.renderTokens(tokens, context, partials, template) }; Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate) { var buffer = ""; var token, symbol, value; for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) { value = undefined; token = tokens[i]; symbol = token[0]; if (symbol === "#") value = this.renderSection(token, context, partials, originalTemplate); else if (symbol === "^") value = this.renderInverted(token, context, partials, originalTemplate); else if (symbol === ">") value = this.renderPartial(token, context, partials, originalTemplate); else if (symbol === "&") value = this.unescapedValue(token, context); else if (symbol === "name") value = this.escapedValue(token, context); else if (symbol === "text") value = this.rawValue(token); if (value !== undefined) buffer += value } return buffer }; Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate) { var self = this; var buffer = ""; var value = context.lookup(token[1]); function subRender(template) { return self.render(template, context, partials) } if (!value) return; if (isArray(value)) { for (var j = 0, valueLength = value.length; j < valueLength; ++j) { buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate) } } else if (typeof value === "object" || typeof value === "string" || typeof value === "number") { buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate) } else if (isFunction(value)) { if (typeof originalTemplate !== "string") throw new Error("Cannot use higher-order sections without the original template"); value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender); if (value != null) buffer += value } else { buffer += this.renderTokens(token[4], context, partials, originalTemplate) } return buffer }; Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate) { var value = context.lookup(token[1]); if (!value || isArray(value) && value.length === 0) return this.renderTokens(token[4], context, partials, originalTemplate) }; Writer.prototype.renderPartial = function renderPartial(token, context, partials) { if (!partials) return; var value = isFunction(partials) ? partials(token[1]) : partials[token[1]]; if (value != null) return this.renderTokens(this.parse(value), context, partials, value) }; Writer.prototype.unescapedValue = function unescapedValue(token, context) { var value = context.lookup(token[1]); if (value != null) return value }; Writer.prototype.escapedValue = function escapedValue(token, context) { var value = context.lookup(token[1]); if (value != null) return mustache.escape(value) }; Writer.prototype.rawValue = function rawValue(token) { return token[1] }; mustache.name = "mustache.js"; mustache.version = "2.2.1"; mustache.tags = ["{{", "}}"]; var defaultWriter = new Writer; mustache.clearCache = function clearCache() { return defaultWriter.clearCache() }; mustache.parse = function parse(template, tags) { return defaultWriter.parse(template, tags) }; mustache.render = function render(template, view, partials) { if (typeof template !== "string") { throw new TypeError('Invalid template! Template should be a "string" ' + 'but "' + typeStr(template) + '" was given as the first ' + "argument for mustache#render(template, view, partials)") } return defaultWriter.render(template, view, partials) }; mustache.to_html = function to_html(template, view, partials, send) { var result = mustache.render(template, view, partials); if (isFunction(send)) { send(result) } else { return result } }; mustache.escape = escapeHtml; mustache.Scanner = Scanner; mustache.Context = Context; mustache.Writer = Writer });;
!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.moment = t() }(this, function () { "use strict"; var e, i; function f() { return e.apply(null, arguments) } function o(e) { return e instanceof Array || "[object Array]" === Object.prototype.toString.call(e) } function u(e) { return null != e && "[object Object]" === Object.prototype.toString.call(e) } function m(e, t) { return Object.prototype.hasOwnProperty.call(e, t) } function l(e) { if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length; for (var t in e) if (m(e, t)) return; return 1 } function r(e) { return void 0 === e } function h(e) { return "number" == typeof e || "[object Number]" === Object.prototype.toString.call(e) } function a(e) { return e instanceof Date || "[object Date]" === Object.prototype.toString.call(e) } function d(e, t) { for (var n = [], s = 0; s < e.length; ++s)n.push(t(e[s], s)); return n } function c(e, t) { for (var n in t) m(t, n) && (e[n] = t[n]); return m(t, "toString") && (e.toString = t.toString), m(t, "valueOf") && (e.valueOf = t.valueOf), e } function _(e, t, n, s) { return xt(e, t, n, s, !0).utc() } function y(e) { return null == e._pf && (e._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidEra: null, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1, parsedDateParts: [], era: null, meridiem: null, rfc2822: !1, weekdayMismatch: !1 }), e._pf } function g(e) { if (null == e._isValid) { var t = y(e), n = i.call(t.parsedDateParts, function (e) { return null != e }), s = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || t.meridiem && n); if (e._strict && (s = s && 0 === t.charsLeftOver && 0 === t.unusedTokens.length && void 0 === t.bigHour), null != Object.isFrozen && Object.isFrozen(e)) return s; e._isValid = s } return e._isValid } function w(e) { var t = _(NaN); return null != e ? c(y(t), e) : y(t).userInvalidated = !0, t } i = Array.prototype.some ? Array.prototype.some : function (e) { for (var t = Object(this), n = t.length >>> 0, s = 0; s < n; s++)if (s in t && e.call(this, t[s], s, t)) return !0; return !1 }; var p = f.momentProperties = [], t = !1; function v(e, t) { var n, s, i; if (r(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), r(t._i) || (e._i = t._i), r(t._f) || (e._f = t._f), r(t._l) || (e._l = t._l), r(t._strict) || (e._strict = t._strict), r(t._tzm) || (e._tzm = t._tzm), r(t._isUTC) || (e._isUTC = t._isUTC), r(t._offset) || (e._offset = t._offset), r(t._pf) || (e._pf = y(t)), r(t._locale) || (e._locale = t._locale), 0 < p.length) for (n = 0; n < p.length; n++)r(i = t[s = p[n]]) || (e[s] = i); return e } function k(e) { v(this, e), this._d = new Date(null != e._d ? e._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), !1 === t && (t = !0, f.updateOffset(this), t = !1) } function M(e) { return e instanceof k || null != e && null != e._isAMomentObject } function D(e) { !1 === f.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + e) } function n(i, r) { var a = !0; return c(function () { if (null != f.deprecationHandler && f.deprecationHandler(null, i), a) { for (var e, t, n = [], s = 0; s < arguments.length; s++) { if (e = "", "object" == typeof arguments[s]) { for (t in e += "\n[" + s + "] ", arguments[0]) m(arguments[0], t) && (e += t + ": " + arguments[0][t] + ", "); e = e.slice(0, -2) } else e = arguments[s]; n.push(e) } D(i + "\nArguments: " + Array.prototype.slice.call(n).join("") + "\n" + (new Error).stack), a = !1 } return r.apply(this, arguments) }, r) } var s, S = {}; function Y(e, t) { null != f.deprecationHandler && f.deprecationHandler(e, t), S[e] || (D(t), S[e] = !0) } function O(e) { return "undefined" != typeof Function && e instanceof Function || "[object Function]" === Object.prototype.toString.call(e) } function b(e, t) { var n, s = c({}, e); for (n in t) m(t, n) && (u(e[n]) && u(t[n]) ? (s[n] = {}, c(s[n], e[n]), c(s[n], t[n])) : null != t[n] ? s[n] = t[n] : delete s[n]); for (n in e) m(e, n) && !m(t, n) && u(e[n]) && (s[n] = c({}, s[n])); return s } function x(e) { null != e && this.set(e) } f.suppressDeprecationWarnings = !1, f.deprecationHandler = null, s = Object.keys ? Object.keys : function (e) { var t, n = []; for (t in e) m(e, t) && n.push(t); return n }; function T(e, t, n) { var s = "" + Math.abs(e), i = t - s.length; return (0 <= e ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, i)).toString().substr(1) + s } var N = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, P = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, R = {}, W = {}; function C(e, t, n, s) { var i = "string" == typeof s ? function () { return this[s]() } : s; e && (W[e] = i), t && (W[t[0]] = function () { return T(i.apply(this, arguments), t[1], t[2]) }), n && (W[n] = function () { return this.localeData().ordinal(i.apply(this, arguments), e) }) } function U(e, t) { return e.isValid() ? (t = H(t, e.localeData()), R[t] = R[t] || function (s) { for (var e, i = s.match(N), t = 0, r = i.length; t < r; t++)W[i[t]] ? i[t] = W[i[t]] : i[t] = (e = i[t]).match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, ""); return function (e) { for (var t = "", n = 0; n < r; n++)t += O(i[n]) ? i[n].call(e, s) : i[n]; return t } }(t), R[t](e)) : e.localeData().invalidDate() } function H(e, t) { var n = 5; function s(e) { return t.longDateFormat(e) || e } for (P.lastIndex = 0; 0 <= n && P.test(e);)e = e.replace(P, s), P.lastIndex = 0, --n; return e } var F = {}; function L(e, t) { var n = e.toLowerCase(); F[n] = F[n + "s"] = F[t] = e } function V(e) { return "string" == typeof e ? F[e] || F[e.toLowerCase()] : void 0 } function G(e) { var t, n, s = {}; for (n in e) m(e, n) && (t = V(n)) && (s[t] = e[n]); return s } var E = {}; function A(e, t) { E[e] = t } function j(e) { return e % 4 == 0 && e % 100 != 0 || e % 400 == 0 } function I(e) { return e < 0 ? Math.ceil(e) || 0 : Math.floor(e) } function Z(e) { var t = +e, n = 0; return 0 != t && isFinite(t) && (n = I(t)), n } function z(t, n) { return function (e) { return null != e ? (q(this, t, e), f.updateOffset(this, n), this) : $(this, t) } } function $(e, t) { return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN } function q(e, t, n) { e.isValid() && !isNaN(n) && ("FullYear" === t && j(e.year()) && 1 === e.month() && 29 === e.date() ? (n = Z(n), e._d["set" + (e._isUTC ? "UTC" : "") + t](n, e.month(), xe(n, e.month()))) : e._d["set" + (e._isUTC ? "UTC" : "") + t](n)) } var B, J = /\d/, Q = /\d\d/, X = /\d{3}/, K = /\d{4}/, ee = /[+-]?\d{6}/, te = /\d\d?/, ne = /\d\d\d\d?/, se = /\d\d\d\d\d\d?/, ie = /\d{1,3}/, re = /\d{1,4}/, ae = /[+-]?\d{1,6}/, oe = /\d+/, ue = /[+-]?\d+/, le = /Z|[+-]\d\d:?\d\d/gi, he = /Z|[+-]\d\d(?::?\d\d)?/gi, de = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; function ce(e, n, s) { B[e] = O(n) ? n : function (e, t) { return e && s ? s : n } } function fe(e, t) { return m(B, e) ? B[e](t._strict, t._locale) : new RegExp(me(e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (e, t, n, s, i) { return t || n || s || i }))) } function me(e) { return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") } B = {}; var _e = {}; function ye(e, n) { var t, s = n; for ("string" == typeof e && (e = [e]), h(n) && (s = function (e, t) { t[n] = Z(e) }), t = 0; t < e.length; t++)_e[e[t]] = s } function ge(e, i) { ye(e, function (e, t, n, s) { n._w = n._w || {}, i(e, n._w, n, s) }) } var we, pe = 0, ve = 1, ke = 2, Me = 3, De = 4, Se = 5, Ye = 6, Oe = 7, be = 8; function xe(e, t) { if (isNaN(e) || isNaN(t)) return NaN; var n, s = (t % (n = 12) + n) % n; return e += (t - s) / 12, 1 == s ? j(e) ? 29 : 28 : 31 - s % 7 % 2 } we = Array.prototype.indexOf ? Array.prototype.indexOf : function (e) { for (var t = 0; t < this.length; ++t)if (this[t] === e) return t; return -1 }, C("M", ["MM", 2], "Mo", function () { return this.month() + 1 }), C("MMM", 0, 0, function (e) { return this.localeData().monthsShort(this, e) }), C("MMMM", 0, 0, function (e) { return this.localeData().months(this, e) }), L("month", "M"), A("month", 8), ce("M", te), ce("MM", te, Q), ce("MMM", function (e, t) { return t.monthsShortRegex(e) }), ce("MMMM", function (e, t) { return t.monthsRegex(e) }), ye(["M", "MM"], function (e, t) { t[ve] = Z(e) - 1 }), ye(["MMM", "MMMM"], function (e, t, n, s) { var i = n._locale.monthsParse(e, s, n._strict); null != i ? t[ve] = i : y(n).invalidMonth = e }); var Te = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), Ne = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), Pe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, Re = de, We = de; function Ce(e, t) { var n; if (!e.isValid()) return e; if ("string" == typeof t) if (/^\d+$/.test(t)) t = Z(t); else if (!h(t = e.localeData().monthsParse(t))) return e; return n = Math.min(e.date(), xe(e.year(), t)), e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n), e } function Ue(e) { return null != e ? (Ce(this, e), f.updateOffset(this, !0), this) : $(this, "Month") } function He() { function e(e, t) { return t.length - e.length } for (var t, n = [], s = [], i = [], r = 0; r < 12; r++)t = _([2e3, r]), n.push(this.monthsShort(t, "")), s.push(this.months(t, "")), i.push(this.months(t, "")), i.push(this.monthsShort(t, "")); for (n.sort(e), s.sort(e), i.sort(e), r = 0; r < 12; r++)n[r] = me(n[r]), s[r] = me(s[r]); for (r = 0; r < 24; r++)i[r] = me(i[r]); this._monthsRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + n.join("|") + ")", "i") } function Fe(e) { return j(e) ? 366 : 365 } C("Y", 0, 0, function () { var e = this.year(); return e <= 9999 ? T(e, 4) : "+" + e }), C(0, ["YY", 2], 0, function () { return this.year() % 100 }), C(0, ["YYYY", 4], 0, "year"), C(0, ["YYYYY", 5], 0, "year"), C(0, ["YYYYYY", 6, !0], 0, "year"), L("year", "y"), A("year", 1), ce("Y", ue), ce("YY", te, Q), ce("YYYY", re, K), ce("YYYYY", ae, ee), ce("YYYYYY", ae, ee), ye(["YYYYY", "YYYYYY"], pe), ye("YYYY", function (e, t) { t[pe] = 2 === e.length ? f.parseTwoDigitYear(e) : Z(e) }), ye("YY", function (e, t) { t[pe] = f.parseTwoDigitYear(e) }), ye("Y", function (e, t) { t[pe] = parseInt(e, 10) }), f.parseTwoDigitYear = function (e) { return Z(e) + (68 < Z(e) ? 1900 : 2e3) }; var Le = z("FullYear", !0); function Ve(e) { var t, n; return e < 100 && 0 <= e ? ((n = Array.prototype.slice.call(arguments))[0] = e + 400, t = new Date(Date.UTC.apply(null, n)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t } function Ge(e, t, n) { var s = 7 + t - n; return s - (7 + Ve(e, 0, s).getUTCDay() - t) % 7 - 1 } function Ee(e, t, n, s, i) { var r, a = 1 + 7 * (t - 1) + (7 + n - s) % 7 + Ge(e, s, i), o = a <= 0 ? Fe(r = e - 1) + a : a > Fe(e) ? (r = e + 1, a - Fe(e)) : (r = e, a); return { year: r, dayOfYear: o } } function Ae(e, t, n) { var s, i, r = Ge(e.year(), t, n), a = Math.floor((e.dayOfYear() - r - 1) / 7) + 1; return a < 1 ? s = a + je(i = e.year() - 1, t, n) : a > je(e.year(), t, n) ? (s = a - je(e.year(), t, n), i = e.year() + 1) : (i = e.year(), s = a), { week: s, year: i } } function je(e, t, n) { var s = Ge(e, t, n), i = Ge(e + 1, t, n); return (Fe(e) - s + i) / 7 } C("w", ["ww", 2], "wo", "week"), C("W", ["WW", 2], "Wo", "isoWeek"), L("week", "w"), L("isoWeek", "W"), A("week", 5), A("isoWeek", 5), ce("w", te), ce("ww", te, Q), ce("W", te), ce("WW", te, Q), ge(["w", "ww", "W", "WW"], function (e, t, n, s) { t[s.substr(0, 1)] = Z(e) }); function Ie(e, t) { return e.slice(t, 7).concat(e.slice(0, t)) } C("d", 0, "do", "day"), C("dd", 0, 0, function (e) { return this.localeData().weekdaysMin(this, e) }), C("ddd", 0, 0, function (e) { return this.localeData().weekdaysShort(this, e) }), C("dddd", 0, 0, function (e) { return this.localeData().weekdays(this, e) }), C("e", 0, 0, "weekday"), C("E", 0, 0, "isoWeekday"), L("day", "d"), L("weekday", "e"), L("isoWeekday", "E"), A("day", 11), A("weekday", 11), A("isoWeekday", 11), ce("d", te), ce("e", te), ce("E", te), ce("dd", function (e, t) { return t.weekdaysMinRegex(e) }), ce("ddd", function (e, t) { return t.weekdaysShortRegex(e) }), ce("dddd", function (e, t) { return t.weekdaysRegex(e) }), ge(["dd", "ddd", "dddd"], function (e, t, n, s) { var i = n._locale.weekdaysParse(e, s, n._strict); null != i ? t.d = i : y(n).invalidWeekday = e }), ge(["d", "e", "E"], function (e, t, n, s) { t[s] = Z(e) }); var Ze = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), ze = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), $e = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), qe = de, Be = de, Je = de; function Qe() { function e(e, t) { return t.length - e.length } for (var t, n, s, i, r = [], a = [], o = [], u = [], l = 0; l < 7; l++)t = _([2e3, 1]).day(l), n = me(this.weekdaysMin(t, "")), s = me(this.weekdaysShort(t, "")), i = me(this.weekdays(t, "")), r.push(n), a.push(s), o.push(i), u.push(n), u.push(s), u.push(i); r.sort(e), a.sort(e), o.sort(e), u.sort(e), this._weekdaysRegex = new RegExp("^(" + u.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + o.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + r.join("|") + ")", "i") } function Xe() { return this.hours() % 12 || 12 } function Ke(e, t) { C(e, 0, 0, function () { return this.localeData().meridiem(this.hours(), this.minutes(), t) }) } function et(e, t) { return t._meridiemParse } C("H", ["HH", 2], 0, "hour"), C("h", ["hh", 2], 0, Xe), C("k", ["kk", 2], 0, function () { return this.hours() || 24 }), C("hmm", 0, 0, function () { return "" + Xe.apply(this) + T(this.minutes(), 2) }), C("hmmss", 0, 0, function () { return "" + Xe.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2) }), C("Hmm", 0, 0, function () { return "" + this.hours() + T(this.minutes(), 2) }), C("Hmmss", 0, 0, function () { return "" + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2) }), Ke("a", !0), Ke("A", !1), L("hour", "h"), A("hour", 13), ce("a", et), ce("A", et), ce("H", te), ce("h", te), ce("k", te), ce("HH", te, Q), ce("hh", te, Q), ce("kk", te, Q), ce("hmm", ne), ce("hmmss", se), ce("Hmm", ne), ce("Hmmss", se), ye(["H", "HH"], Me), ye(["k", "kk"], function (e, t, n) { var s = Z(e); t[Me] = 24 === s ? 0 : s }), ye(["a", "A"], function (e, t, n) { n._isPm = n._locale.isPM(e), n._meridiem = e }), ye(["h", "hh"], function (e, t, n) { t[Me] = Z(e), y(n).bigHour = !0 }), ye("hmm", function (e, t, n) { var s = e.length - 2; t[Me] = Z(e.substr(0, s)), t[De] = Z(e.substr(s)), y(n).bigHour = !0 }), ye("hmmss", function (e, t, n) { var s = e.length - 4, i = e.length - 2; t[Me] = Z(e.substr(0, s)), t[De] = Z(e.substr(s, 2)), t[Se] = Z(e.substr(i)), y(n).bigHour = !0 }), ye("Hmm", function (e, t, n) { var s = e.length - 2; t[Me] = Z(e.substr(0, s)), t[De] = Z(e.substr(s)) }), ye("Hmmss", function (e, t, n) { var s = e.length - 4, i = e.length - 2; t[Me] = Z(e.substr(0, s)), t[De] = Z(e.substr(s, 2)), t[Se] = Z(e.substr(i)) }); var tt = z("Hours", !0); var nt, st = { calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" }, longDateFormat: { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, invalidDate: "Invalid date", ordinal: "%d", dayOfMonthOrdinalParse: /\d{1,2}/, relativeTime: { future: "in %s", past: "%s ago", s: "a few seconds", ss: "%d seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", w: "a week", ww: "%d weeks", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, months: Te, monthsShort: Ne, week: { dow: 0, doy: 6 }, weekdays: Ze, weekdaysMin: $e, weekdaysShort: ze, meridiemParse: /[ap]\.?m?\.?/i }, it = {}, rt = {}; function at(e) { return e ? e.toLowerCase().replace("_", "-") : e } function ot(e) { for (var t, n, s, i, r = 0; r < e.length;) { for (t = (i = at(e[r]).split("-")).length, n = (n = at(e[r + 1])) ? n.split("-") : null; 0 < t;) { if (s = ut(i.slice(0, t).join("-"))) return s; if (n && n.length >= t && function (e, t) { for (var n = Math.min(e.length, t.length), s = 0; s < n; s += 1)if (e[s] !== t[s]) return s; return n }(i, n) >= t - 1) break; t-- } r++ } return nt } function ut(t) { var e; if (void 0 === it[t] && "undefined" != typeof module && module && module.exports) try { e = nt._abbr, require("./locale/" + t), lt(e) } catch (e) { it[t] = null } return it[t] } function lt(e, t) { var n; return e && ((n = r(t) ? dt(e) : ht(e, t)) ? nt = n : "undefined" != typeof console && console.warn && console.warn("Locale " + e + " not found. Did you forget to load it?")), nt._abbr } function ht(e, t) { if (null === t) return delete it[e], null; var n, s = st; if (t.abbr = e, null != it[e]) Y("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."), s = it[e]._config; else if (null != t.parentLocale) if (null != it[t.parentLocale]) s = it[t.parentLocale]._config; else { if (null == (n = ut(t.parentLocale))) return rt[t.parentLocale] || (rt[t.parentLocale] = []), rt[t.parentLocale].push({ name: e, config: t }), null; s = n._config } return it[e] = new x(b(s, t)), rt[e] && rt[e].forEach(function (e) { ht(e.name, e.config) }), lt(e), it[e] } function dt(e) { var t; if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) return nt; if (!o(e)) { if (t = ut(e)) return t; e = [e] } return ot(e) } function ct(e) { var t, n = e._a; return n && -2 === y(e).overflow && (t = n[ve] < 0 || 11 < n[ve] ? ve : n[ke] < 1 || n[ke] > xe(n[pe], n[ve]) ? ke : n[Me] < 0 || 24 < n[Me] || 24 === n[Me] && (0 !== n[De] || 0 !== n[Se] || 0 !== n[Ye]) ? Me : n[De] < 0 || 59 < n[De] ? De : n[Se] < 0 || 59 < n[Se] ? Se : n[Ye] < 0 || 999 < n[Ye] ? Ye : -1, y(e)._overflowDayOfYear && (t < pe || ke < t) && (t = ke), y(e)._overflowWeeks && -1 === t && (t = Oe), y(e)._overflowWeekday && -1 === t && (t = be), y(e).overflow = t), e } var ft = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, mt = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, _t = /Z|[+-]\d\d(?::?\d\d)?/, yt = [["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], ["GGGG-[W]WW", /\d{4}-W\d\d/, !1], ["YYYY-DDD", /\d{4}-\d{3}/], ["YYYY-MM", /\d{4}-\d\d/, !1], ["YYYYYYMMDD", /[+-]\d{10}/], ["YYYYMMDD", /\d{8}/], ["GGGG[W]WWE", /\d{4}W\d{3}/], ["GGGG[W]WW", /\d{4}W\d{2}/, !1], ["YYYYDDD", /\d{7}/], ["YYYYMM", /\d{6}/, !1], ["YYYY", /\d{4}/, !1]], gt = [["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], ["HH:mm:ss", /\d\d:\d\d:\d\d/], ["HH:mm", /\d\d:\d\d/], ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], ["HHmmss", /\d\d\d\d\d\d/], ["HHmm", /\d\d\d\d/], ["HH", /\d\d/]], wt = /^\/?Date\((-?\d+)/i, pt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, vt = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 }; function kt(e) { var t, n, s, i, r, a, o = e._i, u = ft.exec(o) || mt.exec(o); if (u) { for (y(e).iso = !0, t = 0, n = yt.length; t < n; t++)if (yt[t][1].exec(u[1])) { i = yt[t][0], s = !1 !== yt[t][2]; break } if (null == i) return void (e._isValid = !1); if (u[3]) { for (t = 0, n = gt.length; t < n; t++)if (gt[t][1].exec(u[3])) { r = (u[2] || " ") + gt[t][0]; break } if (null == r) return void (e._isValid = !1) } if (!s && null != r) return void (e._isValid = !1); if (u[4]) { if (!_t.exec(u[4])) return void (e._isValid = !1); a = "Z" } e._f = i + (r || "") + (a || ""), Ot(e) } else e._isValid = !1 } function Mt(e, t, n, s, i, r) { var a = [function (e) { var t = parseInt(e, 10); { if (t <= 49) return 2e3 + t; if (t <= 999) return 1900 + t } return t }(e), Ne.indexOf(t), parseInt(n, 10), parseInt(s, 10), parseInt(i, 10)]; return r && a.push(parseInt(r, 10)), a } function Dt(e) { var t, n, s, i, r = pt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "")); if (r) { if (t = Mt(r[4], r[3], r[2], r[5], r[6], r[7]), n = r[1], s = t, i = e, n && ze.indexOf(n) !== new Date(s[0], s[1], s[2]).getDay() && (y(i).weekdayMismatch = !0, !void (i._isValid = !1))) return; e._a = t, e._tzm = function (e, t, n) { if (e) return vt[e]; if (t) return 0; var s = parseInt(n, 10), i = s % 100; return 60 * ((s - i) / 100) + i }(r[8], r[9], r[10]), e._d = Ve.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), y(e).rfc2822 = !0 } else e._isValid = !1 } function St(e, t, n) { return null != e ? e : null != t ? t : n } function Yt(e) { var t, n, s, i, r, a, o, u = []; if (!e._d) { for (a = e, o = new Date(f.now()), s = a._useUTC ? [o.getUTCFullYear(), o.getUTCMonth(), o.getUTCDate()] : [o.getFullYear(), o.getMonth(), o.getDate()], e._w && null == e._a[ke] && null == e._a[ve] && function (e) { var t, n, s, i, r, a, o, u, l; null != (t = e._w).GG || null != t.W || null != t.E ? (r = 1, a = 4, n = St(t.GG, e._a[pe], Ae(Tt(), 1, 4).year), s = St(t.W, 1), ((i = St(t.E, 1)) < 1 || 7 < i) && (u = !0)) : (r = e._locale._week.dow, a = e._locale._week.doy, l = Ae(Tt(), r, a), n = St(t.gg, e._a[pe], l.year), s = St(t.w, l.week), null != t.d ? ((i = t.d) < 0 || 6 < i) && (u = !0) : null != t.e ? (i = t.e + r, (t.e < 0 || 6 < t.e) && (u = !0)) : i = r); s < 1 || s > je(n, r, a) ? y(e)._overflowWeeks = !0 : null != u ? y(e)._overflowWeekday = !0 : (o = Ee(n, s, i, r, a), e._a[pe] = o.year, e._dayOfYear = o.dayOfYear) }(e), null != e._dayOfYear && (r = St(e._a[pe], s[pe]), (e._dayOfYear > Fe(r) || 0 === e._dayOfYear) && (y(e)._overflowDayOfYear = !0), n = Ve(r, 0, e._dayOfYear), e._a[ve] = n.getUTCMonth(), e._a[ke] = n.getUTCDate()), t = 0; t < 3 && null == e._a[t]; ++t)e._a[t] = u[t] = s[t]; for (; t < 7; t++)e._a[t] = u[t] = null == e._a[t] ? 2 === t ? 1 : 0 : e._a[t]; 24 === e._a[Me] && 0 === e._a[De] && 0 === e._a[Se] && 0 === e._a[Ye] && (e._nextDay = !0, e._a[Me] = 0), e._d = (e._useUTC ? Ve : function (e, t, n, s, i, r, a) { var o; return e < 100 && 0 <= e ? (o = new Date(e + 400, t, n, s, i, r, a), isFinite(o.getFullYear()) && o.setFullYear(e)) : o = new Date(e, t, n, s, i, r, a), o }).apply(null, u), i = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[Me] = 24), e._w && void 0 !== e._w.d && e._w.d !== i && (y(e).weekdayMismatch = !0) } } function Ot(e) { if (e._f !== f.ISO_8601) if (e._f !== f.RFC_2822) { e._a = [], y(e).empty = !0; for (var t, n, s, i, r, a, o, u = "" + e._i, l = u.length, h = 0, d = H(e._f, e._locale).match(N) || [], c = 0; c < d.length; c++)n = d[c], (t = (u.match(fe(n, e)) || [])[0]) && (0 < (s = u.substr(0, u.indexOf(t))).length && y(e).unusedInput.push(s), u = u.slice(u.indexOf(t) + t.length), h += t.length), W[n] ? (t ? y(e).empty = !1 : y(e).unusedTokens.push(n), r = n, o = e, null != (a = t) && m(_e, r) && _e[r](a, o._a, o, r)) : e._strict && !t && y(e).unusedTokens.push(n); y(e).charsLeftOver = l - h, 0 < u.length && y(e).unusedInput.push(u), e._a[Me] <= 12 && !0 === y(e).bigHour && 0 < e._a[Me] && (y(e).bigHour = void 0), y(e).parsedDateParts = e._a.slice(0), y(e).meridiem = e._meridiem, e._a[Me] = function (e, t, n) { var s; if (null == n) return t; return null != e.meridiemHour ? e.meridiemHour(t, n) : (null != e.isPM && ((s = e.isPM(n)) && t < 12 && (t += 12), s || 12 !== t || (t = 0)), t) }(e._locale, e._a[Me], e._meridiem), null !== (i = y(e).era) && (e._a[pe] = e._locale.erasConvertYear(i, e._a[pe])), Yt(e), ct(e) } else Dt(e); else kt(e) } function bt(e) { var t, n, s = e._i, i = e._f; return e._locale = e._locale || dt(e._l), null === s || void 0 === i && "" === s ? w({ nullInput: !0 }) : ("string" == typeof s && (e._i = s = e._locale.preparse(s)), M(s) ? new k(ct(s)) : (a(s) ? e._d = s : o(i) ? function (e) { var t, n, s, i, r, a, o = !1; if (0 === e._f.length) return y(e).invalidFormat = !0, e._d = new Date(NaN); for (i = 0; i < e._f.length; i++)r = 0, a = !1, t = v({}, e), null != e._useUTC && (t._useUTC = e._useUTC), t._f = e._f[i], Ot(t), g(t) && (a = !0), r += y(t).charsLeftOver, r += 10 * y(t).unusedTokens.length, y(t).score = r, o ? r < s && (s = r, n = t) : (null == s || r < s || a) && (s = r, n = t, a && (o = !0)); c(e, n || t) }(e) : i ? Ot(e) : r(n = (t = e)._i) ? t._d = new Date(f.now()) : a(n) ? t._d = new Date(n.valueOf()) : "string" == typeof n ? function (e) { var t = wt.exec(e._i); null === t ? (kt(e), !1 === e._isValid && (delete e._isValid, Dt(e), !1 === e._isValid && (delete e._isValid, e._strict ? e._isValid = !1 : f.createFromInputFallback(e)))) : e._d = new Date(+t[1]) }(t) : o(n) ? (t._a = d(n.slice(0), function (e) { return parseInt(e, 10) }), Yt(t)) : u(n) ? function (e) { var t, n; e._d || (n = void 0 === (t = G(e._i)).day ? t.date : t.day, e._a = d([t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond], function (e) { return e && parseInt(e, 10) }), Yt(e)) }(t) : h(n) ? t._d = new Date(n) : f.createFromInputFallback(t), g(e) || (e._d = null), e)) } function xt(e, t, n, s, i) { var r, a = {}; return !0 !== t && !1 !== t || (s = t, t = void 0), !0 !== n && !1 !== n || (s = n, n = void 0), (u(e) && l(e) || o(e) && 0 === e.length) && (e = void 0), a._isAMomentObject = !0, a._useUTC = a._isUTC = i, a._l = n, a._i = e, a._f = t, a._strict = s, (r = new k(ct(bt(a))))._nextDay && (r.add(1, "d"), r._nextDay = void 0), r } function Tt(e, t, n, s) { return xt(e, t, n, s, !1) } f.createFromInputFallback = n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function (e) { e._d = new Date(e._i + (e._useUTC ? " UTC" : "")) }), f.ISO_8601 = function () { }, f.RFC_2822 = function () { }; var Nt = n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function () { var e = Tt.apply(null, arguments); return this.isValid() && e.isValid() ? e < this ? this : e : w() }), Pt = n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function () { var e = Tt.apply(null, arguments); return this.isValid() && e.isValid() ? this < e ? this : e : w() }); function Rt(e, t) { var n, s; if (1 === t.length && o(t[0]) && (t = t[0]), !t.length) return Tt(); for (n = t[0], s = 1; s < t.length; ++s)t[s].isValid() && !t[s][e](n) || (n = t[s]); return n } var Wt = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"]; function Ct(e) { var t = G(e), n = t.year || 0, s = t.quarter || 0, i = t.month || 0, r = t.week || t.isoWeek || 0, a = t.day || 0, o = t.hour || 0, u = t.minute || 0, l = t.second || 0, h = t.millisecond || 0; this._isValid = function (e) { var t, n, s = !1; for (t in e) if (m(e, t) && (-1 === we.call(Wt, t) || null != e[t] && isNaN(e[t]))) return !1; for (n = 0; n < Wt.length; ++n)if (e[Wt[n]]) { if (s) return !1; parseFloat(e[Wt[n]]) !== Z(e[Wt[n]]) && (s = !0) } return !0 }(t), this._milliseconds = +h + 1e3 * l + 6e4 * u + 1e3 * o * 60 * 60, this._days = +a + 7 * r, this._months = +i + 3 * s + 12 * n, this._data = {}, this._locale = dt(), this._bubble() } function Ut(e) { return e instanceof Ct } function Ht(e) { return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e) } function Ft(e, n) { C(e, 0, 0, function () { var e = this.utcOffset(), t = "+"; return e < 0 && (e = -e, t = "-"), t + T(~~(e / 60), 2) + n + T(~~e % 60, 2) }) } Ft("Z", ":"), Ft("ZZ", ""), ce("Z", he), ce("ZZ", he), ye(["Z", "ZZ"], function (e, t, n) { n._useUTC = !0, n._tzm = Vt(he, e) }); var Lt = /([\+\-]|\d\d)/gi; function Vt(e, t) { var n, s, i = (t || "").match(e); return null === i ? null : 0 === (s = 60 * (n = ((i[i.length - 1] || []) + "").match(Lt) || ["-", 0, 0])[1] + Z(n[2])) ? 0 : "+" === n[0] ? s : -s } function Gt(e, t) { var n, s; return t._isUTC ? (n = t.clone(), s = (M(e) || a(e) ? e.valueOf() : Tt(e).valueOf()) - n.valueOf(), n._d.setTime(n._d.valueOf() + s), f.updateOffset(n, !1), n) : Tt(e).local() } function Et(e) { return -Math.round(e._d.getTimezoneOffset()) } function At() { return !!this.isValid() && (this._isUTC && 0 === this._offset) } f.updateOffset = function () { }; var jt = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, It = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function Zt(e, t) { var n, s, i, r = e, a = null; return Ut(e) ? r = { ms: e._milliseconds, d: e._days, M: e._months } : h(e) || !isNaN(+e) ? (r = {}, t ? r[t] = +e : r.milliseconds = +e) : (a = jt.exec(e)) ? (n = "-" === a[1] ? -1 : 1, r = { y: 0, d: Z(a[ke]) * n, h: Z(a[Me]) * n, m: Z(a[De]) * n, s: Z(a[Se]) * n, ms: Z(Ht(1e3 * a[Ye])) * n }) : (a = It.exec(e)) ? (n = "-" === a[1] ? -1 : 1, r = { y: zt(a[2], n), M: zt(a[3], n), w: zt(a[4], n), d: zt(a[5], n), h: zt(a[6], n), m: zt(a[7], n), s: zt(a[8], n) }) : null == r ? r = {} : "object" == typeof r && ("from" in r || "to" in r) && (i = function (e, t) { var n; if (!e.isValid() || !t.isValid()) return { milliseconds: 0, months: 0 }; t = Gt(t, e), e.isBefore(t) ? n = $t(e, t) : ((n = $t(t, e)).milliseconds = -n.milliseconds, n.months = -n.months); return n }(Tt(r.from), Tt(r.to)), (r = {}).ms = i.milliseconds, r.M = i.months), s = new Ct(r), Ut(e) && m(e, "_locale") && (s._locale = e._locale), Ut(e) && m(e, "_isValid") && (s._isValid = e._isValid), s } function zt(e, t) { var n = e && parseFloat(e.replace(",", ".")); return (isNaN(n) ? 0 : n) * t } function $t(e, t) { var n = {}; return n.months = t.month() - e.month() + 12 * (t.year() - e.year()), e.clone().add(n.months, "M").isAfter(t) && --n.months, n.milliseconds = t - e.clone().add(n.months, "M"), n } function qt(s, i) { return function (e, t) { var n; return null === t || isNaN(+t) || (Y(i, "moment()." + i + "(period, number) is deprecated. Please use moment()." + i + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), n = e, e = t, t = n), Bt(this, Zt(e, t), s), this } } function Bt(e, t, n, s) { var i = t._milliseconds, r = Ht(t._days), a = Ht(t._months); e.isValid() && (s = null == s || s, a && Ce(e, $(e, "Month") + a * n), r && q(e, "Date", $(e, "Date") + r * n), i && e._d.setTime(e._d.valueOf() + i * n), s && f.updateOffset(e, r || a)) } Zt.fn = Ct.prototype, Zt.invalid = function () { return Zt(NaN) }; var Jt = qt(1, "add"), Qt = qt(-1, "subtract"); function Xt(e) { return "string" == typeof e || e instanceof String } function Kt(e) { return M(e) || a(e) || Xt(e) || h(e) || function (t) { var e = o(t), n = !1; e && (n = 0 === t.filter(function (e) { return !h(e) && Xt(t) }).length); return e && n }(e) || function (e) { var t, n, s = u(e) && !l(e), i = !1, r = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"]; for (t = 0; t < r.length; t += 1)n = r[t], i = i || m(e, n); return s && i }(e) || null == e } function en(e, t) { if (e.date() < t.date()) return -en(t, e); var n = 12 * (t.year() - e.year()) + (t.month() - e.month()), s = e.clone().add(n, "months"), i = t - s < 0 ? (t - s) / (s - e.clone().add(n - 1, "months")) : (t - s) / (e.clone().add(1 + n, "months") - s); return -(n + i) || 0 } function tn(e) { var t; return void 0 === e ? this._locale._abbr : (null != (t = dt(e)) && (this._locale = t), this) } f.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", f.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"; var nn = n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function (e) { return void 0 === e ? this.localeData() : this.locale(e) }); function sn() { return this._locale } var rn = 126227808e5; function an(e, t) { return (e % t + t) % t } function on(e, t, n) { return e < 100 && 0 <= e ? new Date(e + 400, t, n) - rn : new Date(e, t, n).valueOf() } function un(e, t, n) { return e < 100 && 0 <= e ? Date.UTC(e + 400, t, n) - rn : Date.UTC(e, t, n) } function ln(e, t) { return t.erasAbbrRegex(e) } function hn() { for (var e = [], t = [], n = [], s = [], i = this.eras(), r = 0, a = i.length; r < a; ++r)t.push(me(i[r].name)), e.push(me(i[r].abbr)), n.push(me(i[r].narrow)), s.push(me(i[r].name)), s.push(me(i[r].abbr)), s.push(me(i[r].narrow)); this._erasRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp("^(" + n.join("|") + ")", "i") } function dn(e, t) { C(0, [e, e.length], 0, t) } function cn(e, t, n, s, i) { var r; return null == e ? Ae(this, s, i).year : ((r = je(e, s, i)) < t && (t = r), function (e, t, n, s, i) { var r = Ee(e, t, n, s, i), a = Ve(r.year, 0, r.dayOfYear); return this.year(a.getUTCFullYear()), this.month(a.getUTCMonth()), this.date(a.getUTCDate()), this }.call(this, e, t, n, s, i)) } C("N", 0, 0, "eraAbbr"), C("NN", 0, 0, "eraAbbr"), C("NNN", 0, 0, "eraAbbr"), C("NNNN", 0, 0, "eraName"), C("NNNNN", 0, 0, "eraNarrow"), C("y", ["y", 1], "yo", "eraYear"), C("y", ["yy", 2], 0, "eraYear"), C("y", ["yyy", 3], 0, "eraYear"), C("y", ["yyyy", 4], 0, "eraYear"), ce("N", ln), ce("NN", ln), ce("NNN", ln), ce("NNNN", function (e, t) { return t.erasNameRegex(e) }), ce("NNNNN", function (e, t) { return t.erasNarrowRegex(e) }), ye(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, n, s) { var i = n._locale.erasParse(e, s, n._strict); i ? y(n).era = i : y(n).invalidEra = e }), ce("y", oe), ce("yy", oe), ce("yyy", oe), ce("yyyy", oe), ce("yo", function (e, t) { return t._eraYearOrdinalRegex || oe }), ye(["y", "yy", "yyy", "yyyy"], pe), ye(["yo"], function (e, t, n, s) { var i; n._locale._eraYearOrdinalRegex && (i = e.match(n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[pe] = n._locale.eraYearOrdinalParse(e, i) : t[pe] = parseInt(e, 10) }), C(0, ["gg", 2], 0, function () { return this.weekYear() % 100 }), C(0, ["GG", 2], 0, function () { return this.isoWeekYear() % 100 }), dn("gggg", "weekYear"), dn("ggggg", "weekYear"), dn("GGGG", "isoWeekYear"), dn("GGGGG", "isoWeekYear"), L("weekYear", "gg"), L("isoWeekYear", "GG"), A("weekYear", 1), A("isoWeekYear", 1), ce("G", ue), ce("g", ue), ce("GG", te, Q), ce("gg", te, Q), ce("GGGG", re, K), ce("gggg", re, K), ce("GGGGG", ae, ee), ce("ggggg", ae, ee), ge(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, s) { t[s.substr(0, 2)] = Z(e) }), ge(["gg", "GG"], function (e, t, n, s) { t[s] = f.parseTwoDigitYear(e) }), C("Q", 0, "Qo", "quarter"), L("quarter", "Q"), A("quarter", 7), ce("Q", J), ye("Q", function (e, t) { t[ve] = 3 * (Z(e) - 1) }), C("D", ["DD", 2], "Do", "date"), L("date", "D"), A("date", 9), ce("D", te), ce("DD", te, Q), ce("Do", function (e, t) { return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient }), ye(["D", "DD"], ke), ye("Do", function (e, t) { t[ke] = Z(e.match(te)[0]) }); var fn = z("Date", !0); C("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), L("dayOfYear", "DDD"), A("dayOfYear", 4), ce("DDD", ie), ce("DDDD", X), ye(["DDD", "DDDD"], function (e, t, n) { n._dayOfYear = Z(e) }), C("m", ["mm", 2], 0, "minute"), L("minute", "m"), A("minute", 14), ce("m", te), ce("mm", te, Q), ye(["m", "mm"], De); var mn = z("Minutes", !1); C("s", ["ss", 2], 0, "second"), L("second", "s"), A("second", 15), ce("s", te), ce("ss", te, Q), ye(["s", "ss"], Se); var _n, yn, gn = z("Seconds", !1); for (C("S", 0, 0, function () { return ~~(this.millisecond() / 100) }), C(0, ["SS", 2], 0, function () { return ~~(this.millisecond() / 10) }), C(0, ["SSS", 3], 0, "millisecond"), C(0, ["SSSS", 4], 0, function () { return 10 * this.millisecond() }), C(0, ["SSSSS", 5], 0, function () { return 100 * this.millisecond() }), C(0, ["SSSSSS", 6], 0, function () { return 1e3 * this.millisecond() }), C(0, ["SSSSSSS", 7], 0, function () { return 1e4 * this.millisecond() }), C(0, ["SSSSSSSS", 8], 0, function () { return 1e5 * this.millisecond() }), C(0, ["SSSSSSSSS", 9], 0, function () { return 1e6 * this.millisecond() }), L("millisecond", "ms"), A("millisecond", 16), ce("S", ie, J), ce("SS", ie, Q), ce("SSS", ie, X), _n = "SSSS"; _n.length <= 9; _n += "S")ce(_n, oe); function wn(e, t) { t[Ye] = Z(1e3 * ("0." + e)) } for (_n = "S"; _n.length <= 9; _n += "S")ye(_n, wn); yn = z("Milliseconds", !1), C("z", 0, 0, "zoneAbbr"), C("zz", 0, 0, "zoneName"); var pn = k.prototype; function vn(e) { return e } pn.add = Jt, pn.calendar = function (e, t) { 1 === arguments.length && (arguments[0] ? Kt(arguments[0]) ? (e = arguments[0], t = void 0) : function (e) { for (var t = u(e) && !l(e), n = !1, s = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], i = 0; i < s.length; i += 1)n = n || m(e, s[i]); return t && n }(arguments[0]) && (t = arguments[0], e = void 0) : t = e = void 0); var n = e || Tt(), s = Gt(n, this).startOf("day"), i = f.calendarFormat(this, s) || "sameElse", r = t && (O(t[i]) ? t[i].call(this, n) : t[i]); return this.format(r || this.localeData().calendar(i, this, Tt(n))) }, pn.clone = function () { return new k(this) }, pn.diff = function (e, t, n) { var s, i, r; if (!this.isValid()) return NaN; if (!(s = Gt(e, this)).isValid()) return NaN; switch (i = 6e4 * (s.utcOffset() - this.utcOffset()), t = V(t)) { case "year": r = en(this, s) / 12; break; case "month": r = en(this, s); break; case "quarter": r = en(this, s) / 3; break; case "second": r = (this - s) / 1e3; break; case "minute": r = (this - s) / 6e4; break; case "hour": r = (this - s) / 36e5; break; case "day": r = (this - s - i) / 864e5; break; case "week": r = (this - s - i) / 6048e5; break; default: r = this - s }return n ? r : I(r) }, pn.endOf = function (e) { var t, n; if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid()) return this; switch (n = this._isUTC ? un : on, e) { case "year": t = n(this.year() + 1, 0, 1) - 1; break; case "quarter": t = n(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; break; case "month": t = n(this.year(), this.month() + 1, 1) - 1; break; case "week": t = n(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; break; case "isoWeek": t = n(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; break; case "day": case "date": t = n(this.year(), this.month(), this.date() + 1) - 1; break; case "hour": t = this._d.valueOf(), t += 36e5 - an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - 1; break; case "minute": t = this._d.valueOf(), t += 6e4 - an(t, 6e4) - 1; break; case "second": t = this._d.valueOf(), t += 1e3 - an(t, 1e3) - 1; break }return this._d.setTime(t), f.updateOffset(this, !0), this }, pn.format = function (e) { e = e || (this.isUtc() ? f.defaultFormatUtc : f.defaultFormat); var t = U(this, e); return this.localeData().postformat(t) }, pn.from = function (e, t) { return this.isValid() && (M(e) && e.isValid() || Tt(e).isValid()) ? Zt({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate() }, pn.fromNow = function (e) { return this.from(Tt(), e) }, pn.to = function (e, t) { return this.isValid() && (M(e) && e.isValid() || Tt(e).isValid()) ? Zt({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate() }, pn.toNow = function (e) { return this.to(Tt(), e) }, pn.get = function (e) { return O(this[e = V(e)]) ? this[e]() : this }, pn.invalidAt = function () { return y(this).overflow }, pn.isAfter = function (e, t) { var n = M(e) ? e : Tt(e); return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = V(t) || "millisecond") ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf()) }, pn.isBefore = function (e, t) { var n = M(e) ? e : Tt(e); return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = V(t) || "millisecond") ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf()) }, pn.isBetween = function (e, t, n, s) { var i = M(e) ? e : Tt(e), r = M(t) ? t : Tt(t); return !!(this.isValid() && i.isValid() && r.isValid()) && (("(" === (s = s || "()")[0] ? this.isAfter(i, n) : !this.isBefore(i, n)) && (")" === s[1] ? this.isBefore(r, n) : !this.isAfter(r, n))) }, pn.isSame = function (e, t) { var n, s = M(e) ? e : Tt(e); return !(!this.isValid() || !s.isValid()) && ("millisecond" === (t = V(t) || "millisecond") ? this.valueOf() === s.valueOf() : (n = s.valueOf(), this.clone().startOf(t).valueOf() <= n && n <= this.clone().endOf(t).valueOf())) }, pn.isSameOrAfter = function (e, t) { return this.isSame(e, t) || this.isAfter(e, t) }, pn.isSameOrBefore = function (e, t) { return this.isSame(e, t) || this.isBefore(e, t) }, pn.isValid = function () { return g(this) }, pn.lang = nn, pn.locale = tn, pn.localeData = sn, pn.max = Pt, pn.min = Nt, pn.parsingFlags = function () { return c({}, y(this)) }, pn.set = function (e, t) { if ("object" == typeof e) for (var n = function (e) { var t, n = []; for (t in e) m(e, t) && n.push({ unit: t, priority: E[t] }); return n.sort(function (e, t) { return e.priority - t.priority }), n }(e = G(e)), s = 0; s < n.length; s++)this[n[s].unit](e[n[s].unit]); else if (O(this[e = V(e)])) return this[e](t); return this }, pn.startOf = function (e) { var t, n; if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid()) return this; switch (n = this._isUTC ? un : on, e) { case "year": t = n(this.year(), 0, 1); break; case "quarter": t = n(this.year(), this.month() - this.month() % 3, 1); break; case "month": t = n(this.year(), this.month(), 1); break; case "week": t = n(this.year(), this.month(), this.date() - this.weekday()); break; case "isoWeek": t = n(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); break; case "day": case "date": t = n(this.year(), this.month(), this.date()); break; case "hour": t = this._d.valueOf(), t -= an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5); break; case "minute": t = this._d.valueOf(), t -= an(t, 6e4); break; case "second": t = this._d.valueOf(), t -= an(t, 1e3); break }return this._d.setTime(t), f.updateOffset(this, !0), this }, pn.subtract = Qt, pn.toArray = function () { var e = this; return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()] }, pn.toObject = function () { var e = this; return { years: e.year(), months: e.month(), date: e.date(), hours: e.hours(), minutes: e.minutes(), seconds: e.seconds(), milliseconds: e.milliseconds() } }, pn.toDate = function () { return new Date(this.valueOf()) }, pn.toISOString = function (e) { if (!this.isValid()) return null; var t = !0 !== e, n = t ? this.clone().utc() : this; return n.year() < 0 || 9999 < n.year() ? U(n, t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ") : O(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", U(n, "Z")) : U(n, t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ") }, pn.inspect = function () { if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; var e, t, n, s = "moment", i = ""; return this.isLocal() || (s = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone", i = "Z"), e = "[" + s + '("]', t = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", n = i + '[")]', this.format(e + t + "-MM-DD[T]HH:mm:ss.SSS" + n) }, "undefined" != typeof Symbol && null != Symbol.for && (pn[Symbol.for("nodejs.util.inspect.custom")] = function () { return "Moment<" + this.format() + ">" }), pn.toJSON = function () { return this.isValid() ? this.toISOString() : null }, pn.toString = function () { return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ") }, pn.unix = function () { return Math.floor(this.valueOf() / 1e3) }, pn.valueOf = function () { return this._d.valueOf() - 6e4 * (this._offset || 0) }, pn.creationData = function () { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict } }, pn.eraName = function () { for (var e, t = this.localeData().eras(), n = 0, s = t.length; n < s; ++n) { if (e = this.clone().startOf("day").valueOf(), t[n].since <= e && e <= t[n].until) return t[n].name; if (t[n].until <= e && e <= t[n].since) return t[n].name } return "" }, pn.eraNarrow = function () { for (var e, t = this.localeData().eras(), n = 0, s = t.length; n < s; ++n) { if (e = this.clone().startOf("day").valueOf(), t[n].since <= e && e <= t[n].until) return t[n].narrow; if (t[n].until <= e && e <= t[n].since) return t[n].narrow } return "" }, pn.eraAbbr = function () { for (var e, t = this.localeData().eras(), n = 0, s = t.length; n < s; ++n) { if (e = this.clone().startOf("day").valueOf(), t[n].since <= e && e <= t[n].until) return t[n].abbr; if (t[n].until <= e && e <= t[n].since) return t[n].abbr } return "" }, pn.eraYear = function () { for (var e, t, n = this.localeData().eras(), s = 0, i = n.length; s < i; ++s)if (e = n[s].since <= n[s].until ? 1 : -1, t = this.clone().startOf("day").valueOf(), n[s].since <= t && t <= n[s].until || n[s].until <= t && t <= n[s].since) return (this.year() - f(n[s].since).year()) * e + n[s].offset; return this.year() }, pn.year = Le, pn.isLeapYear = function () { return j(this.year()) }, pn.weekYear = function (e) { return cn.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy) }, pn.isoWeekYear = function (e) { return cn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4) }, pn.quarter = pn.quarters = function (e) { return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + this.month() % 3) }, pn.month = Ue, pn.daysInMonth = function () { return xe(this.year(), this.month()) }, pn.week = pn.weeks = function (e) { var t = this.localeData().week(this); return null == e ? t : this.add(7 * (e - t), "d") }, pn.isoWeek = pn.isoWeeks = function (e) { var t = Ae(this, 1, 4).week; return null == e ? t : this.add(7 * (e - t), "d") }, pn.weeksInYear = function () { var e = this.localeData()._week; return je(this.year(), e.dow, e.doy) }, pn.weeksInWeekYear = function () { var e = this.localeData()._week; return je(this.weekYear(), e.dow, e.doy) }, pn.isoWeeksInYear = function () { return je(this.year(), 1, 4) }, pn.isoWeeksInISOWeekYear = function () { return je(this.isoWeekYear(), 1, 4) }, pn.date = fn, pn.day = pn.days = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t, n, s = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return null != e ? (t = e, n = this.localeData(), e = "string" != typeof t ? t : isNaN(t) ? "number" == typeof (t = n.weekdaysParse(t)) ? t : null : parseInt(t, 10), this.add(e - s, "d")) : s }, pn.weekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t = (this.day() + 7 - this.localeData()._week.dow) % 7; return null == e ? t : this.add(e - t, "d") }, pn.isoWeekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; if (null == e) return this.day() || 7; var t, n, s = (t = e, n = this.localeData(), "string" == typeof t ? n.weekdaysParse(t) % 7 || 7 : isNaN(t) ? null : t); return this.day(this.day() % 7 ? s : s - 7) }, pn.dayOfYear = function (e) { var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; return null == e ? t : this.add(e - t, "d") }, pn.hour = pn.hours = tt, pn.minute = pn.minutes = mn, pn.second = pn.seconds = gn, pn.millisecond = pn.milliseconds = yn, pn.utcOffset = function (e, t, n) { var s, i = this._offset || 0; if (!this.isValid()) return null != e ? this : NaN; if (null == e) return this._isUTC ? i : Et(this); if ("string" == typeof e) { if (null === (e = Vt(he, e))) return this } else Math.abs(e) < 16 && !n && (e *= 60); return !this._isUTC && t && (s = Et(this)), this._offset = e, this._isUTC = !0, null != s && this.add(s, "m"), i !== e && (!t || this._changeInProgress ? Bt(this, Zt(e - i, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, f.updateOffset(this, !0), this._changeInProgress = null)), this }, pn.utc = function (e) { return this.utcOffset(0, e) }, pn.local = function (e) { return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(Et(this), "m")), this }, pn.parseZone = function () { var e; return null != this._tzm ? this.utcOffset(this._tzm, !1, !0) : "string" == typeof this._i && (null != (e = Vt(le, this._i)) ? this.utcOffset(e) : this.utcOffset(0, !0)), this }, pn.hasAlignedHourOffset = function (e) { return !!this.isValid() && (e = e ? Tt(e).utcOffset() : 0, (this.utcOffset() - e) % 60 == 0) }, pn.isDST = function () { return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() }, pn.isLocal = function () { return !!this.isValid() && !this._isUTC }, pn.isUtcOffset = function () { return !!this.isValid() && this._isUTC }, pn.isUtc = At, pn.isUTC = At, pn.zoneAbbr = function () { return this._isUTC ? "UTC" : "" }, pn.zoneName = function () { return this._isUTC ? "Coordinated Universal Time" : "" }, pn.dates = n("dates accessor is deprecated. Use date instead.", fn), pn.months = n("months accessor is deprecated. Use month instead", Ue), pn.years = n("years accessor is deprecated. Use year instead", Le), pn.zone = n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", function (e, t) { return null != e ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset() }), pn.isDSTShifted = n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", function () { if (!r(this._isDSTShifted)) return this._isDSTShifted; var e, t = {}; return v(t, this), (t = bt(t))._a ? (e = (t._isUTC ? _ : Tt)(t._a), this._isDSTShifted = this.isValid() && 0 < function (e, t, n) { for (var s = Math.min(e.length, t.length), i = Math.abs(e.length - t.length), r = 0, a = 0; a < s; a++)(n && e[a] !== t[a] || !n && Z(e[a]) !== Z(t[a])) && r++; return r + i }(t._a, e.toArray())) : this._isDSTShifted = !1, this._isDSTShifted }); var kn = x.prototype; function Mn(e, t, n, s) { var i = dt(), r = _().set(s, t); return i[n](r, e) } function Dn(e, t, n) { if (h(e) && (t = e, e = void 0), e = e || "", null != t) return Mn(e, t, n, "month"); for (var s = [], i = 0; i < 12; i++)s[i] = Mn(e, i, n, "month"); return s } function Sn(e, t, n, s) { t = ("boolean" == typeof e ? h(t) && (n = t, t = void 0) : (t = e, e = !1, h(n = t) && (n = t, t = void 0)), t || ""); var i, r = dt(), a = e ? r._week.dow : 0, o = []; if (null != n) return Mn(t, (n + a) % 7, s, "day"); for (i = 0; i < 7; i++)o[i] = Mn(t, (i + a) % 7, s, "day"); return o } kn.calendar = function (e, t, n) { var s = this._calendar[e] || this._calendar.sameElse; return O(s) ? s.call(t, n) : s }, kn.longDateFormat = function (e) { var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()]; return t || !n ? t : (this._longDateFormat[e] = n.match(N).map(function (e) { return "MMMM" === e || "MM" === e || "DD" === e || "dddd" === e ? e.slice(1) : e }).join(""), this._longDateFormat[e]) }, kn.invalidDate = function () { return this._invalidDate }, kn.ordinal = function (e) { return this._ordinal.replace("%d", e) }, kn.preparse = vn, kn.postformat = vn, kn.relativeTime = function (e, t, n, s) { var i = this._relativeTime[n]; return O(i) ? i(e, t, n, s) : i.replace(/%d/i, e) }, kn.pastFuture = function (e, t) { var n = this._relativeTime[0 < e ? "future" : "past"]; return O(n) ? n(t) : n.replace(/%s/i, t) }, kn.set = function (e) { var t, n; for (n in e) m(e, n) && (O(t = e[n]) ? this[n] = t : this["_" + n] = t); this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source) }, kn.eras = function (e, t) { for (var n, s = this._eras || dt("en")._eras, i = 0, r = s.length; i < r; ++i) { switch (typeof s[i].since) { case "string": n = f(s[i].since).startOf("day"), s[i].since = n.valueOf(); break }switch (typeof s[i].until) { case "undefined": s[i].until = 1 / 0; break; case "string": n = f(s[i].until).startOf("day").valueOf(), s[i].until = n.valueOf(); break } } return s }, kn.erasParse = function (e, t, n) { var s, i, r, a, o, u = this.eras(); for (e = e.toUpperCase(), s = 0, i = u.length; s < i; ++s)if (r = u[s].name.toUpperCase(), a = u[s].abbr.toUpperCase(), o = u[s].narrow.toUpperCase(), n) switch (t) { case "N": case "NN": case "NNN": if (a === e) return u[s]; break; case "NNNN": if (r === e) return u[s]; break; case "NNNNN": if (o === e) return u[s]; break } else if (0 <= [r, a, o].indexOf(e)) return u[s] }, kn.erasConvertYear = function (e, t) { var n = e.since <= e.until ? 1 : -1; return void 0 === t ? f(e.since).year() : f(e.since).year() + (t - e.offset) * n }, kn.erasAbbrRegex = function (e) { return m(this, "_erasAbbrRegex") || hn.call(this), e ? this._erasAbbrRegex : this._erasRegex }, kn.erasNameRegex = function (e) { return m(this, "_erasNameRegex") || hn.call(this), e ? this._erasNameRegex : this._erasRegex }, kn.erasNarrowRegex = function (e) { return m(this, "_erasNarrowRegex") || hn.call(this), e ? this._erasNarrowRegex : this._erasRegex }, kn.months = function (e, t) { return e ? o(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || Pe).test(t) ? "format" : "standalone"][e.month()] : o(this._months) ? this._months : this._months.standalone }, kn.monthsShort = function (e, t) { return e ? o(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[Pe.test(t) ? "format" : "standalone"][e.month()] : o(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone }, kn.monthsParse = function (e, t, n) { var s, i, r; if (this._monthsParseExact) return function (e, t, n) { var s, i, r, a = e.toLocaleLowerCase(); if (!this._monthsParse) for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], s = 0; s < 12; ++s)r = _([2e3, s]), this._shortMonthsParse[s] = this.monthsShort(r, "").toLocaleLowerCase(), this._longMonthsParse[s] = this.months(r, "").toLocaleLowerCase(); return n ? "MMM" === t ? -1 !== (i = we.call(this._shortMonthsParse, a)) ? i : null : -1 !== (i = we.call(this._longMonthsParse, a)) ? i : null : "MMM" === t ? -1 !== (i = we.call(this._shortMonthsParse, a)) || -1 !== (i = we.call(this._longMonthsParse, a)) ? i : null : -1 !== (i = we.call(this._longMonthsParse, a)) || -1 !== (i = we.call(this._shortMonthsParse, a)) ? i : null }.call(this, e, t, n); for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), s = 0; s < 12; s++) { if (i = _([2e3, s]), n && !this._longMonthsParse[s] && (this._longMonthsParse[s] = new RegExp("^" + this.months(i, "").replace(".", "") + "$", "i"), this._shortMonthsParse[s] = new RegExp("^" + this.monthsShort(i, "").replace(".", "") + "$", "i")), n || this._monthsParse[s] || (r = "^" + this.months(i, "") + "|^" + this.monthsShort(i, ""), this._monthsParse[s] = new RegExp(r.replace(".", ""), "i")), n && "MMMM" === t && this._longMonthsParse[s].test(e)) return s; if (n && "MMM" === t && this._shortMonthsParse[s].test(e)) return s; if (!n && this._monthsParse[s].test(e)) return s } }, kn.monthsRegex = function (e) { return this._monthsParseExact ? (m(this, "_monthsRegex") || He.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (m(this, "_monthsRegex") || (this._monthsRegex = We), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex) }, kn.monthsShortRegex = function (e) { return this._monthsParseExact ? (m(this, "_monthsRegex") || He.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (m(this, "_monthsShortRegex") || (this._monthsShortRegex = Re), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex) }, kn.week = function (e) { return Ae(e, this._week.dow, this._week.doy).week }, kn.firstDayOfYear = function () { return this._week.doy }, kn.firstDayOfWeek = function () { return this._week.dow }, kn.weekdays = function (e, t) { var n = o(this._weekdays) ? this._weekdays : this._weekdays[e && !0 !== e && this._weekdays.isFormat.test(t) ? "format" : "standalone"]; return !0 === e ? Ie(n, this._week.dow) : e ? n[e.day()] : n }, kn.weekdaysMin = function (e) { return !0 === e ? Ie(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin }, kn.weekdaysShort = function (e) { return !0 === e ? Ie(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort }, kn.weekdaysParse = function (e, t, n) { var s, i, r; if (this._weekdaysParseExact) return function (e, t, n) { var s, i, r, a = e.toLocaleLowerCase(); if (!this._weekdaysParse) for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], s = 0; s < 7; ++s)r = _([2e3, 1]).day(s), this._minWeekdaysParse[s] = this.weekdaysMin(r, "").toLocaleLowerCase(), this._shortWeekdaysParse[s] = this.weekdaysShort(r, "").toLocaleLowerCase(), this._weekdaysParse[s] = this.weekdays(r, "").toLocaleLowerCase(); return n ? "dddd" === t ? -1 !== (i = we.call(this._weekdaysParse, a)) ? i : null : "ddd" === t ? -1 !== (i = we.call(this._shortWeekdaysParse, a)) ? i : null : -1 !== (i = we.call(this._minWeekdaysParse, a)) ? i : null : "dddd" === t ? -1 !== (i = we.call(this._weekdaysParse, a)) || -1 !== (i = we.call(this._shortWeekdaysParse, a)) || -1 !== (i = we.call(this._minWeekdaysParse, a)) ? i : null : "ddd" === t ? -1 !== (i = we.call(this._shortWeekdaysParse, a)) || -1 !== (i = we.call(this._weekdaysParse, a)) || -1 !== (i = we.call(this._minWeekdaysParse, a)) ? i : null : -1 !== (i = we.call(this._minWeekdaysParse, a)) || -1 !== (i = we.call(this._weekdaysParse, a)) || -1 !== (i = we.call(this._shortWeekdaysParse, a)) ? i : null }.call(this, e, t, n); for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), s = 0; s < 7; s++) { if (i = _([2e3, 1]).day(s), n && !this._fullWeekdaysParse[s] && (this._fullWeekdaysParse[s] = new RegExp("^" + this.weekdays(i, "").replace(".", "\\.?") + "$", "i"), this._shortWeekdaysParse[s] = new RegExp("^" + this.weekdaysShort(i, "").replace(".", "\\.?") + "$", "i"), this._minWeekdaysParse[s] = new RegExp("^" + this.weekdaysMin(i, "").replace(".", "\\.?") + "$", "i")), this._weekdaysParse[s] || (r = "^" + this.weekdays(i, "") + "|^" + this.weekdaysShort(i, "") + "|^" + this.weekdaysMin(i, ""), this._weekdaysParse[s] = new RegExp(r.replace(".", ""), "i")), n && "dddd" === t && this._fullWeekdaysParse[s].test(e)) return s; if (n && "ddd" === t && this._shortWeekdaysParse[s].test(e)) return s; if (n && "dd" === t && this._minWeekdaysParse[s].test(e)) return s; if (!n && this._weekdaysParse[s].test(e)) return s } }, kn.weekdaysRegex = function (e) { return this._weekdaysParseExact ? (m(this, "_weekdaysRegex") || Qe.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (m(this, "_weekdaysRegex") || (this._weekdaysRegex = qe), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex) }, kn.weekdaysShortRegex = function (e) { return this._weekdaysParseExact ? (m(this, "_weekdaysRegex") || Qe.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (m(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Be), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) }, kn.weekdaysMinRegex = function (e) { return this._weekdaysParseExact ? (m(this, "_weekdaysRegex") || Qe.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (m(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Je), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) }, kn.isPM = function (e) { return "p" === (e + "").toLowerCase().charAt(0) }, kn.meridiem = function (e, t, n) { return 11 < e ? n ? "pm" : "PM" : n ? "am" : "AM" }, lt("en", { eras: [{ since: "0001-01-01", until: 1 / 0, offset: 1, name: "Anno Domini", narrow: "AD", abbr: "AD" }, { since: "0000-12-31", until: -1 / 0, offset: 1, name: "Before Christ", narrow: "BC", abbr: "BC" }], dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) { var t = e % 10; return e + (1 === Z(e % 100 / 10) ? "th" : 1 == t ? "st" : 2 == t ? "nd" : 3 == t ? "rd" : "th") } }), f.lang = n("moment.lang is deprecated. Use moment.locale instead.", lt), f.langData = n("moment.langData is deprecated. Use moment.localeData instead.", dt); var Yn = Math.abs; function On(e, t, n, s) { var i = Zt(t, n); return e._milliseconds += s * i._milliseconds, e._days += s * i._days, e._months += s * i._months, e._bubble() } function bn(e) { return e < 0 ? Math.floor(e) : Math.ceil(e) } function xn(e) { return 4800 * e / 146097 } function Tn(e) { return 146097 * e / 4800 } function Nn(e) { return function () { return this.as(e) } } var Pn = Nn("ms"), Rn = Nn("s"), Wn = Nn("m"), Cn = Nn("h"), Un = Nn("d"), Hn = Nn("w"), Fn = Nn("M"), Ln = Nn("Q"), Vn = Nn("y"); function Gn(e) { return function () { return this.isValid() ? this._data[e] : NaN } } var En = Gn("milliseconds"), An = Gn("seconds"), jn = Gn("minutes"), In = Gn("hours"), Zn = Gn("days"), zn = Gn("months"), $n = Gn("years"); var qn = Math.round, Bn = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; function Jn(e, t, n, s) { var i = Zt(e).abs(), r = qn(i.as("s")), a = qn(i.as("m")), o = qn(i.as("h")), u = qn(i.as("d")), l = qn(i.as("M")), h = qn(i.as("w")), d = qn(i.as("y")), c = (r <= n.ss ? ["s", r] : r < n.s && ["ss", r]) || a <= 1 && ["m"] || a < n.m && ["mm", a] || o <= 1 && ["h"] || o < n.h && ["hh", o] || u <= 1 && ["d"] || u < n.d && ["dd", u]; return null != n.w && (c = c || h <= 1 && ["w"] || h < n.w && ["ww", h]), (c = c || l <= 1 && ["M"] || l < n.M && ["MM", l] || d <= 1 && ["y"] || ["yy", d])[2] = t, c[3] = 0 < +e, c[4] = s, function (e, t, n, s, i) { return i.relativeTime(t || 1, !!n, e, s) }.apply(null, c) } var Qn = Math.abs; function Xn(e) { return (0 < e) - (e < 0) || +e } function Kn() { if (!this.isValid()) return this.localeData().invalidDate(); var e, t, n, s, i, r, a, o, u = Qn(this._milliseconds) / 1e3, l = Qn(this._days), h = Qn(this._months), d = this.asSeconds(); return d ? (e = I(u / 60), t = I(e / 60), u %= 60, e %= 60, n = I(h / 12), h %= 12, s = u ? u.toFixed(3).replace(/\.?0+$/, "") : "", i = d < 0 ? "-" : "", r = Xn(this._months) !== Xn(d) ? "-" : "", a = Xn(this._days) !== Xn(d) ? "-" : "", o = Xn(this._milliseconds) !== Xn(d) ? "-" : "", i + "P" + (n ? r + n + "Y" : "") + (h ? r + h + "M" : "") + (l ? a + l + "D" : "") + (t || e || u ? "T" : "") + (t ? o + t + "H" : "") + (e ? o + e + "M" : "") + (u ? o + s + "S" : "")) : "P0D" } var es = Ct.prototype; return es.isValid = function () { return this._isValid }, es.abs = function () { var e = this._data; return this._milliseconds = Yn(this._milliseconds), this._days = Yn(this._days), this._months = Yn(this._months), e.milliseconds = Yn(e.milliseconds), e.seconds = Yn(e.seconds), e.minutes = Yn(e.minutes), e.hours = Yn(e.hours), e.months = Yn(e.months), e.years = Yn(e.years), this }, es.add = function (e, t) { return On(this, e, t, 1) }, es.subtract = function (e, t) { return On(this, e, t, -1) }, es.as = function (e) { if (!this.isValid()) return NaN; var t, n, s = this._milliseconds; if ("month" === (e = V(e)) || "quarter" === e || "year" === e) switch (t = this._days + s / 864e5, n = this._months + xn(t), e) { case "month": return n; case "quarter": return n / 3; case "year": return n / 12 } else switch (t = this._days + Math.round(Tn(this._months)), e) { case "week": return t / 7 + s / 6048e5; case "day": return t + s / 864e5; case "hour": return 24 * t + s / 36e5; case "minute": return 1440 * t + s / 6e4; case "second": return 86400 * t + s / 1e3; case "millisecond": return Math.floor(864e5 * t) + s; default: throw new Error("Unknown unit " + e) } }, es.asMilliseconds = Pn, es.asSeconds = Rn, es.asMinutes = Wn, es.asHours = Cn, es.asDays = Un, es.asWeeks = Hn, es.asMonths = Fn, es.asQuarters = Ln, es.asYears = Vn, es.valueOf = function () { return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * Z(this._months / 12) : NaN }, es._bubble = function () { var e, t, n, s, i, r = this._milliseconds, a = this._days, o = this._months, u = this._data; return 0 <= r && 0 <= a && 0 <= o || r <= 0 && a <= 0 && o <= 0 || (r += 864e5 * bn(Tn(o) + a), o = a = 0), u.milliseconds = r % 1e3, e = I(r / 1e3), u.seconds = e % 60, t = I(e / 60), u.minutes = t % 60, n = I(t / 60), u.hours = n % 24, a += I(n / 24), o += i = I(xn(a)), a -= bn(Tn(i)), s = I(o / 12), o %= 12, u.days = a, u.months = o, u.years = s, this }, es.clone = function () { return Zt(this) }, es.get = function (e) { return e = V(e), this.isValid() ? this[e + "s"]() : NaN }, es.milliseconds = En, es.seconds = An, es.minutes = jn, es.hours = In, es.days = Zn, es.weeks = function () { return I(this.days() / 7) }, es.months = zn, es.years = $n, es.humanize = function (e, t) { if (!this.isValid()) return this.localeData().invalidDate(); var n, s, i = !1, r = Bn; return "object" == typeof e && (t = e, e = !1), "boolean" == typeof e && (i = e), "object" == typeof t && (r = Object.assign({}, Bn, t), null != t.s && null == t.ss && (r.ss = t.s - 1)), n = this.localeData(), s = Jn(this, !i, r, n), i && (s = n.pastFuture(+this, s)), n.postformat(s) }, es.toISOString = Kn, es.toString = Kn, es.toJSON = Kn, es.locale = tn, es.localeData = sn, es.toIsoString = n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", Kn), es.lang = nn, C("X", 0, 0, "unix"), C("x", 0, 0, "valueOf"), ce("x", ue), ce("X", /[+-]?\d+(\.\d{1,3})?/), ye("X", function (e, t, n) { n._d = new Date(1e3 * parseFloat(e)) }), ye("x", function (e, t, n) { n._d = new Date(Z(e)) }), f.version = "2.29.1", e = Tt, f.fn = pn, f.min = function () { return Rt("isBefore", [].slice.call(arguments, 0)) }, f.max = function () { return Rt("isAfter", [].slice.call(arguments, 0)) }, f.now = function () { return Date.now ? Date.now() : +new Date }, f.utc = _, f.unix = function (e) { return Tt(1e3 * e) }, f.months = function (e, t) { return Dn(e, t, "months") }, f.isDate = a, f.locale = lt, f.invalid = w, f.duration = Zt, f.isMoment = M, f.weekdays = function (e, t, n) { return Sn(e, t, n, "weekdays") }, f.parseZone = function () { return Tt.apply(null, arguments).parseZone() }, f.localeData = dt, f.isDuration = Ut, f.monthsShort = function (e, t) { return Dn(e, t, "monthsShort") }, f.weekdaysMin = function (e, t, n) { return Sn(e, t, n, "weekdaysMin") }, f.defineLocale = ht, f.updateLocale = function (e, t) { var n, s, i; return null != t ? (i = st, null != it[e] && null != it[e].parentLocale ? it[e].set(b(it[e]._config, t)) : (null != (s = ut(e)) && (i = s._config), t = b(i, t), null == s && (t.abbr = e), (n = new x(t)).parentLocale = it[e], it[e] = n), lt(e)) : null != it[e] && (null != it[e].parentLocale ? (it[e] = it[e].parentLocale, e === lt() && lt(e)) : null != it[e] && delete it[e]), it[e] }, f.locales = function () { return s(it) }, f.weekdaysShort = function (e, t, n) { return Sn(e, t, n, "weekdaysShort") }, f.normalizeUnits = V, f.relativeTimeRounding = function (e) { return void 0 === e ? qn : "function" == typeof e && (qn = e, !0) }, f.relativeTimeThreshold = function (e, t) { return void 0 !== Bn[e] && (void 0 === t ? Bn[e] : (Bn[e] = t, "s" === e && (Bn.ss = t - 1), !0)) }, f.calendarFormat = function (e, t) { var n = e.diff(t, "days", !0); return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse" }, f.prototype = pn, f.HTML5_FMT = { DATETIME_LOCAL: "YYYY-MM-DDTHH:mm", DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss", DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS", DATE: "YYYY-MM-DD", TIME: "HH:mm", TIME_SECONDS: "HH:mm:ss", TIME_MS: "HH:mm:ss.SSS", WEEK: "GGGG-[W]WW", MONTH: "YYYY-MM" }, f });
//# sourceMappingURL=moment.min.js.map;
window.app = {};

window.app.working = function (message) {
    var ind = $("#working-indicator");
    ind.find("#working-indicator-message").html(message || "Working...");
    ind.fadeIn();
};

window.app.notWorking = function () {
    var ind = $("#working-indicator");
    ind.hide();
};

window.app.navigateTo = function (url) {
    if(url && url > "")
    {
        location.href = url;
    }
};

window.app.confirmFirst = function (url) {
    if (confirm("Are you sure?")) {
        location.href = url;
    }
};

window.app.postValue = function (postTo, input) {
    var value = $(input).val();
    $.post(postTo, { value: value }, function (res) {
        if(res != "OK")
        {
            alert(res);
        }
        else
        {
            $(input).css("background-color", "lightgreen");
            window.setTimeout(function () {
                $(input).css("background-color", "white");
            }, 2000);
        }
    }, "text");
};

window.app.getLocalTime = function () {
    var now = new Date();
    var year = now.getFullYear().toString();
    var month = (now.getMonth() + 1).toString();
    var day = now.getDate().toString();
    var hours = now.getHours().toString();
    var minutes = now.getMinutes().toString();
    if (minutes.length == 1)
        minutes = "0" + minutes;

    return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":00";
};

window.app.formIsDirty = false;

window.app.fullScreenMap = {};

window.app.fullScreenMap.map = null; //this is the leaflet map

window.app.fullScreenMap.hideContent = function() {
    $("#inner-map-content-overlay").hide();
    $("#collapsed-content").show();
}

window.app.fullScreenMap.showContent = function () {
    $("#inner-map-content-overlay").show();
    $("#collapsed-content").hide();
}

//geo utils
window.app.getCentroid = function (geojsonFeatureCollection) {
    var center = [0, 0];

    var features = []; 
    if ($.isArray(geojsonFeatureCollection))
        features = geojsonFeatureCollection;
    else
        features = geojsonFeatureCollection.features;

    for (var i = 0; i < features.length; i++) {
        center[0] += features[i].geometry.coordinates[0];
        center[1] += features[i].geometry.coordinates[1];
    }
    center[0] = center[0] / features.length;
    center[1] = center[1] / features.length;
    return center;
};

//survey stuff

window.app.isDirty = false;

window.app.evaluateConditionals = function (qids, qvals, ops) {
    //note that the arguments might be arrays - coerce them all to arrays if not
    if (!Array.isArray(qids))
        qids = qids.split(",");

    if (!Array.isArray(qvals))
        qvals = qvals.split(",");

    if (!Array.isArray(ops))
        ops = ops.split(",");

    for (var i = 0; i < qids.length; i++) {
        var qid = qids[i];
        var qval = null;
        var op = "EQ";

        if (qvals.length > i)
            qval = qvals[i];

        if (ops.length > i)
            op = ops[i];

        //if ANY evaluate to true, whole thing is true
        if (app.evaluateConditional(qid, qval, op))
            return true;
    }
    //if none have evaled to true, return false
    return false;
};

window.app.evaluateConditional = function (quid, qval, op) {
    //evaluates a single conditional
    var fieldVal = null;

    //first try select
    fieldVal = $("select[name=" + quid + "]").val();

    if (!fieldVal) //then try radios
        fieldVal = $("input[name=" + quid + "]:checked").val();

    if (op == "EQ")
        return fieldVal == qval;
    else if (op == "GT")
        return fieldVal > qval;
    else if (op == "LT")
        return fieldVal < qval;

    return false;
};

window.app.initializePage = function () {
    //figure out whether each conditional should show
    $(".conditional-group").each(function () {
        var cond = $(this);
        var quid = cond.attr("question-id");
        var op = cond.attr("operator");
        var compval = cond.attr("value");

        if (app.evaluateConditionals(quid, compval, op))
            cond.show();
        else
            cond.hide();
    });

    var enableNext = true;
    var consents = $(".consent-question");

    consents.each(function () { //if any consents aren't checked, disallow next
        if (!$(this).is(":checked"))
            enableNext = false;
    });

    //set up file photo previews
    var files = $(".file-question-data");
    files.each(function () {
        var val = $(this).val();
        if(val > "")
        {
            var canvas = document.getElementById($(this).attr("canvas-id"));
            var ctx = canvas.getContext('2d');
            var img = new Image();
            img.onload = function () {
                var canvasWidth = canvas.width;
                var maxDim = img.width > img.height ? img.width : img.height;
                var scale = canvasWidth / maxDim;
                ctx.drawImage(img, 0, 0, img.width * scale, img.height * scale);
                canvas.style.display = "block";
            }
            img.src = val;
            canvas.onclick = function () {
                location.href = val;
            };
        }
    });

    $(".next-button").prop("disabled", !enableNext);
}

window.app.fieldChanged = function (id, type, value) {
    app.isDirty = true;

    if (type == "FILE")
    {
        window.app.handlePhoto(id);
    }

    //evaluate conditionals
    $(".conditional-group").each(function () {
        var cond = $(this);
        var quid = cond.attr("question-id");
        var op = cond.attr("operator");
        var compval = cond.attr("value");

        if (quid.indexOf(id) >= 0) //only evaluate the conditional if it is for the field that changed
        {
            if (app.evaluateConditionals(quid, compval, op))
                cond.fadeIn();
            else
                cond.fadeOut();
        }
    });

    if (type == "CONSENT") {
        var enableNext = true;
        var consents = $(".consent-question");

        consents.each(function () { //if any consents aren't checked, disallow next
            if (!$(this).is(":checked"))
                enableNext = false;
        });

        $(".next-button").prop("disabled", !enableNext);
    }
};

window.app.handlePhoto = function (id) {
    var input = document.getElementById("fileinput-" + id);
    if (input.files.length > 0) {
        var file = input.files[0];
        if (file) {
            var reader = new FileReader();

            var canvas = document.getElementById('canvas-' + id);
            var ctx = canvas.getContext('2d');

            reader.onload = function (event) {
                var img = new Image();
                img.onload = function () {
                    //canvas is 300x300 - need to scale to fit
                    var canvasWidth = canvas.width;
                    var maxDim = img.width > img.height ? img.width : img.height;
                    var scale = canvasWidth / maxDim;
                    ctx.drawImage(img, 0, 0, img.width * scale, img.height * scale);

                    var finishedData = canvas.toDataURL();
                    //uncomment this to save the resized version of the photo vs. the native one
                    //document.getElementById("data-" + id).value = finishedData;
                    canvas.style.display = "block";
                    console.log("resized: " + finishedData.length);
                }
                console.log("native: " + event.target.result.length);

                //this saves the native version of the photo
                document.getElementById("data-" + id).value = event.target.result;
                img.src = event.target.result;
            };

            reader.readAsDataURL(file)
        }
    }
};

window.app._findUsersAndGroupsCallback = null;

window.app.findUsersAndGroups = function (callback, title) {
    window.app._findUsersAndGroupsCallback = callback;
    $("#securitySearchModal .modal-title").html(title || "Find Users & Groups");
    $("#securitySearchQuery").val("");
    $("#securitySearchResults").html("");
    $("#securitySearchModal").modal("show");
};

window.app.doFindUsersAndGroups = function (query) {
    $.get("/security/api/search", { query: query }, function (res) {
        var html = "";
        if (res.length == 0)
        {
            html = "<div>none found</div>";
        }
        else
        {
            for (var i = 0; i < res.length; i++) {
                html += "<div><a href='javascript:window.app.findUsersAndGroupsCallback(\"" + res[i].ID + "\", \"" + res[i].Kind + "\");'>" + res[i].Name + "</a> <span class='label label-default'>" + res[i].Kind + "</span></div>";
            }
        }
        $("#securitySearchResults").html(html);
    }, "json");
};

window.app.findUsersAndGroupsCallback = function (id, kind) {
    if (window.app._findUsersAndGroupsCallback)
    {
        window.app._findUsersAndGroupsCallback(id, kind);
    }
    $("#securitySearchModal").modal("hide");
};

//following

window.app.follow = function (kindID, entityID, button) {
    app.working();
    $.post("/explore/" + kindID + "/follow/" + entityID, null, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $(button).attr("onclick", "app.unfollow('" + kindID + "', '" + entityID + "', this)").addClass("active").html("<i class='glyphicon glyphicon-star'></i> Following");
        }
        app.notWorking();
    }, "json");
};

window.app.unfollow = function (kindID, entityID, button) {
    app.working();
    $.post("/explore/" + kindID + "/unfollow/" + entityID, null, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $(button).attr("onclick", "app.follow('" + kindID + "', '" + entityID + "', this)").removeClass("active").html("<i class='glyphicon glyphicon-star-empty'></i> Follow");
        }
        app.notWorking();
    }, "json");
};

window.app.ai = function (selector, prompt, system, model ="gpt-4-1106-preview", temperature=0.0, maxtokens = 1000) {
    $(selector).html("<img src='/Images/ajax-loader.gif' style='max-width:30px;'/> working...");
    $.post("/ai", {
        "prompt": prompt,
        "system": system,
        "model": model,
        "temperature": temperature,
        "maxtokens": maxtokens
    }, function (res) {
        $(selector).html(res);
    }, "text"
    );
};

window.posts = {};

window.posts.addPhoto = function (id) {
    var block = $("#editpost-" + id);
    var filePicker = block.find("input.photoUploader");
    filePicker.click();
};

window.posts.lastBodyCursorPosition = null; //this is some bookkeeping so that we can insert text into the body editor

window.posts.embedImageInBody = function (holder) {
    var postID = $(holder).attr("post-id");
    var attachmentID = $(holder).attr("attachment-id");
    var bodyTextarea = $("textarea#post-body-" + postID)[0];
    var caption = $(holder).find(".caption").val();
    var imgUrl = "https://www.tribalhealthnetwork.org/posts/attachment/" + attachmentID;
    var html = "<div class='inline-image'><img style='max-width:100%;' src='" + imgUrl + "'/><div class='caption'>" + caption + "</div></div>";

    if (window.posts.lastBodyCursorPosition) {
        // Insert the text at the last known cursor position
        bodyTextarea.value = bodyTextarea.value.substring(0, window.posts.lastBodyCursorPosition.start) +
            html +
            bodyTextarea.value.substring(window.posts.lastBodyCursorPosition.end);

        // Update the cursor position to be after the inserted text
        bodyTextarea.selectionStart = bodyTextarea.selectionEnd = window.posts.lastBodyCursorPosition.start + html.length;
    } else {
        // Append the text at the end if no cursor position is stored
        bodyTextarea.value += "\n\n" + html;
    }

    // Reset the lastCursorPosition
    window.posts.lastBodyCursorPosition = null;
}

window.posts.addVideo = function (id) {
    var block = $("#editpost-" + id);
    var filePicker = block.find("input.videoUploader");
    filePicker.click();
};

window.posts.addVideoToUnsavedPost = function (id) {
    alert("Please save this post before adding a video to it.");
};

//this is from: https://blog.bitscry.com/2018/03/14/uploading-files-to-azure-blob-storage-from-the-browser/

posts.handleVideo = function (id, input) {


    var files = input.files;
    if (files.length > 0) {
        $("#uploadingMessage").show();
        var prog = $("#progress");
        prog.css("width", "0%");

        var file = files[0];
        $.post("/posts/addvideo/" + id, null, function (res) {
            if (res.Status == "ERROR") {
                alert(res.Message);
                app.notWorking();
            } else {
                var blobService = AzureStorage.Blob.createBlobServiceWithSas("https://tribalhealthnetwork.blob.core.windows.net", res.Sas);

                var customBlockSize = file.size > 1024 * 1024 * 32 ? 1024 * 1024 * 4 : 1024 * 512;
                blobService.singleBlobPutThresholdInBytes = customBlockSize;

                var finishedOrError = false;
                var speedSummary = blobService.createBlockBlobFromBrowserFile('videos', res.VideoID + "/original", file, { blockSize: customBlockSize }, function (error, result, response) {
                    finishedOrError = true;
                    if (error) {
                        app.notWorking();
                        alert(error);
                        console.log(error);
                        // Upload blob failed
                        $("#uploadingMessage").hide();
                    } else {
                        app.notWorking();
                        $.post("/posts/videouploaded/" + res.VideoID, { SourceUrl: res.Url, SourceContentType: file.type }, function (rr) {
                            if (rr.Status == "OK") {
                                var vimeoID = rr.Video.VimeoID;
                                var block = $("#editpost-" + id);
                                var container = block.find(".timeline-card-videos");
                                var template = $("#new-video-template").html();
                                Mustache.parse(template);
                                var newvid = Mustache.render(template, rr.Video);
                                container.append(newvid);
                            }
                            else
                                alert(rr.Message);

                            $("#uploadingMessage").hide();
                        }, "json");
                    }
                });

                speedSummary.on('progress', function () {
                    var process = speedSummary.getCompletePercent();
                    prog.css("width", "" + (process) + "%");
                    console.log(process);
                });
            }


        }, "json");
    }

}

window.posts.share = function (id) {
    var container = $("#share-" + id);
    var sendTo = [];
    var intro = container.find("textarea.intro-message").val();

    container.find("input.sendto").each(function () {
        var t = $(this);
        if(t.attr("type") == "checkbox" && t.is(":checked"))
        {
            sendTo.push(t.val());
        }
        else if (t.attr("type") == "text") {
            var val = t.val();
            if (val && val > "") {
                var addresses = val.split(',');
                for (var i = 0; i < addresses.length; i++) {
                    sendTo.push(addresses[i].trim());
                }
            }
        }
    });

    if(sendTo.length > 0)
    {
        container.find(".send-status").html("sending...");
        $.post("/posts/sharepost/" + id, { sendTo: sendTo, intro : intro }, function (res) {
            if(res.Status == "ERROR")
            {
                alert(res.Message);
            }
            else if(res.Status == "INFO")
            {
                container.find(".send-status").html(res.Message.replace("\n", "<br>"));
            }
            else
            {
                container.find(".send-status").html("");
                container.fadeOut();
            }
        }, "json");
    }
    else
    {
        container.find(".send-status").html("No recipients specified.");
    }
};

window.posts.newPost = function (channel, initWithLinkedEntities) {
    $('.modal').modal('hide'); //close any open ones
    var dlg = $("#post-modal");
    dlg.find(".modal-title").html("New Note");
    dlg.find(".modal-body").html("<img src='/Images/ajax-loader.gif'/>");
    dlg.modal("show");
    dlg.find(".modal-body").load("/posts/newpost/" + channel, function () {
        if(initWithLinkedEntities)
        {
            for (var i = 0; i < initWithLinkedEntities.length; i++) {
                window.posts.addLink("NEWPOST", initWithLinkedEntities[i].KindID, initWithLinkedEntities[i].EntityID, initWithLinkedEntities[i].EntityName);
            }
        }

        //set up event handlers for the menu open events
        $("#editpost-NEWPOST span.dropdown").each(function() {
            $(this).on('show.bs.dropdown', function () {
                window.posts.doEntitySearch(channel, "NEWPOST", $(this).attr("kind"), $(this).find("input").val()); //run a default query
            });

            $(this).on('shown.bs.dropdown', function () {
                $(this).find("input").select();
            });
        });

        //adding transcript stuff
        $("#editpost-NEWPOST .post-subject").transcribe();
        $("#editpost-NEWPOST textarea").transcribe();
    });
};

window.posts.showOptions = function (id) {
    var area = $("#options-" + id);
    area.html("").html("<img src='/Images/ajax-loader.gif'/>");
    area.load("/posts/options/" + id);
};

window.posts.handlePhoto = function (id, field) {
    var MAX_FILE_SIZE = 5 * 1000000; //5 MB max
    var block = $("#editpost-" + id);
    input = field;
    var container = block.find(".timeline-card-images");
    if (input.files.length > 0) {
        var file = input.files[0];
        if (file) {
            var fname = file.name;
            var reader = new FileReader();

            reader.onload = function (event) {
                if (event.target.result.length > MAX_FILE_SIZE) {
                    alert("That file is too big to upload. Maximum supported size is approximately 4MB.")
                }
                else {
                    if (event.target.result.indexOf("data:image") == 0) //it's a photo
                    {
                        var imageHolder = $("<div class='timeline-image-holder image-holder'><img/><div><input class='filename' type='hidden' value=''/><input type='text' class='form-control input-sm caption photo-caption' placeholder='caption'/></div><div><button class='btn btn-link' onclick='window.posts.removePhoto(this.parentElement.parentElement);'><i class='glyphicon glyphicon-remove'></i> Remove</button></div></div>");
                        var img = imageHolder.find("img");
                        imageHolder.find("input.filename").val(fname);
                        img.attr("src", event.target.result);
                        container.append(imageHolder);
                    }
                    else //not a photo
                    {
                        var fileBlock = $("<div class='timeline-image-holder nonimage-holder'><input class='filecontents' type='hidden' value=''/><input class='filename' type='hidden' value=''/><h1><i class='glyphicon glyphicon-file'></i></h1> <div><input type='text' class='form-control input-sm caption photo-caption' placeholder='caption'/></div> <div><button class='btn btn-link' onclick='window.posts.removePhoto(this.parentElement.parentElement);'><i class='glyphicon glyphicon-remove'></i> Remove</button></div></div>");
                        fileBlock.find("input.filecontents").val(event.target.result);
                        fileBlock.find("input.caption").val(fname);
                        fileBlock.find("input.filename").val(fname);
                        container.append(fileBlock);
                    }
                }
                
            };

            reader.readAsDataURL(file)
        }
    }
};

window.posts.removePhoto = function (holder) {

    var postID = $(holder).attr("post-id");
    var attachmentID = $(holder).attr("attachment-id");

    if(postID && attachmentID && postID.length > 0 && attachmentID.length > 0) //means this is an existing post and we need to queue the attachment for removal
    {
        var removeMe = $("#attachmentsToRemove-" + postID).val();
        if (removeMe && removeMe.length > 0)
            removeMe += "," + attachmentID;
        else
            removeMe = attachmentID;
        $("#attachmentsToRemove-" + postID).val(removeMe);
    }

    $(holder).remove();
};

window.posts.removeVideo = function (holder) {

    var postID = $(holder).attr("post-id");
    var vidID = $(holder).attr("video-id");

    if (postID && vidID && postID.length > 0 && vidID.length > 0) //means this is an existing post and we need to queue the attachment for removal
    {
        var removeMe = $("#videosToRemove-" + postID).val();
        if (removeMe && removeMe.length > 0)
            removeMe += "," + vidID;
        else
            removeMe = vidID;
        $("#videosToRemove-" + postID).val(removeMe);
    }

    $(holder).remove();
};

window.posts.doPost = function (channel) {
    app.working();
    var block = $("#editpost-NEWPOST");
    var body = block.find("textarea").val();
    var subject = block.find("input.post-subject").val();
    var attachments = [];
    var crawlLinks = block.find(".CrawlLinks").is(":checked");
    var doPin = block.find(".IsPinned").is(":checked");
    var isPublished = block.find(".IsPublished").is(":checked");
    var pinSort = block.find(".PinnedSortOrder").val();

    var images = block.find(".image-holder");
    images.each(function () {
        var img = $(this).find("img").attr("src");
        var caption = $(this).find("input.caption").val();
        var filename = $(this).find("input.filename").val();
        attachments.push({caption:caption,data:img, filename:filename});
    });

    var nonimages = block.find(".nonimage-holder");
    nonimages.each(function () {
        var f = $(this).find("input.filecontents").val();
        var caption = $(this).find("input.caption").val();
        var filename = $(this).find("input.filename").val();
        attachments.push({caption:caption,data:f, filename:filename});
    });

    var data = {
        Subject: subject, Body: body, EventStartDate: block.find(".start-date").val(), EventEndDate: block.find(".end-date").val(), CrawlLinks: (crawlLinks ? "yes" : "no"),
        IsPinned: (doPin ? "yes" : "no"),
        PinnedSortOrder: (doPin ? pinSort : null),
        IsPublished : (isPublished ? "yes" : "no")
    };

    block.find(".post-link").each(function() {
        var link = $(this);
        var kind = link.attr("kind");
        var entity = link.attr("entity");

        if (!data[kind])
            data[kind] = entity;
        else
            data[kind] += "|" + entity;
    });

    $.post("/posts/createpost/" + channel, data, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            posts.addAttachments(res.PostID, attachments, function (postID) {

                app.working("Reindexing post...");
                $.post("/posts/reindexpost/" + postID, null, function (res) {
                    var newblock = $("<div id='post-wrapper-" + postID + "'>loading...</div>");
                    $("#posts").prepend(newblock);
                    posts.reloadCard(postID, function () {
                        //callback for the urls - triggers a crawl if necessary
                        $("#post-" + postID).find(".timeline-card-urls").html("getting URLs...").load("/posts/posturls/" + postID);
                    });

                    $("#post-modal").modal("hide");
                    app.notWorking();
                }, "json");
            });

            //cleanup
            block.find("input.post-subject").val("");
            block.find("textarea").val("");
            block.find(".timeline-card-images").html("");
            block.find(".post-link").remove();

            
        }
        app.notWorking();
    }, "json");
};

window.posts.addAttachments = function (id, attachments, callback) {
    if(attachments != null && attachments.length > 0)
    {
        app.working("Saving " + attachments.length + " attachment(s)...");
        var att = attachments.pop();


        $.post("/posts/addattachment/" + id, {Attachment:att.data, Caption:att.caption, FileName:att.filename}, function (res) {
            if (res.Status == "ERROR") {
                alert(res.Message);
                app.notWorking();
            }
            posts.addAttachments(id, attachments, callback);
        }, "json");

    }
    else
    {
        app.notWorking();

        if (callback)
            callback(id);
    }
};

window.posts.edit = function (id) {
    $('.modal').modal('hide'); //close any open ones
    var dlg = $("#post-modal");
    dlg.find(".modal-title").html("Edit Note");
    dlg.find(".modal-body").html("<img src='/Images/ajax-loader.gif'/>");
    dlg.modal("show");
    dlg.find(".modal-body").load("/posts/editpostcard/" + id, function () {
        //set up event handlers for the menu open events
        $("#editpost-" + id + " span.dropdown").each(function () {
            $(this).on('show.bs.dropdown', function () {
                window.posts.doEntitySearch($(this).attr("channel"), id, $(this).attr("kind"), $(this).find("input").val()); //run a default query
            });

            $(this).on('shown.bs.dropdown', function () {
                $(this).find("input").select();
            });
        });

        //adding transcript stuff
        $("#editpost-" + id + " .post-subject").transcribe();
        $("#editpost-" + id + " textarea").transcribe();
    });
};

window.posts.collections = function (id) {
    $('.modal').modal('hide'); //close any open ones
    var dlg = $("#post-modal");
    dlg.find(".modal-title").html("Collections <a class='btn btn-link' href='/posts/collections'><i class='glyphicon glyphicon-cog'></i> manage</a>");
    dlg.find(".modal-body").html("<img src='/Images/ajax-loader.gif'/>");
    dlg.modal("show");
    dlg.find(".modal-body").load("/posts/collectionscard/" + id, function () {

    });
};

window.posts.move = function (id) {
    $('.modal').modal('hide'); //close any open ones
    var dlg = $("#post-modal");
    dlg.find(".modal-title").html("Move Note to a Different Channel");
    dlg.find(".modal-body").html("<img src='/Images/ajax-loader.gif'/>");
    dlg.modal("show");
    dlg.find(".modal-body").load("/posts/move/" + id, function () {

    });
};

window.posts.doMove = function (postId, channelId) {
    app.working();

    $.post("/posts/move/" + postId, {ChannelID: channelId}, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $('.modal').modal('hide');
            posts.reloadCard(postId);
        }
        app.notWorking();
    }, "json");
};

window.posts.createCollection = function (name, addPostID) {
    if (!name || name == null || name.length == 0)
    {
        alert("Please provide a collection name.");
        return;
    }

    $.post("/posts/quickcreatecollection", { CollectionName: name, AddPostID: addPostID }, function (res) {
        if(res.Status == "ERROR")
            alert(res.Message);
        else
            $("#post-modal").modal('hide'); //close modal
    }, "json");
};


window.posts.addPostToCollection = function (collection, post, add) {
    var url = (add ? "AddPostToCollection" : "RemovePostFromCollection");
    $.post("/posts/" + url, { CollectionID: collection, PostID: post }, function (res) {
        if (res.Status == "ERROR")
            alert(res.Message);
    }, "json");
};


window.posts.cancelEdit = function (id) {
    $("#post-modal").modal("hide");
};

window.posts.updatePost = function (id) {
    app.working();
    var block = $("#editpost-" + id);
    var body = block.find("textarea").val();
    var subject = block.find("input.post-subject").val();
    var crawlLinks = block.find(".CrawlLinks").is(":checked");

    var doPin = block.find(".IsPinned").is(":checked");
    var isPublished = block.find(".IsPublished").is(":checked");
    var pinSort = block.find(".PinnedSortOrder").val();

    var data = {
        Subject: subject, Body: body, EventStartDate: block.find(".start-date").val(), EventEndDate: block.find(".end-date").val(),
        CrawlLinks: (crawlLinks ? "yes" : "no"),
        IsPinned: (doPin ? "yes" : "no"),
        PinnedSortOrder: (doPin ? pinSort : null),
        IsPublished: (isPublished ? "yes" : "no")
    };

    var attachments = [];

    var newattachments = block.find(".timeline-card-images");

    var images = newattachments.find(".image-holder");
    images.each(function () {
        var img = $(this).find("img").attr("src");
        var caption = $(this).find("input.caption").val();
        attachments.push({ caption: caption, data: img });
    });

    var nonimages = newattachments.find(".nonimage-holder");
    nonimages.each(function () {
        var f = $(this).find("input.filecontents").val();
        var caption = $(this).find("input.caption").val();
        attachments.push({ caption: caption, data: f });
    });

    //these are NEW attachments
    for (var i = 0; i < attachments.length; i++) {
        data["Attachment" + i] = attachments[i].data;
        data["Caption" + i] = attachments[i].caption;
    }

    data.RemoveAttachments = block.find("#attachmentsToRemove-" + id).val();
    data.RemoveVideos = block.find("#videosToRemove-" + id).val();

    var existingCaptions = block.find(".existing-caption");
    existingCaptions.each(function () {
        var val = $(this).val();
        var attachmentID = $(this).attr("attachment");
        data["ExistingCaption_" + attachmentID] = val;
    });

    var videoCaptions = block.find(".existing-video-caption");
    videoCaptions.each(function () {
        var val = $(this).val();
        var vidID = $(this).attr("video");
        data["ExistingVideoCaption_" + vidID] = val;
    });

    block.find(".post-link").each(function () {
        var link = $(this);
        var kind = link.attr("kind");
        var entity = link.attr("entity");

        if (!data[kind])
            data[kind] = entity;
        else
            data[kind] += "|" + entity;
    });

    $.post("/posts/updatepost/" + id, data, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $("#post-modal").modal("hide");
            posts.reloadCard(id, function () {
                //callback for the urls - triggers a crawl if necessary
                $("#post-" + id).find(".timeline-card-urls").html("getting URLs...").load("/posts/posturls/" + id);
            });
        }
        app.notWorking();
    }, "json");
};

window.posts.deletePost = function (id) {
    if (confirm("Are you sure?"))
    {
        app.working();
        $.post("/posts/deletepost/" + id, null, function (res) {
            if (res.Status == "ERROR") {
                alert(res.Message);
            }
            else {
                $("#post-" + id).fadeOut();
            }
            app.notWorking();
        }, "json");

    }
};

window.posts.deleteComment = function (id) {
    if (confirm("Are you sure?")) {
        $.post("/posts/deletecomment/" + id, null, function (res) {
            if (res.Status == "ERROR") {
                alert(res.Message);
            }
            else {
                $("#comment-count-" + res.PostID).html(res.CommentCount);
                $("#comment-" + id).fadeOut();
            }
        }, "json");

    }
};

window.posts.saveNewComment = function (id) {
    var comm = $("#newcomment-" + id).val();

    $.post("/posts/savecomment/" + id, {Comment: comm}, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            posts.reloadCard(id);
        }
    }, "json");
};

window.posts.reloadCard = function (id, callback) {
    var block = $("#post-wrapper-" + id);
    block.html("loading...");
    var refreshUrl = block.attr("refresh-url"); //this allows us to have a custom refresh URL e.g. for handbook
    if (refreshUrl == null || refreshUrl.length == 0) {
        refreshUrl = "/posts/postcard/" + id;
    }
    block.load(refreshUrl, callback);
};

window.posts.doEntitySearch = function(channelID, postID, kind, query)
{
    var area = $("#linkarea-" + postID + "-" + kind);
    area.find("li.result").remove();

    area.append("<li class='result'><div styles='text-align:center;font-style:italic;'>searching...</div></li>");

    var tagSelector = area.find("select");
    tagSelector.html("").hide();

    $.post("/posts/findentity/" + channelID, { kind: kind, query: query }, function (res) {
        area.find("li.result").remove();
        var alltags = {};
        for (var i = 0; i < res.length; i++) {
            area.append("<li tags='" + res[i].Tags + "' class='result' style='padding-left:" + (10 * ((res[i].Level || 1) - 1)) + "px;'><a style='cursor:pointer;' onclick=\"posts.addLink('" + postID + "', '" + kind + "', '" + res[i].EntityID + "', this.innerText);\">" + res[i].EntityName + "</a></li>");
            if(res[i].Tags != null)
            {
                var arrTags = res[i].Tags.split(',');
                for (var j = 0; j < arrTags.length; j++) {
                    if (alltags.hasOwnProperty(arrTags[j]))
                        alltags[arrTags[j]]++;
                    else
                        alltags[arrTags[j]] = 1;
                }
            }
        }

        var tagBrowser = "";
        for (var tag in alltags) {
            tagBrowser += "<option value='" + tag + "'>" + tag + " (" + alltags[tag] + ")</option>";
        }

        if (tagBrowser.length > 0)
            tagSelector.html("<option value=''>Filter</option><option value=''>All</option>" + tagBrowser).show();
        
    }, "json");


};

window.posts.filterEntitiesByTag = function (channelID, postID, kind, tag) {
    var area = $("#linkarea-" + postID + "-" + kind);
    var res = area.find("li.result");
    res.each(function () {
        if (tag == null || tag.length == 0)
            $(this).show();
        else
        {
            var thistag = $(this).attr("tags");
            if (thistag && thistag != null && thistag.indexOf(tag) >= 0)
                $(this).show();
            else
                $(this).hide();
        }
    });
};

window.posts.guessEntities = function (postID, kind) {
    var t = $("#post-body-" + postID).val();
    $.post("/posts/guessentities?kind=" + kind, { text: t }, function (res) {
        for (var i = 0; i < res.length; i++) {
            posts.addLink(postID, kind, res[i].EntityID, res[i].EntityName);
        }
    }, "json");
};

window.posts.transcribe = function (videoID) {
    var p = prompt("(Optional) Enter a transcription hint. You might include acronyms or names that the transcription engine often misses.");
    location.href = "https://leo-video-converter.azurewebsites.net/api/TranscribeThnVideo?VideoID=" + videoID + "&prompt=" + p;
};

window.posts.addLink = function (postID, kind, entityID, entityName) {
    var card = $("#editpost-" + postID);
    var linksArea = card.find(".timeline-card-links");
    var existingid = "link-" + postID + "-" + kind + "-" + entityID;

    //jump out if it is already here
    var addit = true;
    linksArea.find("a").each(function () {
        if ($(this).attr("id") == existingid)
        {
            addit = false;
            return;
        }
    });
    
    if (addit)
    {
        var newlink = $("<a id='link-" + postID + "-" + kind + "-" + entityID + "' onclick=\"posts.removeLink('" + postID + "', '" + kind + "', '" + entityID + "');\" class='post-link' kind='" + kind + "' entity='" + entityID + "'><i class='glyphicon glyphicon-remove'/> " + entityName + "</a> ")
        linksArea.append(newlink);
        linksArea.append(" "); //allows wrapping
    }
};

window.posts.removeLink = function (postID, kind, entityID) {
    var card = $("#editpost-" + postID);
    var linksArea = card.find(".timeline-card-links");
    linksArea.find(".post-link").each(function () {
        var l = $(this);
        if (l.attr("kind") == kind && l.attr("entity") == entityID)
            l.remove();
    });
};


window.posts.follow = function (channelID, button) {
    app.working();
    $.post("/posts/follow/" + channelID, null, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $(button).attr("onclick", "posts.unfollow('" + channelID + "', this)").addClass("active").html("<i class='glyphicon glyphicon-star'></i> Following");
        }
        app.notWorking();
    }, "json");
};

window.posts.unfollow = function (channelID, button) {
    app.working();
    $.post("/posts/unfollow/" + channelID, null, function (res) {
        if (res.Status == "ERROR") {
            alert(res.Message);
        }
        else {
            $(button).attr("onclick", "posts.follow('" + channelID + "', this)").removeClass("active").html("<i class='glyphicon glyphicon-star-empty'></i> Follow");
        }
        app.notWorking();
    }, "json");
};;
// Azure Storage JavaScript Client Library 3.0.100
// Copyright (c) Microsoft and contributors. All rights reserved.
/* eslint-disable */
!function (t) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else { var e; ((e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).AzureStorage || (e.AzureStorage = {})).Blob = t() } }(function () { return function o(a, s, l) { function c(e, t) { if (!s[e]) { if (!a[e]) { var n = "function" == typeof require && require; if (!t && n) return n(e, !0); if (u) return u(e, !0); var i = new Error("Cannot find module '" + e + "'"); throw i.code = "MODULE_NOT_FOUND", i } var r = s[e] = { exports: {} }; a[e][0].call(r.exports, function (t) { return c(a[e][1][t] || t) }, r, r.exports, o, a, s, l) } return s[e].exports } for (var u = "function" == typeof require && require, t = 0; t < l.length; t++)c(l[t]); return c }({ 1: [function (t, e, n) { e.exports.generateDevelopmentStorageCredentials = function (t) { var e = "UseDevelopmentStorage=true;"; return t && (e += "DevelopmentStorageProxyUri=" + t), e }; var i = t("../lib/services/blob/blobservice.browser"); e.exports.BlobService = i, e.exports.BlobUtilities = t("../lib/services/blob/blobutilities"), e.exports.createBlobService = function (t, e, n) { return new i(t, e, n, null) }, e.exports.createBlobServiceWithSas = function (t, e) { return new i(null, null, t, e) }, e.exports.createBlobServiceWithTokenCredential = function (t, e) { return new i(null, null, t, null, null, e) }, e.exports.createBlobServiceAnonymous = function (t) { return new i(null, null, t, null) }; var r = t("../lib/common/common.browser"), o = r.StorageServiceClient, a = r.SharedKey; e.exports.generateAccountSharedAccessSignature = function (t, e, n) { var i = o.getStorageSettings(t, e); return new a(i._name, i._key).generateAccountSignedQueryString(n) }, e.exports.Constants = r.Constants, e.exports.StorageUtilities = r.StorageUtilities, e.exports.AccessCondition = r.AccessCondition, e.exports.SR = r.SR, e.exports.StorageServiceClient = o, e.exports.Logger = r.Logger, e.exports.WebResource = r.WebResource, e.exports.Validate = r.validate, e.exports.date = r.date, e.exports.TokenCredential = r.TokenCredential, e.exports.LinearRetryPolicyFilter = r.LinearRetryPolicyFilter, e.exports.ExponentialRetryPolicyFilter = r.ExponentialRetryPolicyFilter, e.exports.RetryPolicyFilter = r.RetryPolicyFilter }, { "../lib/common/common.browser": 2, "../lib/services/blob/blobservice.browser": 40, "../lib/services/blob/blobutilities": 42 }], 2: [function (t, e, n) { var i = t("./common.core"); i.BrowserFileReadStream = t("./streams/browserfilereadstream"), e.exports = i }, { "./common.core": 3, "./streams/browserfilereadstream": 24 }], 3: [function (t, e, n) { n = e.exports; var i = t("./util/util"); t("./util/patch-xmlbuilder"); var r = i.getNodeVersion(); if (0 === r.major && 8 < r.minor && !(10 < r.minor || 10 === r.minor && 3 <= r.patch)) throw new Error("The Microsoft Azure node SDK does not work with node versions > 0.9.0 and < 0.10.3. Please upgrade to node >= 0.10.3"); n.xmlbuilder = t("xmlbuilder"), n.xml2js = t("xml2js"), n.Logger = t("./diagnostics/logger"), n.WebResource = t("./http/webresource"), n.StorageServiceClient = t("./services/storageserviceclient"), n.ServicePropertiesResult = t("./models/servicepropertiesresult"), n.ServiceStatsParser = t("./models/servicestatsparser"), n.AclResult = t("./models/aclresult"), n.TokenCredential = t("./models/tokencredential"), n.LinearRetryPolicyFilter = t("./filters/linearretrypolicyfilter"), n.ExponentialRetryPolicyFilter = t("./filters/exponentialretrypolicyfilter"), n.RetryPolicyFilter = t("./filters/retrypolicyfilter"), n.SharedAccessSignature = t("./signing/sharedaccesssignature"), n.SharedKey = t("./signing/sharedkey"), n.BatchOperation = t("./streams/batchoperation"), n.ChunkAllocator = t("./streams/chunkallocator"), n.ChunkStream = t("./streams/chunkstream"), n.ChunkStreamWithStream = t("./streams/chunkstreamwithstream"), n.SpeedSummary = t("./streams/speedsummary"), n.BufferStream = t("./streams/bufferstream"), n.Constants = t("./util/constants"), n.SR = t("./util/sr"), n.date = t("./util/date"), n.ISO8061Date = t("./util/iso8061date"), n.util = t("./util/util"), n.validate = t("./util/validate"), n.StorageUtilities = t("./util/storageutilities"), n.AccessCondition = t("./util/accesscondition") }, { "./diagnostics/logger": 4, "./filters/exponentialretrypolicyfilter": 6, "./filters/linearretrypolicyfilter": 7, "./filters/retrypolicyfilter": 8, "./http/webresource": 9, "./models/aclresult": 12, "./models/servicepropertiesresult": 13, "./models/servicestatsparser": 14, "./models/tokencredential": 15, "./services/storageserviceclient": 18, "./signing/sharedaccesssignature": 20, "./signing/sharedkey": 21, "./streams/batchoperation": 23, "./streams/bufferstream": 25, "./streams/chunkallocator": 26, "./streams/chunkstream": 27, "./streams/chunkstreamwithstream": 28, "./streams/speedsummary": 30, "./util/accesscondition": 31, "./util/constants": 32, "./util/date": 33, "./util/iso8061date": 34, "./util/patch-xmlbuilder": 35, "./util/sr": 36, "./util/storageutilities": 37, "./util/util": 38, "./util/validate": 39, xml2js: 194, xmlbuilder: 216 }], 4: [function (t, e, n) { function o(t, e) { this.level = t, this.loggerFunction = e, this.loggerFunction || (this.loggerFunction = this.defaultLoggerFunction) } o.logPriority = [(o.LogLevels = { EMERGENCY: "emergency", ALERT: "alert", CRITICAL: "critical", ERROR: "error", WARNING: "warning", NOTICE: "notice", INFO: "info", DEBUG: "debug" }).EMERGENCY, o.LogLevels.ALERT, o.LogLevels.CRITICAL, o.LogLevels.ERROR, o.LogLevels.WARNING, o.LogLevels.NOTICE, o.LogLevels.INFO, o.LogLevels.DEBUG], o.prototype.log = function (t, e) { this.loggerFunction(t, e) }, o.prototype.emergency = function (t) { this.log(o.LogLevels.EMERGENCY, t) }, o.prototype.critical = function (t) { this.log(o.LogLevels.CRITICAL, t) }, o.prototype.alert = function (t) { this.log(o.LogLevels.ALERT, t) }, o.prototype.error = function (t) { this.log(o.LogLevels.ERROR, t) }, o.prototype.warn = function (t) { this.log(o.LogLevels.WARNING, t) }, o.prototype.notice = function (t) { this.log(o.LogLevels.NOTICE, t) }, o.prototype.info = function (t) { this.log(o.LogLevels.INFO, t) }, o.prototype.debug = function (t) { this.log(o.LogLevels.DEBUG, t) }, o.prototype.defaultLoggerFunction = function (t, e) { var n = o.logPriority.indexOf(this.level), i = o.logPriority.indexOf(t), r = (new Date).toISOString(); i <= n && console.log("[" + r + "]" + this.level + " : " + e) }, e.exports = o }, {}], 5: [function (t, e, n) { var i = t("util"), r = t("underscore"); function o(t, e) { Error.captureStackTrace && Error.captureStackTrace(t, e) } function a(t, e) { o(this, this.constructor), this.name = this.constructor.name, this.argumentName = t, this.message = e || i.format("Invalid or missing argument supplied: %s", t) } function s(t, e) { o(this, this.constructor), this.name = this.constructor.name, this.argumentName = t, this.message = e || i.format("Missing argument: %s", t) } function l(t, e) { o(this, this.constructor), this.name = this.constructor.name, this.message = t, e && r.extend(this, e) } function c(t) { o(this, this.constructor), this.name = this.constructor.name, this.message = t } i.inherits(a, Error), i.inherits(s, Error), i.inherits(l, Error), i.inherits(c, Error), e.exports.ArgumentError = a, e.exports.ArgumentNullError = s, e.exports.StorageError = l, e.exports.TimeoutError = c, e.exports.captureStackTrace = o }, { underscore: 111, util: 117 }], 6: [function (t, e, n) { "use strict"; var r = t("./retrypolicyfilter"); function o(t, e, n, i) { this.retryCount = t || o.DEFAULT_CLIENT_RETRY_COUNT, this.retryInterval = e || o.DEFAULT_CLIENT_RETRY_INTERVAL, this.minRetryInterval = n || o.DEFAULT_CLIENT_MIN_RETRY_INTERVAL, this.maxRetryInterval = i || o.DEFAULT_CLIENT_MAX_RETRY_INTERVAL } o.DEFAULT_CLIENT_RETRY_INTERVAL = 3e4, o.DEFAULT_CLIENT_RETRY_COUNT = 3, o.DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 9e4, o.DEFAULT_CLIENT_MIN_RETRY_INTERVAL = 3e3, o.prototype.shouldRetry = function (t, e) { var n = e && e.retryContext ? e.retryContext : {}, i = Math.pow(2, n.retryCount) - 1; return i *= .8 * this.retryInterval + Math.floor(Math.random() * (1.2 * this.retryInterval - .8 * this.retryInterval)), n.retryInterval = Math.min(this.minRetryInterval + i, this.maxRetryInterval), r._shouldRetryOnError(t, e) }, o.prototype.handle = function (t, e) { r._handle(this, t, e) }, e.exports = o }, { "./retrypolicyfilter": 8 }], 7: [function (t, e, n) { "use strict"; var i = t("./retrypolicyfilter"); function r(t, e) { this.retryCount = t || r.DEFAULT_CLIENT_RETRY_COUNT, this.retryInterval = e || r.DEFAULT_CLIENT_RETRY_INTERVAL } r.DEFAULT_CLIENT_RETRY_INTERVAL = 3e4, r.DEFAULT_CLIENT_RETRY_COUNT = 3, r.prototype.shouldRetry = function (t, e) { return (e && e.retryContext ? e.retryContext : {}).retryInterval = this.retryInterval, i._shouldRetryOnError(t, e) }, r.prototype.handle = function (t, e) { i._handle(this, t, e) }, e.exports = r }, { "./retrypolicyfilter": 8 }], 8: [function (t, e, n) { var f = t("../util/util"), h = t("../util/constants"), m = t("../util/storageutilities"), i = t("util")._extend; function r(t, e) { this.retryCount = t || r.DEFAULT_CLIENT_RETRY_COUNT, this.retryInterval = e || r.DEFAULT_CLIENT_RETRY_INTERVAL } r.DEFAULT_CLIENT_RETRY_INTERVAL = 3e4, r.DEFAULT_CLIENT_RETRY_COUNT = 3, r.prototype.handle = function (t, e) { r._handle(this, t, e) }, r._handle = function (l, t, e) { var c, u, p = i({}, t); p.retryInterval = 0, p.retryContext = { retryCount: 0, error: null, retryInterval: p.retryInterval, locationMode: p.locationMode, currentLocation: p.currentLocation }; var d = function () { e && e(p, function (t, e, n) { t.error && (p.retryContext.error && (t.error.innerError = p.retryContext.error), p.retryContext.error = t.error); var i = p.currentLocation === h.StorageLocation.SECONDARY && (t.response && 404 === t.response.statusCode || t.error && "ENOTFOUND" === t.error.code), r = !p.retryContext.retryCount || p.retryContext.retryCount <= l.retryCount, o = l.shouldRetry(i ? 500 : f.objectIsNull(t.response) ? 306 : t.response.statusCode, p); if (p.retryContext.retryCount++, o.ignore && (t.error = null), f.objectIsNull(o.targetLocation) && (o.targetLocation = f.getNextLocation(p.currentLocation, p.locationMode)), f.objectIsNull(o.retryInterval) && (o.retryInterval = l.retryInterval), !t.outputStreamSent && t.error && f.objectIsNull(t.retryable) && r && (!f.objectIsNull(t.response) && o.retryable || "ECONNREFUSED" === t.error.code || "ETIMEDOUT" === t.error.code || "ESOCKETTIMEDOUT" === t.error.code || "ECONNRESET" === t.error.code || "EAI_AGAIN" === t.error.code || "XHR error" === t.error.message)) { p.currentLocation === h.StorageLocation.PRIMARY ? c = t.operationEndTime : u = t.operationEndTime, i && p.locationMode !== m.LocationMode.SECONDARY_ONLY && (o.locationMode = m.LocationMode.PRIMARY_ONLY, o.targetLocation = h.StorageLocation.PRIMARY); var a = o.targetLocation === h.StorageLocation.PRIMARY ? c : u; if (f.objectIsNull(a)) p.retryInterval = 0; else { var s = (new Date).getTime() - a.getTime(); s < 0 && (s = 0), p.retryInterval = o.retryInterval - s } f.objectIsNull(o.locationMode) || (p.locationMode = o.locationMode), p.currentLocation = o.targetLocation, d() } else n ? n(t) : e && e(t) }) }; d() }, r._shouldRetryOnError = function (t, e) { var n = e && e.retryContext ? e.retryContext : {}; if (300 <= t && 408 != t) { if (501 == t || 505 == t) return n.retryable = !1, n; e && e.absorbConditionalErrorsOnRetry ? 412 == t ? n.lastServerError ? (n.ignore = !0, n.retryable = !0) : n.retryable = !1 : 500 <= t && t < 600 && (n.retryable = !0, n.lastServerError = !0) : t < 500 && (n.retryable = !1) } return n }, e.exports = r }, { "../util/constants": 32, "../util/storageutilities": 37, "../util/util": 38, util: 117 }], 9: [function (t, e, n) { var s = t("../util/util"), l = t("../util/sr"), i = t("../util/constants"), c = t("../errors/errors").ArgumentError, u = i.HeaderConstants, r = i.HttpConstants, o = (r = i.HttpConstants).HttpVerbs; function a(t) { return t.replace(/'/g, "%27") } function p() { this.rawResponse = !1, this.queryString = {} } p.put = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.PUT, e }, p.get = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.GET, e }, p.head = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.HEAD, e }, p.del = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.DELETE, e }, p.post = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.POST, e }, p.merge = function (t) { var e = new p; return e.path = t ? a(t) : null, e.method = r.HttpVerbs.MERGE, e }, p.prototype.withProperty = function (t, e) { return this.properties || (this.properties = {}), this.properties[t] = e, this }, p.prototype.withRawResponse = function (t) { return this.rawResponse = t, s.objectIsNull(this.rawResponse) && (this.rawResponse = !0), this }, p.prototype.withHeadersOnly = function (t) { return this.headersOnly = void 0 === t || t, this }, p.prototype.withQueryOption = function (t, e, n) { return s.objectIsNull(e) ? n && (this.queryString[t] = n) : this.queryString[t] = e, this }, p.prototype.withQueryOptions = function (t) { if (t) for (var e = 1; e < arguments.length; e++)t[arguments[e]] && this.withQueryOption(arguments[e], t[arguments[e]]); return this }, p.prototype.withHeader = function (t, e) { return this.headers || (this.headers = {}), s.IsNullOrEmptyOrUndefinedOrWhiteSpace(e) || (e = e instanceof Date ? e.toUTCString() : e, this.headers[t] = e), this }, p.prototype.withBody = function (t) { return this.body = t, this }, p.prototype.withHeaders = function (t) { if (t) for (var e = 1; e < arguments.length; e++)t[arguments[e]] && this.withHeader(arguments[e], t[arguments[e]]); return this }, p.prototype.addOptionalMetadataHeaders = function (o) { var a = this; return o && Object.keys(o).forEach(function (t) { if (s.IsNullOrEmptyOrUndefinedOrWhiteSpace(t)) throw new c("metadata", l.METADATA_KEY_INVALID); var e = o[t]; if (s.IsNullOrEmptyOrUndefinedOrWhiteSpace(e)) throw new c("metadata", l.METADATA_VALUE_INVALID); var n = u.PREFIX_FOR_STORAGE_METADATA + t, i = "", r = a.headers ? a.headers : {}; Object.keys(r).some(function (t) { return (i = t).toString().toLowerCase() === n.toLowerCase() }) ? a.withHeader(i, a.headers[i] + "," + e) : a.withHeader(n, e) }), this }, p.validResponse = function (t) { return 200 <= t && t < 300 }, p.prototype.pipeInput = function (t, e) { var n; return (n = this.method) !== o.PUT && n !== o.POST && n !== o.MERGE || this.hasOwnProperty("body") || t.pipe(e), e }, e.exports = p }, { "../errors/errors": 5, "../util/constants": 32, "../util/sr": 36, "../util/util": 38 }], 10: [function (t, e, n) { var i = t("md5.js"), r = function () { }; r.prototype.createMd5Hash = function () { return new i }, e.exports = r }, { "md5.js": 69 }], 11: [function (t, e, n) { var i = t("../util/constants").HeaderConstants; n.parse = function (t) { var e = {}; return t[i.SKU_NAME] && (e.SkuName = t[i.SKU_NAME]), t[i.ACCOUNT_KIND] && (e.AccountKind = t[i.ACCOUNT_KIND]), e } }, { "../util/constants": 32 }], 12: [function (t, e, n) { var a = t("underscore"), i = t("xmlbuilder"), r = t("../util/util"), s = t("../util/iso8061date"), l = t("../util/constants").AclConstants; (n = e.exports).serialize = function (r) { var o = i.create(l.SIGNED_IDENTIFIERS_ELEMENT, { version: "1.0", encoding: "utf-8" }), t = Object.keys(r); return 0 < t.length && t.forEach(function (t) { var e = r[t]; if (o = o.ele(l.SIGNED_IDENTIFIER_ELEMENT).ele(l.ID).txt(t).up().ele(l.ACCESS_POLICY), e.Start) { var n = e.Start; a.isDate(n) || (n = new Date(n)), n = s.format(n), o = o.ele(l.START).txt(n).up() } if (e.Expiry) { var i = e.Expiry; a.isDate(i) || (i = new Date(i)), i = s.format(i), o = o.ele(l.EXPIRY).txt(i).up() } e.Permissions && (o = o.ele(l.PERMISSION).txt(e.Permissions).up()), o = o.up().up() }), o.doc().toString() }, n.parse = function (t) { var n = {}; return (t = r.tryGetValueChain(t, ["SignedIdentifiers", "SignedIdentifier"])) && (a.isArray(t) || (t = [t]), t.forEach(function (t) { var e = {}; t.AccessPolicy && (t.AccessPolicy.Start && (e.Start = s.parse(t.AccessPolicy.Start)), t.AccessPolicy.Expiry && (e.Expiry = s.parse(t.AccessPolicy.Expiry)), t.AccessPolicy.Permission && (e.Permissions = t.AccessPolicy.Permission)), n[t.Id] = e })), n } }, { "../util/constants": 32, "../util/iso8061date": 34, "../util/util": 38, underscore: 111, xmlbuilder: 216 }], 13: [function (t, e, n) { var u = t("underscore"), p = t("xmlbuilder"), d = t("../util/constants").ServicePropertiesConstants; function f(t, e) { null !== e && (void 0 === e && (e = {}), t = t.ele(d.RETENTION_POLICY_ELEMENT), t = void 0 !== e.Enabled ? t.ele(d.ENABLED_ELEMENT).txt(e.Enabled).up() : t.ele(d.ENABLED_ELEMENT).txt(!1).up(), void 0 !== e.Days ? t = t.ele(d.DAYS_ELEMENT).txt(e.Days).up() : !0 === e.Enabled && (t = t.ele(d.DAYS_ELEMENT).txt(1).up()), t = t.up()) } function h(t, e) { t = void 0 !== e.Version ? t.ele(d.VERSION_ELEMENT).txt(e.Version).up() : t.ele(d.VERSION_ELEMENT).txt(d.DEFAULT_ANALYTICS_VERSION).up(), t = void 0 !== e.Enabled ? t.ele(d.ENABLED_ELEMENT).txt(e.Enabled).up() : t.ele(d.ENABLED_ELEMENT).txt(!1).up(), e.Enabled && (void 0 !== e.IncludeAPIs ? t = t.ele(d.INCLUDE_APIS_ELEMENT).txt(e.IncludeAPIs).up() : !0 === e.Enabled && (t = t.ele(d.INCLUDE_APIS_ELEMENT).txt(!1).up())), f(t, e.RetentionPolicy) } function l(t) { var e = {}; return void 0 !== t.Enabled && (e.Enabled = "true" === t.Enabled), void 0 !== t.Days && (e.Days = parseInt(t.Days, 10)), e } function c(t) { var e = {}; return void 0 !== t.Version && (e.Version = t.Version), void 0 !== t.Enabled && (e.Enabled = "true" === t.Enabled), void 0 !== t.IncludeAPIs && (e.IncludeAPIs = "true" === t.IncludeAPIs), void 0 !== t.RetentionPolicy && (e.RetentionPolicy = l(t.RetentionPolicy)), e } (n = e.exports).serialize = function (t) { var e, n, i, r, o, a, s, l, c = p.create(d.STORAGE_SERVICE_PROPERTIES_ELEMENT, { version: "1.0", encoding: "utf-8" }); return t.Logging && (c = c.ele(d.LOGGING_ELEMENT), e = c, n = t.Logging, e = void 0 !== n.Version ? e.ele(d.VERSION_ELEMENT).txt(n.Version).up() : e.ele(d.VERSION_ELEMENT).txt(d.DEFAULT_ANALYTICS_VERSION).up(), e = void 0 !== n.Delete ? e.ele(d.DELETE_ELEMENT).txt(n.Delete).up() : e.ele(d.DELETE_ELEMENT).txt(!1).up(), e = void 0 !== n.Read ? e.ele(d.READ_ELEMENT).txt(n.Read).up() : e.ele(d.READ_ELEMENT).txt(!1).up(), f(e = void 0 !== n.Write ? e.ele(d.WRITE_ELEMENT).txt(n.Write).up() : e.ele(d.WRITE_ELEMENT).txt(!1).up(), n.RetentionPolicy), e = e.up(), c = c.up()), t.HourMetrics && (h(c = c.ele(d.HOUR_METRICS_ELEMENT), t.HourMetrics), c = c.up()), t.MinuteMetrics && (h(c = c.ele(d.MINUTE_METRICS_ELEMENT), t.MinuteMetrics), c = c.up()), t.Cors && (c = c.ele(d.CORS_ELEMENT), i = c, null != (r = t.Cors.CorsRule) && u.isArray(r) && r.forEach(function (t) { i = i.ele(d.CORS_RULE_ELEMENT), void 0 !== t.AllowedMethods && u.isArray(t.AllowedMethods) && (i = i.ele(d.ALLOWED_METHODS_ELEMENT).txt(t.AllowedMethods.join(",")).up()), void 0 !== t.AllowedOrigins && u.isArray(t.AllowedOrigins) && (i = i.ele(d.ALLOWED_ORIGINS_ELEMENT).txt(t.AllowedOrigins.join(",")).up()), i = void 0 !== t.AllowedHeaders && u.isArray(t.AllowedHeaders) ? i.ele(d.ALLOWED_HEADERS_ELEMENT).txt(t.AllowedHeaders.join(",")).up() : i.ele(d.ALLOWED_HEADERS_ELEMENT).txt("").up(), i = void 0 !== t.ExposedHeaders && u.isArray(t.ExposedHeaders) ? i.ele(d.EXPOSED_HEADERS_ELEMENT).txt(t.ExposedHeaders.join(",")).up() : i.ele(d.EXPOSED_HEADERS_ELEMENT).txt("").up(), i = (i = void 0 !== t.MaxAgeInSeconds ? i.ele(d.MAX_AGE_IN_SECONDS_ELEMENT).txt(t.MaxAgeInSeconds).up() : i.ele(d.MAX_AGE_IN_SECONDS_ELEMENT).txt("0").up()).up() }), c = c.up()), t.DefaultServiceVersion && (c = c.ele(d.DEFAULT_SERVICE_VERSION_ELEMENT).txt(t.DefaultServiceVersion).up()), t.DeleteRetentionPolicy && (c = c.ele(d.DEFAULT_DELETE_RETENTION_POLICY_ELEMENT), o = c, null !== (a = t.DeleteRetentionPolicy) && (void 0 === a && (a = {}), o = void 0 !== a.Enabled ? o.ele(d.ENABLED_ELEMENT).txt(a.Enabled).up() : o.ele(d.ENABLED_ELEMENT).txt(!1).up(), void 0 !== a.Days ? o = o.ele(d.DAYS_ELEMENT).txt(a.Days).up() : !0 === a.Enabled && (o = o.ele(d.DAYS_ELEMENT).txt(1).up()), o = o.up()), c = c.up()), t.StaticWebsite && (c = c.ele(d.DEFAULT_STATIC_WEBSITE_ELEMENT), s = c, null !== (l = t.StaticWebsite) && (void 0 === l && (l = {}), s = void 0 !== l.Enabled ? s.ele(d.ENABLED_ELEMENT).txt(l.Enabled).up() : s.ele(d.ENABLED_ELEMENT).txt(!1).up(), void 0 !== l.IndexDocument && (s = s.ele(d.DEFAULT_INDEX_DOCUMENT_ELEMENT).txt(l.IndexDocument).up()), void 0 !== l.ErrorDocument404Path && (s = s.ele(d.DEFAULT_ERROR_DOCUMENT_404_PATH_ELEMENT).txt(l.ErrorDocument404Path).up()), s = s.up()), c = c.up()), c.doc().toString() }, n.parse = function (t) { var e, n, i, r, o, a, s = {}; return void 0 !== t.Logging && (s.Logging = (e = t.Logging, n = {}, void 0 !== e.Version && (n.Version = e.Version), void 0 !== e.Delete && (n.Delete = "true" === e.Delete), void 0 !== e.Read && (n.Read = "true" === e.Read), void 0 !== e.Write && (n.Write = "true" === e.Write), void 0 !== e.RetentionPolicy && (n.RetentionPolicy = l(e.RetentionPolicy)), n)), void 0 !== t.HourMetrics && (s.HourMetrics = c(t.HourMetrics)), void 0 !== t.MinuteMetrics && (s.MinuteMetrics = c(t.MinuteMetrics)), void 0 !== t.Cors && (s.Cors = function (t) { var n = {}; if (void 0 !== t.CorsRule) { var e = t.CorsRule; u.isArray(e) || (e = [e]), n.CorsRule = [], e.forEach(function (t) { var e = {}; void 0 !== t.AllowedMethods && ("" !== t.AllowedMethods ? e.AllowedMethods = t.AllowedMethods.split(",") : e.AllowedMethods = []), void 0 !== t.AllowedOrigins && ("" !== t.AllowedOrigins ? e.AllowedOrigins = t.AllowedOrigins.split(",") : e.AllowedOrigins = []), void 0 !== t.AllowedHeaders && ("" !== t.AllowedHeaders ? e.AllowedHeaders = t.AllowedHeaders.split(",") : e.AllowedHeaders = []), void 0 !== t.ExposedHeaders && ("" !== t.ExposedHeaders ? e.ExposedHeaders = t.ExposedHeaders.split(",") : e.ExposedHeaders = []), void 0 !== t.MaxAgeInSeconds && (e.MaxAgeInSeconds = parseInt(t.MaxAgeInSeconds, 10)), n.CorsRule.push(e) }) } return n }(t.Cors)), void 0 !== t.DefaultServiceVersion && (s.DefaultServiceVersion = t.DefaultServiceVersion), void 0 !== t.DeleteRetentionPolicy && (s.DeleteRetentionPolicy = (i = t.DeleteRetentionPolicy, r = {}, void 0 !== i.Enabled && (r.Enabled = "true" === i.Enabled), void 0 !== i.Days && (r.Days = parseInt(i.Days)), r)), void 0 !== t.StaticWebsite && (s.StaticWebsite = (o = t.StaticWebsite, a = {}, void 0 !== o.Enabled && (a.Enabled = "true" === o.Enabled), void 0 !== o.IndexDocument && (a.IndexDocument = o.IndexDocument), void 0 !== o.ErrorDocument404Path && (a.ErrorDocument404Path = o.ErrorDocument404Path), a)), s } }, { "../util/constants": 32, underscore: 111, xmlbuilder: 216 }], 14: [function (t, e, n) { e.exports.parse = function (t) { var e = {}; return void 0 !== t.GeoReplication && (e.GeoReplication = {}, void 0 !== t.GeoReplication.Status && (e.GeoReplication.Status = t.GeoReplication.Status), void 0 !== t.GeoReplication.LastSyncTime && "" !== t.GeoReplication.LastSyncTime && (e.GeoReplication.LastSyncTime = new Date(t.GeoReplication.LastSyncTime))), e } }, {}], 15: [function (t, e, n) { function i(t) { this.token = t } i.prototype.get = function () { return this.token }, i.prototype.set = function (t) { this.token = t }, e.exports = i }, {}], 16: [function (e, u, t) { (function (r) { var o = e("../common.browser"), n = e("stream").Duplex, a = e("extend"), s = e("http"), l = e("https"), t = e("url"); function c(t, e) { n.call(this), this._init(t, e), this._send() } function i(t, e) { return i.defaults()(t, e) } e("util").inherits(c, n), c.prototype._init = function (t, e) { this.callback = e; var n = o.util.filterOutNonReservedProperties(this, t); a(this, n), this.agent = this.agent || !1, this.timeout = this.timeout || 1e3 * Math.pow(2, 32), this._initUri(), this._initHeaders() }, c.prototype._initUri = function () { if (!this.uri) return this.emit("error", new Error("options.uri is a required argument")); "string" == typeof this.uri && (this.uri = t.parse(this.uri)), this.uri.href || (this.uri.href = t.format(this.uri)) }, c.prototype._initHeaders = function () { this.headers = this.headers || {}, this.headers["content-length"] = this.headers["content-length"] || 0 }, c.prototype._send = function () { this._sent = !0; var t = this.uri.protocol || "", e = "https:" === t ? l : s, n = { scheme: t.replace(/:$/, ""), method: this.method, host: this.uri.hostname, port: Number(this.uri.port) || ("https:" === t ? 443 : 80), path: this.uri.path, agent: this.agent, headers: this.headers, withCredentials: this.withCredentials, localAddress: this.localAddress, mode: this.mode }; "https:" === t && (n.pfx = this.pfx, n.key = this.key, n.cert = this.cert, n.ca = this.ca, n.ciphers = this.ciphers, n.rejectUnauthorized = this.rejectUnauthorized, n.secureProtocol = this.secureProtocol); var i = e.request(n); return this.timeout && i.setTimeout && i.setTimeout(this.timeout), this.httpRequest = i, this.emit("request", i), this._sendBody(), this._listenHttpResponse(), this._listenHttpError(), i }, c.prototype._sendBody = function () { if (this.body) return this.httpRequest.write(this.body), void this.httpRequest.end(); "0" != this.headers["content-length"] || this.httpRequest.end() }, c.prototype._listenHttpError = function () { var e = this; e.httpRequest.on("error", function (t) { e.emit("error", t) }), e.on("error", function (t) { e.callback && e.callback(t) }) }, c.prototype._listenHttpResponse = function () { var i = this; i.httpRequest.on("response", function (t) { var e = [], n = 0; (i.response = t).on("data", function (t) { i.push(t), e.push(t), n += t.length }), t.on("error", function (t) { i.emit("error", t) }), t.on("end", function () { i.push(null), t.body = "", 0 < n && (t.body = r.concat(e, n)), null !== i.encoding && (t.body = t.body.toString(i.encoding)), i.callback && i.callback(null, t) }), i.emit("response", t) }) }, c.prototype.setHeader = function (t, e) { if (this._sent) throw new Error("Request already sent"); return this.headers[t] = e, this }, c.prototype.setLocation = function (t) { return this.uri = t, this }, c.prototype.end = function (t) { t && this.httpRequest.write(t), this.httpRequest.end() }, c.prototype._write = function (t, e, n) { this.httpRequest.write(t), n() }, c.prototype._read = function () { }, i.defaults = function (r) { return function (t, n) { var i; o.util.normalizeArgs(t, n, function (t, e) { i = t, n = e }); var e = o.util.filterOutNonReservedProperties(i, r); return a(i, e), new c(i, n) } }, u.exports = i }).call(this, e("buffer").Buffer) }, { "../common.browser": 2, buffer: 56, extend: 60, http: 89, https: 62, stream: 88, url: 112, util: 117 }], 17: [function (t, e, n) { var l = t("util"), c = t("../util/util"), i = t("../errors/errors"), u = t("../util/sr"), r = t("../util/constants"); (n = e.exports).DEFAULT_PROTOCOL = r.HTTPS; var o = function (t, e) { i.captureStackTrace(this, e || this), this.message = t || "Error" }; l.inherits(o, Error), o.prototype.name = "NoMatchError", n.NoMatchError = o, n.noMatchConnectionString = function (t) { throw new o('The provided connection string "' + t + '" does not have complete configuration settings.') }, n.noMatchSettings = function (t) { throw new o("The provided settings " + JSON.stringify(t) + " are not complete.") }, n.parseAndValidateKeys = function (t, e) { for (var n = {}, i = t.split(";"), r = 0; r < i.length; r++)if (0 !== i[r].length) { var o = i[r].indexOf("="); if (o < 0) throw new SyntaxError(u.INVALID_CONNECTION_STRING); if (0 === o) throw new SyntaxError(u.INVALID_CONNECTION_STRING_EMPTY_KEY); var a = i[r].substring(0, o); if (!c.inArrayInsensitive(a, e)) throw new SyntaxError(l.format(u.INVALID_CONNECTION_STRING_BAD_KEY, a)); var s = i[r].substring(o + 1); if (void 0 !== n[a]) throw new SyntaxError(l.format(u.INVALID_CONNECTION_STRING_DUPLICATE_KEY, a)); n[a] = s } return n }, n.getValidator = function (a, s, l) { return function (t) { var e = !1, n = {}; for (var i in t) t.hasOwnProperty(i) && (n[i.toLowerCase()] = t[i]); for (var r in a) if (a.hasOwnProperty(r)) { var o = a[r].SettingName.toLowerCase(); if (n[o]) (0, a[r].SettingConstraint)(n[o]) && (delete n[o], e = !0); else if (s) return null } return l ? e ? n : null : n } }, n.setting = function (t) { var i = Array.prototype.slice.call(arguments, 1, arguments.length); return n.settingWithFunc(t, function (t) { var e = JSON.stringify(i); if (0 === i.length) return !0; for (var n = 0; n < i.length; n++)if (t.toString() == i[n].toString()) return !0; throw new RangeError("The provided config value " + t + " does not belong to the valid values subset:\n" + e) }) }, n.atLeastOne = function () { var t = arguments; return n.getValidator(t, !1, !0) }, n.optional = function () { var t = arguments; return n.getValidator(t, !1, !1) }, n.allRequired = function () { var t = arguments; return n.getValidator(t, !0, !1) }, n.settingWithFunc = function (t, e) { var n = {}; return n.SettingName = t, n.SettingConstraint = e, n }, n.matchedSpecification = function (t) { var e = Array.prototype.slice.call(arguments, 1, arguments.length); for (var n in e) if (e.hasOwnProperty(n)) { var i = e[n](t); if (!i) return !1; t = i } return 0 === c.objectKeysLength(t) } }, { "../errors/errors": 5, "../util/constants": 32, "../util/sr": 36, "../util/util": 38, util: 117 }], 18: [function (H, V, t) { (function (i, m) { var g = H("../request-wrapper"), s = H("url"), a = H("querystring"), v = H("util"), l = H("xml2js"), t = H("events"), c = H("underscore"), r = H("uuid"), o = H("os"), u = H("extend"), p = H("json-edm-parser"), _ = H("../md5-wrapper"), E = H("../util/util"), d = H("../util/validate"), b = H("../util/sr"), y = H("../http/webresource"), T = H("../streams/bufferstream.js"), n = H("./servicesettings"), f = H("./storageservicesettings"), x = H("../util/constants"), h = H("../util/storageutilities"), S = H("../models/servicepropertiesresult"), w = H("../../services/table/tableutilities"), A = H("../signing/sharedkey"), I = H("../signing/sharedaccesssignature"), N = H("../signing/tokensigner"), O = x.HeaderConstants, R = x.QueryStringConstants, L = x.HttpConstants.HttpResponseCodes, e = x.StorageServiceClientConstants, C = x.RequestLocationMode.PRIMARY_ONLY, M = x.RequestLocationMode, D = H("../diagnostics/logger"), P = H("../errors/errors"), k = P.ArgumentError, B = P.ArgumentNullError, U = P.TimeoutError, F = P.StorageError; function j(t, e, n, i, r, o) { j.super_.call(this), t && e ? (this.storageAccount = t, this.storageAccessKey = e, this.storageCredentials = new A(this.storageAccount, this.storageAccessKey, i)) : r ? (this.sasToken = r, this.storageCredentials = new I(r)) : o ? (this.token = o, this.storageCredentials = new N(o)) : (this.anonymous = !0, this.storageCredentials = { signRequest: function (t, e) { e(null) } }), n && this.setHost(n), this.apiVersion = O.TARGET_STORAGE_VERSION, this.usePathStyleUri = i, this._initDefaultFilter(), this.logger = new D(D.LogLevels.INFO), this._setDefaultProxy(), this.xml2jsSettings = j._getDefaultXml2jsSettings(), this.defaultLocationMode = h.LocationMode.PRIMARY_ONLY } v.inherits(j, t.EventEmitter), j._getDefaultXml2jsSettings = function () { var t = c.clone(l.defaults[.2]); return t.attrkey = x.TableConstants.XML_METADATA_MARKER, t.charkey = x.TableConstants.XML_VALUE_MARKER, t.explicitArray = !1, t }, j.prototype.setHost = function (t) { var e = function (t) { var e; return E.objectIsNull(t) || (-1 === t.indexOf("http") && 0 !== t.indexOf("//") && (t = "//" + t), (e = s.parse(t, !1, !0)).protocol || (e.protocol = n.DEFAULT_PROTOCOL), e.port || (e.protocol === x.HTTPS ? e.port = x.DEFAULT_HTTPS_PORT : e.port = x.DEFAULT_HTTP_PORT), e = s.format({ protocol: e.protocol, port: e.port, hostname: e.hostname, pathname: e.pathname })), e }; d.isValidHost(t), this.host = { primaryHost: e(t.primaryHost), secondaryHost: e(t.secondaryHost) } }, j.prototype.performRequest = function (t, e, n, i) { this._performRequest(t, { outputData: e }, n, i) }, j.prototype.performRequestOutputStream = function (t, e, n, i) { this._performRequest(t, { outputStream: e }, n, i) }, j.prototype.performRequestInputStream = function (t, e, n, i, r) { this._performRequest(t, { outputData: e, inputStream: n }, i, r) }, j.prototype._performRequest = function (s, p, t, d) { var f = this; if (t.clientRequestId || (t.clientRequestId = r.v1()), s.withHeader(O.CLIENT_REQUEST_ID, t.clientRequestId), !i.browser) { var e = v.format("(NODE-VERSION %s; %s %s)", i.version, o.type(), o.release()); s.withHeader(O.USER_AGENT, x.USER_AGENT_PRODUCT_NAME + "/" + x.USER_AGENT_PRODUCT_VERSION + " " + e) } E.objectIsNull(t.locationMode) && (t.locationMode = this.defaultLocationMode), E.objectIsNull(t.requestLocationMode) && (t.requestLocationMode = C), E.objectIsNull(t.useNagleAlgorithm) && (t.useNagleAlgorithm = this.useNagleAlgorithm), this._initializeLocation(t), this._setOperationExpiryTime(t); var h = !1, n = function (u, o) { f._validateLocation(u); var a = u.currentLocation; f._buildRequestOptions(s, p, u, function (t, i) { if (t) d({ error: t, response: null }, function (t, e) { e(t) }); else if (f.logger.log(D.LogLevels.DEBUG, "FINAL REQUEST OPTIONS:\n" + v.inspect(i)), f._maximumExecutionTimeExceeded(Date.now(), u.operationExpiryTime)) d({ error: new U(b.MAXIMUM_EXECUTION_TIMEOUT_EXCEPTION), response: null }, function (t, e) { e(t) }); else { var l, c = function (t, e) { var n; t ? n = { error: t, response: null } : ((n = f._processResponse(s, e, u)).contentMD5 = e.contentMD5, n.length = e.length), n.operationEndTime = new Date, n.targetLocation = a, n.outputStreamSent = h, d(n, o) }, r = function (t, a) { var s, e; f.proxy ? void 0 === e && (e = g.defaults({ proxy: f.proxy })) : e = g, t ? ((s = e(i)).on("error", c), s.on("response", function (t) { if (y.validResponse(t.statusCode)) { a && s.pipe(a); var e = 0, n = (new _).createMd5Hash(); t.on("data", function (t) { e += t.length, n.update(t) }), t.on("end", function () { (E.objectIsNull(u.disableContentMD5Validation) || !1 === u.disableContentMD5Validation) && (t.contentMD5 = n.digest("base64")), t.length = e, l = t }) } else { var i, r = parseInt(t.headers["content-length"]), o = 0; void 0 !== r && (i = m.alloc(r)), s.on("data", function (t) { void 0 !== r ? (t.copy(i, o), o += t.length) : i = i ? m.concat([i, t]) : t }), s.on("end", function () { i && (3 < i.length && 239 === i[0] && 187 === i[1] && 191 === i[2] ? t.body = i.toString("utf8", 3) : t.body = i.toString("utf8")), c(null, t) }) } })) : s = e(i, c), (E.objectIsNull(u.useNagleAlgorithm) || !1 === u.useNagleAlgorithm) && s.on("request", function (t) { t.setNoDelay(!0) }); var n = s.end; return s.end = function () { i.headers["content-length"] ? s.headers["content-length"] = i.headers["content-length"] : s.headers["content-length"] && delete s.headers["content-length"], n.call(s) }, s.on("response", function (t) { f.emit("receivedResponseEvent", t) }), s }; if (p && p.outputData && (!E.isBrowser() && m.isBuffer(p.outputData) ? i.body = new T(p.outputData) : i.body = p.outputData), p && p.inputStream) p.inputStream.on("close", function () { l && (c(null, l), l = null) }), p.inputStream.on("end", function () { l && (c(null, l), l = null) }), p.inputStream.on("finish", function () { l && (c(null, l), l = null) }), r(!0, p.inputStream); else if (p && p.outputStream) { var e = function () { var t, e, n; !E.objectIsNull(i.headers["content-length"]) && i.headers["content-length"] < 30408704 ? (p.outputStream.pipe(r()), h = !0) : (t = i.headers["content-length"] ? i.headers["content-length"] : x.BlobConstants.MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES, e = m.alloc(parseInt(t)), n = 0, p.outputStream.on("data", function (t) { h = !0, f._maximumExecutionTimeExceeded(Date.now(), u.operationExpiryTime) ? c(new U(b.MAXIMUM_EXECUTION_TIMEOUT_EXCEPTION)) : (t.copy(e, n), n += t.length) }).on("end", function () { var t = r(); t.write(e), t.end() })), E.isStreamPaused(p.outputStream) && p.outputStream.resume() }; p.outputStream.readable ? e() : 0 === i.headers["content-length"] ? r() : p.outputStream.on("open", function () { e() }), p.outputStream.on("error", function (t) { c(t) }) } else r() } }) }; f.filter(t, function (t, e) { if (f._maximumExecutionTimeExceeded(Date.now() + t.retryInterval, t.operationExpiryTime)) d({ error: new U(b.MAXIMUM_EXECUTION_TIMEOUT_EXCEPTION), response: null }, function (t, e) { e(t) }); else if (t.retryContext) { setTimeout(function () { n(t, e) }, t.retryInterval) } else n(t, e) }) }, j.prototype._buildRequestOptions = function (i, t, r, o) { i.withHeader(O.STORAGE_VERSION, this.apiVersion), i.withHeader(O.MS_DATE, (new Date).toUTCString()), i.headers[O.ACCEPT] || i.withHeader(O.ACCEPT, "application/atom+xml,application/xml"), i.withHeader(O.ACCEPT_CHARSET, "UTF-8"), !E.isBrowser() || i.method !== x.HttpConstants.HttpVerbs.GET && i.method !== x.HttpConstants.HttpVerbs.HEAD || i.withQueryOption(O.FORCE_NO_CACHE_IN_BROWSER, (new Date).getTime()), E.objectIsNull(r.timeoutIntervalInMs) && (r.timeoutIntervalInMs = this.defaultTimeoutIntervalInMs), E.objectIsNull(r.clientRequestTimeoutInMs) && (r.clientRequestTimeoutInMs = this.defaultClientRequestTimeoutInMs), !E.objectIsNull(r.timeoutIntervalInMs) && 0 < r.timeoutIntervalInMs && i.withQueryOption(R.TIMEOUT, Math.ceil(r.timeoutIntervalInMs / 1e3)), r.accessConditions && (i.withHeader(O.IF_MATCH, r.accessConditions.EtagMatch), i.withHeader(O.IF_MODIFIED_SINCE, r.accessConditions.DateModifedSince), i.withHeader(O.IF_NONE_MATCH, r.accessConditions.EtagNonMatch), i.withHeader(O.IF_UNMODIFIED_SINCE, r.accessConditions.DateUnModifiedSince), i.withHeader(O.SEQUENCE_NUMBER_EQUAL, r.accessConditions.SequenceNumberEqual), i.withHeader(O.SEQUENCE_NUMBER_LESS_THAN, r.accessConditions.SequenceNumberLessThan), i.withHeader(O.SEQUENCE_NUMBER_LESS_THAN_OR_EQUAL, r.accessConditions.SequenceNumberLessThanOrEqual), i.withHeader(O.BLOB_CONDITION_MAX_SIZE, r.accessConditions.MaxBlobSize), i.withHeader(O.BLOB_CONDITION_APPEND_POSITION, r.accessConditions.MaxAppendPosition)), r.sourceAccessConditions && (i.withHeader(O.SOURCE_IF_MATCH, r.sourceAccessConditions.EtagMatch), i.withHeader(O.SOURCE_IF_MODIFIED_SINCE, r.sourceAccessConditions.DateModifedSince), i.withHeader(O.SOURCE_IF_NONE_MATCH, r.sourceAccessConditions.EtagNonMatch), i.withHeader(O.SOURCE_IF_UNMODIFIED_SINCE, r.sourceAccessConditions.DateUnModifiedSince)), i.headers && void 0 !== i.headers[O.CONTENT_TYPE] ? i.headers && null === i.headers[O.CONTENT_TYPE] && delete i.headers[O.CONTENT_TYPE] : i.headers[O.CONTENT_TYPE] = "", i.headers && void 0 !== i.headers[O.CONTENT_LENGTH] ? i.headers && null === i.headers[O.CONTENT_LENGTH] && delete i.headers[O.CONTENT_LENGTH] : t && t.outputData ? i.withHeader(O.CONTENT_LENGTH, m.byteLength(t.outputData, "UTF8")) : void 0 === i.headers[O.CONTENT_LENGTH] && i.withHeader(O.CONTENT_LENGTH, 0); var a = this.enableGlobalHttpAgent; this._setRequestUrl(i, r), this.emit("sendingRequestEvent", i), this.storageCredentials.signRequest(i, function (t) { var e = null; if (!t) { var n = i.uri; e = { uri: s.format(n), method: i.method, headers: i.headers, mode: "disable-fetch" }, r && (e.encoding = r.responseEncoding), r && r.clientRequestTimeoutInMs ? e.timeout = r.clientRequestTimeoutInMs : e.timeout = x.DEFAULT_CLIENT_REQUEST_TIMEOUT_IN_MS, !0 !== a && (e.forever = !0) } o(t, e) }) }, j.prototype._processResponse = function (t, e, n) { var i, r = y.validResponse(e.statusCode), o = j._buildResponse(r, e.body, function (t) { var e = {}; if (t) { for (var n = 0; n < t.length; n++)e[0 === t[n].indexOf(O.PREFIX_FOR_STORAGE_METADATA) ? t[n] : t[n].toLowerCase()] = t[++n]; return e } }(e.rawHeaders) || e.headers, e.statusCode, e.md5); if (r && t.rawResponse) i = { error: null, response: o }; else if (o = j._parseResponse(o, this.xml2jsSettings, n), r && !o.error) i = { error: null, response: o }; else { o.isSuccessful = !1, (e.statusCode < 400 || 500 <= e.statusCode) && this.logger.log(D.LogLevels.DEBUG, "ERROR code = " + e.statusCode + " :\n" + v.inspect(o.body)); var a = o.body; if (o.error && (a = o.error, delete o.error), !a) a = { error: { code: Object.keys(L).filter(function (t) { if (L[t] === o.statusCode) return t })[0] } }; i = { error: j._normalizeError(a, e), response: o } } return this.logger.log(D.LogLevels.DEBUG, "RESPONSE:\n" + v.inspect(i)), i }, j.prototype.withFilter = function (n) { var t = c.clone(this), i = this.filter, e = n; return void 0 !== i && (e = function (t, e) { n.handle(t, function (t, r) { i(t, function (t, i) { e(t, function (t, e, n) { i(t, n, function (t) { r(t, e, n) }) }) }) }) }), t.filter = e, t }, j._buildResponse = function (t, e, n, i, r) { var o = { isSuccessful: t, statusCode: i, body: e, headers: n, md5: r }; return E.objectIsNull(n) || void 0 !== n[O.REQUEST_SERVER_ENCRYPTED] && (o.requestServerEncrypted = "true" === n[O.REQUEST_SERVER_ENCRYPTED]), o }, j._parseResponse = function (e, n, t) { function i(t) { var i; return new l.Parser(n).parseString(E.removeBOM(t.toString()), function (t, e) { if (t) { var n = new SyntaxError("EXMLFORMAT"); throw n.innerError = t, n } i = e }), i } if (e.body && 0 < m.byteLength(e.body.toString())) { var r = ""; e.headers && e.headers["content-type"] && (r = e.headers["content-type"].toLowerCase()); try { if (-1 !== r.indexOf("application/json")) if (t && t.payloadFormat && t.payloadFormat !== w.PayloadFormat.NO_METADATA) { var o = new p; o.onValue = function (t) { e.body = t }, o.write(e.body) } else e.body = JSON.parse(e.body); else -1 !== r.indexOf("application/xml") || -1 !== r.indexOf("application/atom+xml") ? e.body = i(e.body) : -1 !== r.indexOf("text/html") ? e.body = e.body : e.body = i(e.body) } catch (t) { e.error = t } } return e }, j.getStorageSettings = function (t, e, n, i, r, o) { return !t || e || i ? t && e || i || o || n ? f.createExplicitly(t, e, n, i, r, o) : f.createFromEnvironment() : f.createFromConnectionString(t) }, j.prototype._setRequestUrl = function (t, e) { if (t.originalPath = t.originalPath || t.path, t.path = this._getPath(t.originalPath), !this.host) throw new B("this.host", b.STORAGE_HOST_LOCATION_REQUIRED); var n = this.host.primaryHost; E.objectIsNull(e) || e.currentLocation !== x.StorageLocation.SECONDARY || (n = this.host.secondaryHost), n && n.lastIndexOf("/") !== n.length - 1 && (n += "/"); var i = s.format({ pathname: t.path, query: t.queryString }); t.uri = s.resolve(n, i), t.path = s.parse(t.uri).pathname }, j.prototype._getPath = function (t) { return null == t ? t = "" : 0 === t.indexOf("/") && (t = t.substring(1)), t }, j.prototype._getUrl = function (t, e, n) { var i; i = E.objectIsNull(n) || !1 !== n ? this.host.primaryHost : this.host.secondaryHost, (i = E.trimPortFromUri(i)) && i.lastIndexOf("/") !== i.length - 1 && (i += "/"); var r = a.parse(e), o = s.format({ pathname: this._getPath(t), query: r }); return s.resolve(i, o) }, j.prototype._initDefaultFilter = function () { this.filter = function (t, e) { e && e(t, function (t, e, n) { n ? n(t) : e && e(t) }) } }, j.prototype.parseMetadataHeaders = function (t) { var e = {}; if (!t) return e; for (var n in t) { if (0 === n.indexOf(O.PREFIX_FOR_STORAGE_METADATA)) e[n.substr(O.PREFIX_FOR_STORAGE_METADATA.length, n.length - O.PREFIX_FOR_STORAGE_METADATA.length)] = t[n] } return e }, j.prototype.getAccountServiceProperties = function (t, n) { var i; E.normalizeArgs(t, n, function (t, e) { i = t, n = e }), d.validateArgs("getServiceProperties", function (t) { t.callback(n) }); var e = u(!0, {}, i), r = y.get().withQueryOption(R.COMP, "properties").withQueryOption(R.RESTYPE, "service"); e.requestLocationMode = M.PRIMARY_OR_SECONDARY; this.performRequest(r, null, e, function (t, e) { t.servicePropertiesResult = null, t.error || (t.servicePropertiesResult = S.parse(t.response.body.StorageServiceProperties)); e(t, function (t) { n(t.error, t.servicePropertiesResult, t.response) }) }) }, j.prototype.setAccountServiceProperties = function (e, t, n) { var i; E.normalizeArgs(t, n, function (t, e) { i = t, n = e }), d.validateArgs("setServiceProperties", function (t) { t.object(e, "serviceProperties"), t.callback(n) }); var r = u(!0, {}, i), o = S.serialize(e), a = y.put().withQueryOption(R.COMP, "properties").withQueryOption(R.RESTYPE, "service").withHeader(O.CONTENT_TYPE, 'application/xml;charset="utf-8"').withHeader(O.CONTENT_LENGTH, m.byteLength(o)).withBody(o); this.performRequest(a, a.body, r, function (t, e) { e(t, function (t) { n(t.error, t.response) }) }) }, j._normalizeError = function (t, e) { if (E.objectIsString(t)) return new F(t, null); if (t) { var n = {}, i = t.Error || t.error || t["odata.error"] || t["m:error"] || t; for (var r in n.code = i.message, i) if (i.hasOwnProperty(r)) { var o = r.toLowerCase(); 0 === o.indexOf("m:") && (o = o.substring(2)), n[o] = i[r], "message" === o && c.isObject(i[r]) && i[r].value && (n[o] = i[r].value) } return e && (e.statusCode && (n.statusCode = e.statusCode), e.headers && e.headers["x-ms-request-id"] && (n.requestId = e.headers["x-ms-request-id"])), new F(n.code, n) } return null }, j.prototype.setProxy = function (t) { this.proxy = t || null }, j.prototype._setDefaultProxy = function () { var t = j._loadEnvironmentProxyValue(); if (t) { var e = s.parse(t); e.port || (e.port = 80), this.setProxy(e) } else this.setProxy(null) }, j._loadEnvironmentProxyValue = function () { var t = null; return i.env[e.EnvironmentVariables.HTTPS_PROXY] ? t = i.env[e.EnvironmentVariables.HTTPS_PROXY] : i.env[e.EnvironmentVariables.HTTPS_PROXY.toLowerCase()] ? t = i.env[e.EnvironmentVariables.HTTPS_PROXY.toLowerCase()] : i.env[e.EnvironmentVariables.HTTP_PROXY] ? t = i.env[e.EnvironmentVariables.HTTP_PROXY] : i.env[e.EnvironmentVariables.HTTP_PROXY.toLowerCase()] && (t = i.env[e.EnvironmentVariables.HTTP_PROXY.toLowerCase()]), t }, j.prototype._initializeLocation = function (t) { if (E.objectIsNull(t.locationMode)) t.locationMode = h.LocationMode.PRIMARY_ONLY, t.currentLocation = x.StorageLocation.PRIMARY; else switch (t.locationMode) { case h.LocationMode.PRIMARY_ONLY: case h.LocationMode.PRIMARY_THEN_SECONDARY: t.currentLocation = x.StorageLocation.PRIMARY; break; case h.LocationMode.SECONDARY_ONLY: case h.LocationMode.SECONDARY_THEN_PRIMARY: t.currentLocation = x.StorageLocation.SECONDARY; break; default: throw new RangeError(v.format(b.ARGUMENT_OUT_OF_RANGE_ERROR, "locationMode", t.locationMode)) } }, j.prototype._validateLocation = function (t) { if (this._invalidLocationMode(t.locationMode)) throw new B("host", b.STORAGE_HOST_MISSING_LOCATION); switch (t.requestLocationMode) { case x.RequestLocationMode.PRIMARY_ONLY: if (t.locationMode === h.LocationMode.SECONDARY_ONLY) throw new k("host.primaryHost", b.PRIMARY_ONLY_COMMAND); t.currentLocation = x.StorageLocation.PRIMARY, t.locationMode = h.LocationMode.PRIMARY_ONLY; break; case x.RequestLocationMode.SECONDARY_ONLY: if (t.locationMode === h.LocationMode.PRIMARY_ONLY) throw new k("host.secondaryHost", b.SECONDARY_ONLY_COMMAND); t.currentLocation = x.StorageLocation.SECONDARY, t.locationMode = h.LocationMode.SECONDARY_ONLY } }, j.prototype._invalidLocationMode = function (t) { switch (t) { case h.LocationMode.PRIMARY_ONLY: return E.objectIsNull(this.host.primaryHost); case h.LocationMode.SECONDARY_ONLY: return E.objectIsNull(this.host.secondaryHost); default: return E.objectIsNull(this.host.primaryHost) || E.objectIsNull(this.host.secondaryHost) } }, j.prototype._maximumExecutionTimeExceeded = function (t, e) { return !E.objectIsNull(e) && e < t }, j.prototype._setOperationExpiryTime = function (t) { E.objectIsNull(t.operationExpiryTime) && (E.objectIsNull(t.maximumExecutionTimeInMs) ? this.defaultMaximumExecutionTimeInMs && (t.operationExpiryTime = Date.now() + this.defaultMaximumExecutionTimeInMs) : t.operationExpiryTime = Date.now() + t.maximumExecutionTimeInMs) }, V.exports = j }).call(this, H("_process"), H("buffer").Buffer) }, { "../../services/table/tableutilities": 50, "../diagnostics/logger": 4, "../errors/errors": 5, "../http/webresource": 9, "../md5-wrapper": 10, "../models/servicepropertiesresult": 13, "../request-wrapper": 16, "../signing/sharedaccesssignature": 20, "../signing/sharedkey": 21, "../signing/tokensigner": 22, "../streams/bufferstream.js": 25, "../util/constants": 32, "../util/sr": 36, "../util/storageutilities": 37, "../util/util": 38, "../util/validate": 39, "./servicesettings": 17, "./storageservicesettings": 19, _process: 72, buffer: 56, events: 59, extend: 60, "json-edm-parser": 67, os: 70, querystring: 75, underscore: 111, url: 112, util: 117, uuid: 118, xml2js: 194 }], 19: [function (w, A, t) { (function (i) { "use strict"; var l = w("underscore"), c = w("url"), u = w("../util/util"), p = w("./servicesettings"), t = w("../util/constants"), d = t.StorageServiceClientConstants, f = t.ConnectionStringKeys, e = w("../util/validate"), r = w("../util/sr"), n = w("../models/tokencredential"), o = p.setting(f.USE_DEVELOPMENT_STORAGE_NAME, !0), a = p.settingWithFunc(f.DEVELOPMENT_STORAGE_PROXY_URI_NAME, e.isValidUri), s = p.setting(f.DEFAULT_ENDPOINTS_PROTOCOL_NAME, "http", "https"), h = p.setting(f.ACCOUNT_NAME_NAME), m = p.settingWithFunc(f.ACCOUNT_KEY_NAME, e.isBase64Encoded), g = p.settingWithFunc(f.SHARED_ACCESS_SIGNATURE_NAME, l.isString), v = p.settingWithFunc("token", function (t) { return t instanceof n }), _ = p.settingWithFunc(f.BLOB_ENDPOINT_NAME, e.isValidHost), E = p.settingWithFunc(f.QUEUE_ENDPOINT_NAME, e.isValidHost), b = p.settingWithFunc(f.TABLE_ENDPOINT_NAME, e.isValidHost), y = p.settingWithFunc(f.FILE_ENDPOINT_NAME, e.isValidHost), T = p.settingWithFunc(f.ENDPOINT_SUFFIX_NAME, e.isValidHost), x = [f.USE_DEVELOPMENT_STORAGE_NAME, f.DEVELOPMENT_STORAGE_PROXY_URI_NAME, f.DEFAULT_ENDPOINTS_PROTOCOL_NAME, f.ACCOUNT_NAME_NAME, f.ACCOUNT_KEY_NAME, f.SHARED_ACCESS_SIGNATURE_NAME, f.BLOB_ENDPOINT_NAME, f.QUEUE_ENDPOINT_NAME, f.TABLE_ENDPOINT_NAME, f.FILE_ENDPOINT_NAME, f.ENDPOINT_SUFFIX_NAME]; function S(t, e, n, i, r, o, a, s, l) { this._name = t, this._key = e, n && "?" === n[0] ? this._sasToken = n.slice(1) : this._sasToken = n, this._blobEndpoint = i, this._queueEndpoint = r, this._tableEndpoint = o, this._fileEndpoint = a, this._usePathStyleUri = s || !1, this._token = l } S.createFromConnectionString = function (e) { var t = p.parseAndValidateKeys(e, x); try { return S.createFromSettings(t) } catch (t) { if (!(t instanceof p.NoMatchError)) throw t; p.noMatchConnectionString(e) } }, S.createExplicitly = function (t, e, n, i, r, o) { var a = {}; function s(t, e) { ("string" != typeof e || u.stringIsEmpty(e)) && ("object" != typeof e || u.objectIsNull(e)) || (a[t] = e) } return n ? (s("blobendpoint", n), s("tableendpoint", n), s("queueendpoint", n), s("fileendpoint", n)) : s("defaultendpointsprotocol", p.DEFAULT_PROTOCOL.split(":", 1)[0]), s("accountname", t), s("accountkey", e), s("sharedaccesssignature", i), s("endpointsuffix", r), s("token", o), S.createFromSettings(a) }, S.createFromEnvironment = function () { if (i.env[d.EnvironmentVariables.EMULATED]) return S.getDevelopmentStorageAccountSettings(); var t = i.env[d.EnvironmentVariables.AZURE_STORAGE_CONNECTION_STRING]; if (t) return S.createFromConnectionString(t); var e = i.env[d.EnvironmentVariables.AZURE_STORAGE_ACCOUNT], n = i.env[d.EnvironmentVariables.AZURE_STORAGE_ACCESS_KEY]; if (e && n) return S.createExplicitly(e, n, null, null, null); throw new Error(r.NO_CREDENTIALS_PROVIDED) }, S.createFromSettings = function (t) { var e = p.matchedSpecification(t, p.allRequired(o), p.optional(a)); if (e) { var n = u.tryGetValueInsensitive(f.DEVELOPMENT_STORAGE_PROXY_URI_NAME, t); return this.getDevelopmentStorageAccountSettings(n) } return (e = p.matchedSpecification(t, p.allRequired(s, h, m), p.optional(_, E, b, y, T))) ? this._createStorageServiceSettings(t) : (e = p.matchedSpecification(t, p.allRequired(h, m), p.atLeastOne(_, E, b, y, T))) ? this._createStorageServiceSettings(t) : (e = p.matchedSpecification(t, p.allRequired(g), p.atLeastOne(_, E, b, y, T))) ? this._createStorageServiceSettings(t) : (e = p.matchedSpecification(t, p.allRequired(_), p.optional(y, E, b, T))) ? this._createStorageServiceSettings(t) : (e = p.matchedSpecification(t, p.allRequired(v), p.atLeastOne(_, E, b, y))) ? this._createStorageServiceSettings(t) : void p.noMatchSettings(t) }, S.getDevelopmentStorageAccountSettings = function (t) { t || (t = d.DEV_STORE_URI); var e = c.parse(t), n = e.protocol + "//" + e.host, i = { primaryHost: n + ":10000/" + d.DEVSTORE_STORAGE_ACCOUNT, secondaryHost: n + ":10000/" + d.DEVSTORE_STORAGE_ACCOUNT + "-secondary" }, r = { primaryHost: n + ":10001/" + d.DEVSTORE_STORAGE_ACCOUNT, secondaryHost: n + ":10001/" + d.DEVSTORE_STORAGE_ACCOUNT + "-secondary" }, o = { primaryHost: n + ":10002/" + d.DEVSTORE_STORAGE_ACCOUNT, secondaryHost: n + ":10002/" + d.DEVSTORE_STORAGE_ACCOUNT + "-secondary" }; return new S(d.DEVSTORE_STORAGE_ACCOUNT, d.DEVSTORE_STORAGE_ACCESS_KEY, null, i, r, o, null, !0) }, S._createStorageServiceSettings = function (t) { var e = function (t, e, n, i) { var r; return t && ((r = {}).primaryHost = l.isString(t) ? t : t.primaryHost, r.secondaryHost = l.isString(t) ? void 0 : t.secondaryHost), n && e && i && ((r = r || {}).primaryHost = r.primaryHost ? r.primaryHost : c.format({ protocol: n, hostname: e + "." + i }), r.secondaryHost = r.secondaryHost ? r.secondaryHost : c.format({ protocol: n, hostname: e + "-secondary." + i })), r }, n = u.tryGetValueInsensitive(f.DEFAULT_ENDPOINTS_PROTOCOL_NAME, t), i = u.tryGetValueInsensitive(f.ACCOUNT_NAME_NAME, t), r = u.tryGetValueInsensitive(f.ACCOUNT_KEY_NAME, t), o = u.tryGetValueInsensitive(f.SHARED_ACCESS_SIGNATURE_NAME, t), a = u.tryGetValueInsensitive(f.ENDPOINT_SUFFIX_NAME, t), s = u.tryGetValueInsensitive("token", t); return new S(i, r, o, e(u.tryGetValueInsensitive(f.BLOB_ENDPOINT_NAME, t), i, n, a ? "blob." + a : d.CLOUD_BLOB_HOST), e(u.tryGetValueInsensitive(f.QUEUE_ENDPOINT_NAME, t), i, n, a ? "queue." + a : d.CLOUD_QUEUE_HOST), e(u.tryGetValueInsensitive(f.TABLE_ENDPOINT_NAME, t), i, n, a ? "table." + a : d.CLOUD_TABLE_HOST), e(u.tryGetValueInsensitive(f.FILE_ENDPOINT_NAME, t), i, n, a ? "file." + a : d.CLOUD_FILE_HOST), s) }, S.validKeys = x, A.exports = S }).call(this, w("_process")) }, { "../models/tokencredential": 15, "../util/constants": 32, "../util/sr": 36, "../util/util": 38, "../util/validate": 39, "./servicesettings": 17, _process: 72, underscore: 111, url: 112 }], 20: [function (t, e, n) { var i = t("./../util/constants"), r = t("./../util/sr"); function o(t) { this.sasToken = t } o.prototype.signRequest = function (t, e) { if (-1 === t.uri.indexOf("?") ? t.uri += "?" : t.uri += "&", t.uri += this.sasToken, -1 != this.sasToken.indexOf("api-version")) throw new SyntaxError(r.INVALID_SAS_TOKEN); t.uri += "&" + i.QueryStringConstants.API_VERSION + "=" + i.HeaderConstants.TARGET_STORAGE_VERSION, e(null) }, e.exports = o }, { "./../util/constants": 32, "./../util/sr": 36 }], 21: [function (t, e, n) { e.exports = function (t, e, n) { throw Error("Key based authentication or SAS generation is only available in Node.js runtime!") } }, {}], 22: [function (t, e, n) { var i = t("../util/constants").HeaderConstants; function r(t) { this.tokenCredential = t } r.prototype.signRequest = function (t, e) { t.withHeader(i.AUTHORIZATION, "Bearer " + this.tokenCredential.get()), e(null) }, e.exports = r }, { "../util/constants": 32 }], 23: [function (E, b, t) { (function (t) { var o = E("util"), e = E("http"), n = E("https"), i = E("events").EventEmitter, r = E("os"), a = E("../util/util"), s = E("../diagnostics/logger"), l = E("../util/constants"), c = E("../errors/errors").ArgumentError, u = l.BlobConstants.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES, p = l.BlobConstants.DEFAULT_CRITICAL_MEMORY_LIMITATION_32_IN_BYTES, d = l.BlobConstants.DEFAULT_CRITICAL_MEMORY_LIMITATION_BROWSER_IN_BYTES, f = l.BlobConstants.DEFAULT_MINIMUM_MEMORY_USAGE_BROWSER_IN_BYTES, h = r.totalmem(), m = .1 * h, g = a.getNodeVersion(); function v(t, e) { e || (e = {}), this.name = t, this.logger = e.logger || new s(s.LogLevels.INFO), this.operationMemoryUsage = e.operationMemoryUsage || u, this.callbackInOrder = !0 === e.callbackInOrder, this.callInOrder = !0 === e.callInOrder, this._currentOperationId = this.callbackInOrder ? 1 : -1, this.concurrency = 5, this.enableReuseSocket = (0 < g.major || 10 <= g.minor) && e.enableReuseSocket, this._emitter = new i, this._enableComplete = !1, this._ended = !1, this._error = null, this._paused = !1, this._totalOperation = 0, this._activeOperation = 0, this._queuedOperation = 0, this._operations = [] } var _ = { INITED: "inited", QUEUED: "queued", RUNNING: "running", COMPLETE: "complete", CALLBACK: "callback", ERROR: "error" }; v.OperationState = _, v.prototype.setConcurrency = function (t) { t && (this.concurrency = t, e.Agent.maxSockets = this.concurrency, n.Agent.maxSockets = this.concurrency) }, v.prototype.IsWorkloadHeavy = function () { var t = 1; return this.enableReuseSocket && !this.callInOrder && (t = 2), this._activeOperation >= t * this.concurrency || this._isLowMemory() }, v.prototype._getApproximateMemoryUsage = function () { return (a.isBrowser() ? f : t.memoryUsage().rss) + this._queuedOperation * this.operationMemoryUsage }, v.prototype._isLowMemory = function () { var t = this._getApproximateMemoryUsage(); return r.freemem() < m || this._activeOperation >= this.concurrency && .5 * h < t || a.is32() && p < t || a.isBrowser() && d < t }, v.prototype.addOperation = function (t) { return this._operations.push(t), t.status = _.QUEUED, t.operationId = ++this._totalOperation, this._queuedOperation++, this.logger.debug(o.format("Add operation %d into batch operation %s. Active: %s; Queued: %s", t.operationId, this.name, this._activeOperation, this._queuedOperation)), this._runOperation(t), this.IsWorkloadHeavy() }, v.prototype.enableComplete = function () { this._enableComplete = !0, this.logger.debug(o.format("Enable batch operation %s complete", this.name)), this._tryEmitEndEvent() }, v.prototype.pause = function () { this._paused = !0 }, v.prototype.resume = function () { this._paused && (this._paused = !1, this._fireOperationUserCallback()) }, v.prototype.on = function (t, e) { this._ended && "end" === t ? e() : this._emitter.on(t, e) }, v.prototype._runOperation = function (t) { this.logger.debug(o.format("Operation %d start to run", t.operationId)); var e = this.getBatchOperationCallback(t); this._error ? e(this._error) : t.run(e), this._activeOperation++ }, v.prototype.getBatchOperationCallback = function (e) { var n = this; return function (t) { if (n._queuedOperation--, t ? (e.status = _.ERROR, n.logger.debug(o.format("Operation %d failed. Error %s", e.operationId, t)), n._error = t) : (e.status = _.CALLBACK, n.logger.debug(o.format("Operation %d succeed", e.operationId))), e._callbackArguments = arguments, n._paused) e.status = _.CALLBACK, n.logger.debug(o.format("Batch operation paused and Operation %d wait for firing callback", e.operationId)); else if (n.callbackInOrder) if (e.status = _.CALLBACK, n._currentOperationId === e.operationId) n._fireOperationUserCallback(e); else { if (n._currentOperationId > e.operationId) throw new Error("Debug error: current callback operation id cannot be larger than operation id"); n.logger.debug(o.format("Operation %d is waiting for firing callback %s", e.operationId, n._currentOperationId)) } else n._fireOperationUserCallback(e); n._tryEmitDrainEvent(), n = e = null } }, v.prototype._fireOperationUserCallback = function (t) { var e = this._getCallbackOperationIndex(); t || -1 == e || (t = this._operations[e]), t && !this._paused ? (t._userCallback && (this.logger.debug(o.format("Fire user call back for operation %d", t.operationId)), t._fireUserCallback()), this._operations.splice(e, 1), this._activeOperation--, t.status = _.COMPLETE, e = t = null, this.callbackInOrder && this._currentOperationId++, this._fireOperationUserCallback()) : this._paused ? this._tryEmitDrainEvent() : this._tryEmitEndEvent() }, v.prototype._tryEmitEndEvent = function () { return this._enableComplete && 0 === this._activeOperation && 0 === this._operations.length ? (this._ended = !0, this.logger.debug(o.format("Batch operation %s emits the end event", this.name)), this._emitter.emit("end", this._error, null), !0) : (this._tryEmitDrainEvent(), !1) }, v.prototype._tryEmitDrainEvent = function () { return !!this._emitter && ((!this.IsWorkloadHeavy() || this._activeOperation < this.concurrency) && (this._emitter.emit("drain"), !0)) }, v.prototype._getCallbackOperationIndex = function () { for (var t = null, e = 0; e < this._operations.length; e++)if (t = this._operations[e], this.callbackInOrder) { if (t.operationId == this._currentOperationId) return t.status === _.CALLBACK ? e : -1 } else if (t.status === _.CALLBACK) return e; return -1 }, v.noOperation = function (t) { t() }, v.RestOperation = function (n, i) { this.status = _.Inited, this.operationId = -1, this._callbackArguments = null, this._userCallback = arguments[arguments.length - 1]; var t = arguments.length; a.objectIsFunction(this._userCallback) ? t-- : this._userCallback = null; var r = Array.prototype.slice.call(arguments).slice(2, t); this.run = function (t) { var e = n[i]; if (!e) throw new c("operation", o.format("Unknown operation %s in serviceclient", i)); t || (t = this._userCallback), r.push(t), this.status = _.RUNNING, e.apply(n, r), r = i = null }, this._fireUserCallback = function () { this._userCallback && this._userCallback.apply(null, this._callbackArguments) } }, v.CommonOperation = function (e, t) { this.status = _.Inited, this.operationId = -1, this._callbackArguments = null; var n = 2; a.objectIsFunction(t) ? this._userCallback = t : (this._userCallback = null, n = 1); var i = Array.prototype.slice.call(arguments).slice(n); this.run = function (t) { t || (t = this._userCallback), i.push(t), this.status = _.RUNNING, e.apply(null, i), i = e = null }, this._fireUserCallback = function () { this._userCallback && this._userCallback.apply(null, this._callbackArguments), this._userCallback = this._callbackArguments = null } }, b.exports = v }).call(this, E("_process")) }, { "../diagnostics/logger": 4, "../errors/errors": 5, "../util/constants": 32, "../util/util": 38, _process: 72, events: 59, http: 89, https: 62, os: 70, util: 117 }], 24: [function (t, e, n) { var r = t("buffer").Buffer, o = t("stream"), i = t("util"), a = t("../util/constants").BlobConstants.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES; function s(t, e) { o.Readable.call(this, e), e || (e = {}), this._fileReader = new FileReader(t), this._file = t, this._size = t.size, this._highWaterMark = e.highWaterMark || a, this._offset = 0; var i = this; this._fileReader.onloadend = function (t) { var e = t.target.result, n = r.from(e); i.push(n) }, this._fileReader.onerror = function (t) { i.emit("error", t) } } i.inherits(s, o.Readable), s.prototype._read = function () { if (this._offset >= this._size) this.push(null); else { var t = this._offset + this._highWaterMark, e = this._file.slice(this._offset, t); this._fileReader.readAsArrayBuffer(e), this._offset = t } }, e.exports = s }, { "../util/constants": 32, buffer: 56, stream: 88, util: 117 }], 25: [function (t, e, n) { var i = t("stream"); function r(t, e) { i.Readable.call(this, e), this._buffer = t, this._offset = 0, this._chunkSize = 4194304, this._bufferSize = t.length } t("util").inherits(r, i.Readable), r.prototype._read = function () { for (; this.push(this._readNextChunk());); }, r.prototype._readNextChunk = function () { var t = null; if (this._offset < this._bufferSize) { var e = this._offset + this._chunkSize; e = e > this._bufferSize ? this._bufferSize : e, t = this._buffer.slice(this._offset, e), this._offset = e } return t }, e.exports = r }, { stream: 88, util: 117 }], 26: [function (t, e, n) { (function (r) { function t(t, e) { this._pool = [], this._inuse = 0, this._chunkSize = t, this._maxCount = e || 10, this._extendMemoryPool() } t.prototype.getBuffer = function (t) { var e = this._getBufferFromPool(t); return null === e && (e = r.alloc(t)), this._inuse++, e }, t.prototype._getBufferFromPool = function (t) { return t !== this._chunkSize ? null : (0 === this._pool.length && this._extendMemoryPool(), 0 !== this._pool.length ? this._pool.pop() : null) }, t.prototype._extendMemoryPool = function () { var t = this._pool.length + this._inuse; if (!(t >= this._maxCount)) for (var e = (Math.min(2 * t, this._maxCount) || 1) - t, n = 0; n < e; n++) { var i = r.alloc(this._chunkSize); this._pool.push(i) } }, t.prototype.releaseBuffer = function (t) { t.length === this._chunkSize ? (this._pool.length < this._maxCount ? this._pool.push(t) : t = null, this._inuse--, this._inuse < 0 && (this._inuse = 0)) : t = null }, t.prototype.destroy = function () { this._pool = [], this._inuse = 0 }, e.exports = t }).call(this, t("buffer").Buffer) }, { buffer: 56 }], 27: [function (a, l, t) { (function (s) { var e = a("stream"), t = a("util"), n = a("../util/util"), i = a("../md5-wrapper"), r = a("../util/constants").BlobConstants.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES; function o(t) { e.Stream.call(this), this.writable = this.readable = !0, t || (t = {}), this._highWaterMark = t.highWaterMark || r, this._paused = void 0, this._isStreamOpened = !1, this._offset = 0, this._allocator = t.allocator, this._streamEnded = !1, this._md5hash = null, this._buffer = null, this._internalBufferSize = 0, this._outputLengthLimit = 0, this._md5sum = void 0, t.calcContentMd5 && (this._md5hash = (new i).createMd5Hash()) } t.inherits(o, e.Stream), o.prototype.setMemoryAllocator = function (t) { this._allocator = t }, o.prototype.setOutputLength = function (t) { t && (this._outputLengthLimit = t) }, o.prototype.end = function (t, e, n) { "function" == typeof t ? (n = t, e = t = null) : "function" == typeof e && (n = e, e = null), t && this.write(t, e), this._streamEnded = !0, this._flushInternalBuffer(), n && this.once("end", n), this.emit("end") }, o.prototype.finish = function () { this.emit("finish"), this.destroy() }, o.prototype.error = function () { this.emit("error"), this.destroy() }, o.prototype.destroy = function () { this.writable = this.readable = !1, this._allocator && n.objectIsFunction(this._allocator.destroy) && this._allocator.destroy(), this.emit("close") }, o.prototype.stop = function () { this.destroy(), this._streamEnded = !0, this.emit("end") }, o.prototype.write = function (t, e) { return this._isStreamOpened || (this._isStreamOpened = !0), this._buildChunk(t, e), !this._paused }, o.prototype._buildChunk = function (t) { "string" == typeof t && (t = s.from(t)); var e = t.length, n = 0; do { var i = null, r = this._internalBufferSize + e; if (r < this._highWaterMark) return void this._copyToInternalBuffer(t, n, t.length); if (r == this._highWaterMark) { var o = this._stream && this._stream._allocator && this._stream._allocator.releaseBuffer; 0 !== this._internalBufferSize || t.length !== this._highWaterMark || o ? (this._copyToInternalBuffer(t, n, t.length), i = this._popInternalBuffer()) : i = t, e = 0 } else { var a = this._highWaterMark - this._internalBufferSize; this._copyToInternalBuffer(t, n, n + a), e -= a, n += a, i = this._popInternalBuffer() } this._emitBufferData(i) } while (0 < e) }, o.prototype._emitBufferData = function (t) { var e = this._offset + t.length, n = { start: this._offset, end: e - 1, size: t.length }; this._offset = e, 0 < this._outputLengthLimit ? n.start <= this._outputLengthLimit && (this._offset > this._outputLengthLimit && (t = t.slice(0, t.length - (this._offset - this._outputLengthLimit))), this._md5hash && this._md5hash.update(t)) : this._md5hash && this._md5hash.update(t), this.emit("data", t, n) }, o.prototype._copyToInternalBuffer = function (t, e, n) { void 0 === e && (e = 0), void 0 === n && (n = t.length), this._buffer || (this._buffer = this._allocateNewBuffer(), this._internalBufferSize = 0); var i = t.copy(this._buffer, this._internalBufferSize, e, n); if (this._internalBufferSize += i, this._stream && this._stream._allocator && this._stream._allocator.releaseBuffer && this._stream._allocator.releaseBuffer(t), i != n - e) throw new Error("Can not copy entire data to buffer") }, o.prototype._flushInternalBuffer = function () { var t = this._popInternalBuffer(); t && this._emitBufferData(t) }, o.prototype._popInternalBuffer = function () { var t = null; return t = this._buffer && 0 !== this._internalBufferSize ? this._internalBufferSize == this._highWaterMark ? this._buffer : this._buffer.slice(0, this._internalBufferSize) : null, this._buffer = null, this._internalBufferSize = 0, t }, o.prototype._allocateNewBuffer = function () { var t = this._highWaterMark; return this._allocator && n.objectIsFunction(this._allocator.getBuffer) ? this._allocator.getBuffer(t) : s.alloc(t) }, o.prototype.getContentMd5 = function (t) { if (t || (t = "base64"), this._md5hash) { if (this._streamEnded) return this._md5sum || (this._md5sum = this._md5hash.digest(t)), this._md5sum; throw new Error("Stream has not ended.") } throw new Error("Can't get content md5, please set the calcContentMd5 option for FileReadStream.") }, o.prototype.pause = function () { this._paused = !0 }, o.prototype.resume = function () { this._paused && (this._paused = !1, this.emit("drain")) }, l.exports = o }).call(this, a("buffer").Buffer) }, { "../md5-wrapper": 10, "../util/constants": 32, "../util/util": 38, buffer: 56, stream: 88, util: 117 }], 28: [function (t, e, n) { var i = t("./chunkstream"), r = t("events").EventEmitter, o = t("util"), a = t("./../util/util"); function s(t, e) { i.call(this, e), t.pause(), this._stream = t, this._stream.on("end", this.end.bind(this)) } o.inherits(s, i), s.prototype.on = function (t, e) { return "end" === t && this._streamEnded ? e() : r.prototype.on.call(this, t, e), "data" === t && (this._isStreamOpened || (this._isStreamOpened = !0, this._stream.on("data", this._buildChunk.bind(this))), void 0 === this._paused && this._stream.resume()), this }, s.prototype.stop = function (t, e, n) { a.objectIsFunction(this._stream.destroy) ? this._stream.destroy() : this.pause(), i.prototype.end.call(this, t, e, n) }, s.prototype.pause = function () { i.prototype.pause.call(this), this._stream.pause() }, s.prototype.resume = function () { i.prototype.resume.call(this), this._stream.resume() }, s.prototype.finish = function () { i.prototype.finish.call(this), this._stream.emit.call(this._stream, "finish") }, s.prototype.destroy = function () { i.prototype.destroy.call(this), this._stream.emit.call(this._stream, "close") }, e.exports = s }, { "./../util/util": 38, "./chunkstream": 27, events: 59, util: 117 }], 29: [function (e, n, t) { (function (d) { var i = e("./../common.core").util, r = e("./../util/constants"), o = e("events").EventEmitter; function t(t, e, n, i) { this.serviceClient = t, this._emitter = new o, this._paused = !1, this._emittedAll = !1, this._emittedRangeIndex = 0, this._rangelist = [], this._resourcePath = [], this._isEmitting = !1, this._rangeStreamEnded = !1, this._lengthHeader = r.HeaderConstants.CONTENT_LENGTH, this._minRangeSize = r.BlobConstants.MIN_WRITE_PAGE_SIZE_IN_BYTES, this._maxRangeSize = r.BlobConstants.DEFAULT_WRITE_PAGE_SIZE_IN_BYTES, i.rangeStart ? this._startOffset = i.rangeStart : this._startOffset = 0, this._dataOffset = this._startOffset, i.rangeEnd ? this._endOffset = i.rangeEnd : this._endOffset = Number.MAX_VALUE, e && this._resourcePath.push(e), n && this._resourcePath.push(n) } t.prototype.list = function (a, s) { var l, c = this._startOffset, u = r.BlobConstants.MAX_SINGLE_GET_PAGE_RANGE_SIZE; void 0 === this._listFunc ? (this._listFunc = this._defaultListFunc, l = this._endOffset) : l = Math.min(this._startOffset + u - 1, this._endOffset), a.rangeStart = c, l != Number.MAX_VALUE && (a.rangeEnd = l); var p = this, t = Array.prototype.slice.call(this._resourcePath); t.push(a), t.push(function (t, e, n) { if (t) s(t); else { if (p._rangeStreamEnded) return; var i = parseInt(n.headers[p._lengthHeader], 10), r = Math.min(i - 1, p._endOffset), o = Math.min(l, r); e.length ? e[e.length - 1].end !== o && e.push({ start: e[e.length - 1].end + 1, end: o, dataSize: 0 }) : e.push({ start: c, end: o, dataSize: 0 }), r <= l && (p._rangeStreamEnded = !0), p.resizeAndSaveRanges(e), p._startOffset += u, p._emitRange(), l < r && !p._rangeStreamEnded && d.nextTick(function () { e = null, p.list(a, s), p = null }) } }), this._listFunc.apply(this.serviceClient, t) }, t.prototype.resizeAndSaveRanges = function (t) { for (var e = this._rangelist, n = { type: "range", size: 0, dataSize: 0, start: this._startOffset, end: -1 }, i = null, r = 0; r < t.length; r++)(i = t[r]).end - n.start + 1 < this._minRangeSize ? this.mergeRanges(n, i) : (-1 != n.end && (this.splitAndSaveRanges(n, e), n = i), this._dataOffset != i.start ? (this.putZeroRange(this._dataOffset, i.start - 1, e), n = i) : -1 == n.end && (this.splitAndSaveRanges(i, e), n.start = i.end + 1)), r == t.length - 1 && n.end > n.start && this.splitAndSaveRanges(n, e), this._dataOffset = i.end + 1 }, t.prototype.putZeroRange = function (t, e, n) { var i = { type: "range", size: -1, dataSize: 0, start: t, end: e }; this.splitAndSaveRanges(i, n) }, t.prototype.mergeRanges = function (t, e) { return t.size = e.end - t.start + 1, t.dataSize += e.dataSize, t.end = e.end, t }, t.prototype.splitAndSaveRanges = function (t, e) { for (var n = t.end - t.start + 1, i = t.start, r = 0; 0 < n;) { var o = { type: "range", size: 0, dataSize: 0, start: -1, end: -1 }; r = Math.min(n, this._maxRangeSize), o.start = i, o.size = r, 0 === t.dataSize ? o.dataSize = 0 : o.dataSize = r, i += r, o.end = i - 1, e.push(o), n -= r } }, t.prototype._emitRange = function () { if (!(this._paused || this._emittedAll || this._isEmitting)) { this._isEmitting = !0; try { for (; this._emittedRangeIndex < this._rangelist.length; this._emittedRangeIndex++) { if (this._paused) return; var t = this._rangelist[this._emittedRangeIndex]; this._emitter.emit("range", t), this._rangelist[this._emittedRangeIndex] = null } this._rangeStreamEnded && (this._rangelist = null, this._emittedAll = !0, this._emitter.emit("end")) } finally { this._isEmitting = !1 } } }, t.prototype._defaultListFunc = function (t, e, n, r) { var o; i.normalizeArgs(n, r, function (t, e) { o = t, r = e }), this.getBlobProperties(t, e, o, function (t, e, n) { if (t) r(t); else { var i = [{}]; i[0].start = o.rangeStart ? Math.max(o.rangeStart, 0) : 0, i[0].end = o.rangeEnd ? Math.min(o.rangeEnd, e.contentLength - 1) : e.contentLength - 1, i[0].size = i[0].end - i[0].start + 1, i[0].dataSize = i[0].size, r(t, i, n) } }) }, t.prototype.on = function (t, e) { this._emitter.on(t, e) }, t.prototype.pause = function () { this._paused = !0 }, t.prototype.resume = function () { this._paused = !1, this._isEmitting || this._emitRange() }, t.prototype.stop = function () { this.pause(), this._emittedAll = !0, this._emitter.emit("end") }, n.exports = t }).call(this, e("_process")) }, { "./../common.core": 3, "./../util/constants": 32, _process: 72, events: 59 }], 30: [function (i, o, t) { (function (n) { var t = i("events"), a = i("util"), s = i("../util/util"); function e(t) { this.name = t, this._startTime = Date.now(), this._timeWindowInSeconds = 10, this._timeWindow = 1e3 * this._timeWindowInSeconds, this._totalWindowSize = 0, this._speedTracks = new Array(this._timeWindowInSeconds), this._speedTrackPtr = 0, this.totalSize = void 0, this.completeSize = 0 } function r(t, e) { if (!t) return "0B"; (!e || e <= 0) && (e = 2); var n = Math.floor(Math.log(t) / Math.log(1024)); return (t / Math.pow(1024, n)).toFixed(e) + ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"][n] } a.inherits(e, t), e.prototype.getElapsedSeconds = function (t) { var e = Date.now(), n = parseInt((e - this._startTime) / 1e3, 10); if (!1 !== t) { var i = parseInt(n % 60, 10); n /= 60; var r = Math.floor(n % 60); n /= 60; var o = Math.floor(n); n = a.format("%s:%s:%s", s.zeroPaddingString(o, 2), s.zeroPaddingString(r, 2), s.zeroPaddingString(i, 2)) } return n }, e.prototype.getCompletePercent = function (t) { return this.totalSize ? ((!t || t <= 0) && (t = 1), (100 * this.completeSize / this.totalSize).toFixed(t)) : 0 === this.totalSize ? 100 : 0 }, e.prototype.getAverageSpeed = function (t) { var e = this.getElapsedSeconds(!1); return this._getInternalSpeed(this.completeSize, e, t) }, e.prototype.getSpeed = function (t) { this._refreshSpeedTracks(); var e = this.getElapsedSeconds(!1); return e = Math.min(e, this._timeWindowInSeconds), this._getInternalSpeed(this._totalWindowSize, e, t) }, e.prototype._getInternalSpeed = function (t, e, n) { e <= 0 && (e = 1); var i = t / e; return !1 !== n && (i = r(i) + "/s"), i }, e.prototype._refreshSpeedTracks = function () { for (var t = Date.now(), e = 0, n = 0; n < this._speedTracks.length; n++)this._speedTracks[n] && (t - this._speedTracks[n].timeStamp <= this._timeWindow ? e += this._speedTracks[n].size : this._speedTracks[n] = null); this._totalWindowSize = e }, e.prototype.increment = function (t) { this.completeSize += t, this._recordSpeed(t); var e = this; return n.nextTick(function () { e.emit("progress") }), this.completeSize }, e.prototype._recordSpeed = function (t) { var e = Date.now(), n = this._speedTracks[this._speedTrackPtr]; if (n) { var i = e - n.timeStamp; i > this._timeWindow ? (n.timeStamp = e, n.size = t) : i <= 1e3 ? n.size += t : (this._speedTrackPtr = (this._speedTrackPtr + 1) % this._timeWindowInSeconds, this._recordSpeed(t)) } else n = { timeStamp: e, size: t }, this._speedTracks[this._speedTrackPtr] = n }, e.prototype.getAutoIncrementFunction = function (i) { var r = this; return function (t, e) { if (!t) { var n = 0; n = !e && 0 !== e || isNaN(e) ? i : e, r.increment(n) } } }, e.prototype.getTotalSize = function (t) { return !1 !== t ? r(this.totalSize) : this.totalSize }, e.prototype.getCompleteSize = function (t) { return !1 !== t ? r(this.completeSize) : this.completeSize }, o.exports = e }).call(this, i("_process")) }, { "../util/util": 38, _process: 72, events: 59, util: 117 }], 31: [function (t, e, n) { "use strict"; (n = e.exports).generateEmptyCondition = function () { return {} }, n.generateIfNotExistsCondition = function () { var t = { EtagNonMatch: "*" }; return t }, n.generateIfExistsCondition = function () { var t = { EtagMatch: "*" }; return t }, n.generateIfNoneMatchCondition = function (t) { var e = {}; return e.EtagNonMatch = t, e }, n.generateIfMatchCondition = function (t) { var e = {}; return e.EtagMatch = t, e }, n.generateIfModifiedSinceCondition = function (t) { var e = {}; return e.DateModifedSince = t, e }, n.generateIfNotModifiedSinceCondition = function (t) { var e = {}; return e.DateUnModifiedSince = t, e }, n.generateSequenceNumberEqualCondition = function (t) { var e = {}; return e.SequenceNumberEqual = t, e }, n.generateSequenceNumberLessThanCondition = function (t) { var e = {}; return e.SequenceNumberLessThan = t, e }, n.generateSequenceNumberLessThanOrEqualCondition = function (t) { var e = {}; return e.SequenceNumberLessThanOrEqual = t, e } }, {}], 32: [function (t, i, e) { (function (t) { i.exports; var e = t.env.AZURE_STORAGE_DNS_SUFFIX || "core.windows.net", n = { USER_AGENT_PRODUCT_NAME: "Azure-Storage", USER_AGENT_PRODUCT_VERSION: "2.10.3", DEFAULT_PARALLEL_OPERATION_THREAD_COUNT: 5, DEFAULT_ENABLE_REUSE_SOCKET: !0, KB: 1024, MB: 1048576, GB: 1073741824, HTTP: "http:", HTTPS: "https:", DEFAULT_HTTP_PORT: 80, DEFAULT_HTTPS_PORT: 443, DEFAULT_CLIENT_REQUEST_TIMEOUT_IN_MS: 12e4, XML_METADATA_MARKER: "$", XML_VALUE_MARKER: "_", ServiceType: { Blob: "blob", Queue: "queue", Table: "table", File: "file" }, RequestLocationMode: { PRIMARY_ONLY: 0, SECONDARY_ONLY: 1, PRIMARY_OR_SECONDARY: 2 }, StorageLocation: { PRIMARY: 0, SECONDARY: 1 }, AccountSasConstants: { Permissions: { READ: "r", ADD: "a", CREATE: "c", UPDATE: "u", PROCESS: "p", WRITE: "w", DELETE: "d", LIST: "l" }, Services: { BLOB: "b", FILE: "f", QUEUE: "q", TABLE: "t" }, Resources: { SERVICE: "s", CONTAINER: "c", OBJECT: "o" }, Protocols: { HTTPSONLY: "https", HTTPSORHTTP: "https,http" } }, AclConstants: { ACCESS_POLICY: "AccessPolicy", EXPIRY: "Expiry", ID: "Id", PERMISSION: "Permission", SIGNED_IDENTIFIER_ELEMENT: "SignedIdentifier", SIGNED_IDENTIFIERS_ELEMENT: "SignedIdentifiers", START: "Start" }, ServicePropertiesConstants: { STORAGE_SERVICE_PROPERTIES_ELEMENT: "StorageServiceProperties", DEFAULT_ANALYTICS_VERSION: "1.0", LOGGING_ELEMENT: "Logging", VERSION_ELEMENT: "Version", DELETE_ELEMENT: "Delete", READ_ELEMENT: "Read", WRITE_ELEMENT: "Write", RETENTION_POLICY_ELEMENT: "RetentionPolicy", ENABLED_ELEMENT: "Enabled", DAYS_ELEMENT: "Days", HOUR_METRICS_ELEMENT: "HourMetrics", MINUTE_METRICS_ELEMENT: "MinuteMetrics", CORS_ELEMENT: "Cors", CORS_RULE_ELEMENT: "CorsRule", ALLOWED_ORIGINS_ELEMENT: "AllowedOrigins", ALLOWED_METHODS_ELEMENT: "AllowedMethods", MAX_AGE_IN_SECONDS_ELEMENT: "MaxAgeInSeconds", EXPOSED_HEADERS_ELEMENT: "ExposedHeaders", ALLOWED_HEADERS_ELEMENT: "AllowedHeaders", INCLUDE_APIS_ELEMENT: "IncludeAPIs", DEFAULT_SERVICE_VERSION_ELEMENT: "DefaultServiceVersion", DEFAULT_DELETE_RETENTION_POLICY_ELEMENT: "DeleteRetentionPolicy", DEFAULT_STATIC_WEBSITE_ELEMENT: "StaticWebsite", DEFAULT_INDEX_DOCUMENT_ELEMENT: "IndexDocument", DEFAULT_ERROR_DOCUMENT_404_PATH_ELEMENT: "ErrorDocument404Path" }, BlobConstants: { LATEST_ELEMENT: "Latest", UNCOMMITTED_ELEMENT: "Uncommitted", BLOCK_LIST_ELEMENT: "BlockList", COMMITTED_ELEMENT: "Committed", DEFAULT_WRITE_PAGE_SIZE_IN_BYTES: 4194304, MIN_WRITE_PAGE_SIZE_IN_BYTES: 2097152, DEFAULT_SINGLE_BLOB_PUT_THRESHOLD_IN_BYTES: 33554432, DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES: 4194304, DEFAULT_CRITICAL_MEMORY_LIMITATION_32_IN_BYTES: 838860800, DEFAULT_CRITICAL_MEMORY_LIMITATION_BROWSER_IN_BYTES: 1073741824, DEFAULT_MINIMUM_MEMORY_USAGE_BROWSER_IN_BYTES: 4194304, MAX_BLOCK_BLOB_BLOCK_SIZE: 104857600, MAX_APPEND_BLOB_BLOCK_SIZE: 4194304, MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES: 67108864, MAX_RANGE_GET_SIZE_WITH_MD5: 4194304, MAX_UPDATE_PAGE_SIZE: 4194304, MAX_QUEUED_WRITE_DISK_BUFFER_SIZE: 67108864, MAX_SINGLE_GET_PAGE_RANGE_SIZE: 155189248, PAGE_SIZE: 512, ResourceTypes: { CONTAINER: "c", BLOB: "b" }, ListBlobTypes: { Blob: "b", Directory: "d" }, PageWriteOptions: { UPDATE: "update", CLEAR: "clear" }, BlobTypes: { BLOCK: "BlockBlob", PAGE: "PageBlob", APPEND: "AppendBlob" }, LeaseOperation: { ACQUIRE: "acquire", RENEW: "renew", CHANGE: "change", RELEASE: "release", BREAK: "break" } }, FileConstants: { DEFAULT_WRITE_SIZE_IN_BYTES: 4194304, MAX_RANGE_GET_SIZE_WITH_MD5: 4194304, MAX_UPDATE_FILE_SIZE: 4194304, DEFAULT_SINGLE_FILE_GET_THRESHOLD_IN_BYTES: 33554432, MIN_WRITE_FILE_SIZE_IN_BYTES: 2097152, RangeWriteOptions: { UPDATE: "update", CLEAR: "clear" }, ResourceTypes: { SHARE: "s", FILE: "f" } }, QueueConstants: { QUEUE_MESSAGE_ELEMENT: "QueueMessage", MESSAGE_TEXT_ELEMENT: "MessageText" }, TableConstants: { CHANGESET_DELIMITER: "--changesetresponse_", BATCH_DELIMITER: "--batchresponse_", CONTINUATION_NEXT_ROW_KEY: "x-ms-continuation-nextrowkey", CONTINUATION_NEXT_PARTITION_KEY: "x-ms-continuation-nextpartitionkey", CONTINUATION_NEXT_TABLE_NAME: "x-ms-continuation-nexttablename", NEXT_ROW_KEY: "NextRowKey", NEXT_PARTITION_KEY: "NextPartitionKey", NEXT_TABLE_NAME: "NextTableName", ODATA_PREFIX: "odata.", ODATA_TYPE_SUFFIX: "@odata.type", ODATA_METADATA_MARKER: ".metadata", ODATA_VALUE_MARKER: "_", ODATA_TYPE_MARKER: "$", DEFAULT_DATA_SERVICE_VERSION: "3.0;NetFx", TABLE_NAME: "TableName", TABLE_SERVICE_TABLE_NAME: "Tables", Operations: { RETRIEVE: "RETRIEVE", INSERT: "INSERT", REPLACE: "REPLACE", MERGE: "MERGE", DELETE: "DELETE", INSERT_OR_REPLACE: "INSERT_OR_REPLACE", INSERT_OR_MERGE: "INSERT_OR_MERGE" } }, HeaderConstants: { ACCEPT_RANGES: "accept_ranges", CONTENT_TRANSFER_ENCODING: "content-transfer-encoding", TRANSFER_ENCODING: "transfer-encoding", SERVER: "server", LOCATION: "location", LAST_MODIFIED: "Last-Modified", CREATION_TIME: "x-ms-creation-time", DATA_SERVICE_VERSION: "dataserviceversion", MAX_DATA_SERVICE_VERSION: "maxdataserviceversion", PREFIX_FOR_STORAGE: "x-ms-", CLIENT_REQUEST_ID: "x-ms-client-request-id", APPROXIMATE_MESSAGES_COUNT: "x-ms-approximate-messages-count", AUTHORIZATION: "authorization", FORCE_NO_CACHE_IN_BROWSER: "_", BLOB_PUBLIC_ACCESS: "x-ms-blob-public-access", HAS_IMMUTABILITY_POLICY: "x-ms-has-immutability-policy", HAS_LEGAL_HOLD: "x-ms-has-legal-hold", BLOB_TYPE: "x-ms-blob-type", TYPE: "x-ms-type", BLOCK_BLOB: "blockblob", CACHE_CONTROL: "cache-control", BLOB_CACHE_CONTROL: "x-ms-blob-cache-control", FILE_CACHE_CONTROL: "x-ms-cache-control", COPY_STATUS: "x-ms-copy-status", COPY_COMPLETION_TIME: "x-ms-copy-completion-time", COPY_STATUS_DESCRIPTION: "x-ms-copy-status-description", COPY_ID: "x-ms-copy-id", COPY_PROGRESS: "x-ms-copy-progress", COPY_ACTION: "x-ms-copy-action", INCREMENTAL_COPY: "x-ms-incremental-copy", COPY_DESTINATION_SNAPSHOT: "x-ms-copy-destination-snapshot", CONTENT_ID: "content-id", CONTENT_ENCODING: "content-encoding", BLOB_CONTENT_ENCODING: "x-ms-blob-content-encoding", FILE_CONTENT_ENCODING: "x-ms-content-encoding", CONTENT_LANGUAGE: "content-language", BLOB_CONTENT_LANGUAGE: "x-ms-blob-content-language", FILE_CONTENT_LANGUAGE: "x-ms-content-language", CONTENT_LENGTH: "content-length", BLOB_CONTENT_LENGTH: "x-ms-blob-content-length", FILE_CONTENT_LENGTH: "x-ms-content-length", CONTENT_DISPOSITION: "content-disposition", BLOB_CONTENT_DISPOSITION: "x-ms-blob-content-disposition", FILE_CONTENT_DISPOSITION: "x-ms-content-disposition", CONTENT_MD5: "content-md5", BLOB_CONTENT_MD5: "x-ms-blob-content-md5", FILE_CONTENT_MD5: "x-ms-content-md5", CONTENT_RANGE: "cache-range", CONTENT_TYPE: "content-type", BLOB_CONTENT_TYPE: "x-ms-blob-content-type", FILE_CONTENT_TYPE: "x-ms-content-type", COPY_SOURCE: "x-ms-copy-source", DATE: "date", MS_DATE: "x-ms-date", DELETE_SNAPSHOT: "x-ms-delete-snapshots", ETAG: "etag", IF_MATCH: "if-match", IF_MODIFIED_SINCE: "if-modified-since", IF_NONE_MATCH: "if-none-match", IF_UNMODIFIED_SINCE: "if-unmodified-since", INCLUDE_SNAPSHOTS_VALUE: "include", JSON_CONTENT_TYPE_VALUE: "application/json", SKU_NAME: "x-ms-sku-name", ACCOUNT_KIND: "x-ms-account-kind", LEASE_ID: "x-ms-lease-id", LEASE_BREAK_PERIOD: "x-ms-lease-break-period", PROPOSED_LEASE_ID: "x-ms-proposed-lease-id", LEASE_DURATION: "x-ms-lease-duration", SOURCE_LEASE_ID: "x-ms-source-lease-id", LEASE_TIME: "x-ms-lease-time", LEASE_STATUS: "x-ms-lease-status", LEASE_STATE: "x-ms-lease-state", PAGE_BLOB: "PageBlob", PAGE_WRITE: "x-ms-page-write", FILE_WRITE: "x-ms-write", PREFER: "Prefer", PREFER_CONTENT: "return-content", PREFER_NO_CONTENT: "return-no-content", PREFIX_FOR_STORAGE_METADATA: "x-ms-meta-", PREFIX_FOR_STORAGE_PROPERTIES: "x-ms-prop-", RANGE: "Range", SOURCE_RANGE: "x-ms-source-range", RANGE_GET_CONTENT_MD5: "x-ms-range-get-content-md5", RANGE_HEADER_FORMAT: "bytes:%d-%d", REQUEST_ID: "x-ms-request-id", SEQUENCE_NUMBER: "x-ms-blob-sequence-number", SEQUENCE_NUMBER_EQUAL: "x-ms-if-sequence-number-eq", SEQUENCE_NUMBER_LESS_THAN: "x-ms-if-sequence-number-lt", SEQUENCE_NUMBER_LESS_THAN_OR_EQUAL: "x-ms-if-sequence-number-le", SEQUENCE_NUMBER_ACTION: "x-ms-sequence-number-action", SIZE: "x-ms-blob-content-length", SNAPSHOT: "x-ms-snapshot", SNAPSHOTS_ONLY_VALUE: "only", SOURCE_IF_MATCH: "x-ms-source-if-match", SOURCE_IF_MODIFIED_SINCE: "x-ms-source-if-modified-since", SOURCE_IF_NONE_MATCH: "x-ms-source-if-none-match", SOURCE_IF_UNMODIFIED_SINCE: "x-ms-source-if-unmodified-since", STORAGE_RANGE: "x-ms-range", STORAGE_VERSION: "x-ms-version", TARGET_STORAGE_VERSION: "2018-03-28", USER_AGENT: "user-agent", POP_RECEIPT: "x-ms-popreceipt", TIME_NEXT_VISIBLE: "x-ms-time-next-visible", APPROXIMATE_MESSAGE_COUNT: "x-ms-approximate-message-count", LEASE_ACTION: "x-ms-lease-action", ACCEPT: "accept", ACCEPT_CHARSET: "Accept-Charset", HOST: "host", CORRELATION_ID: "x-ms-correlation-id", GROUP_ID: "x-ms-group-id", SHARE_QUOTA: "x-ms-share-quota", BLOB_CONDITION_MAX_SIZE: "x-ms-blob-condition-maxsize", BLOB_CONDITION_APPEND_POSITION: "x-ms-blob-condition-appendpos", BLOB_APPEND_OFFSET: "x-ms-blob-append-offset", BLOB_COMMITTED_BLOCK_COUNT: "x-ms-blob-committed-block-count", REQUEST_SERVER_ENCRYPTED: "x-ms-request-server-encrypted", SERVER_ENCRYPTED: "x-ms-server-encrypted", ACCESS_TIER: "x-ms-access-tier", ACCESS_TIER_CHANGE_TIME: "x-ms-access-tier-change-time", ACCESS_TIER_INFERRED: "x-ms-access-tier-inferred", ARCHIVE_STATUS: "x-ms-archive-status" }, QueryStringConstants: { API_VERSION: "api-version", COMP: "comp", RESTYPE: "restype", COPY_ID: "copyid", SNAPSHOT: "snapshot", SHARE_SNAPSHOT: "sharesnapshot", PREV_SNAPSHOT: "prevsnapshot", TIMEOUT: "timeout", SIGNED_START: "st", SIGNED_EXPIRY: "se", SIGNED_RESOURCE: "sr", SIGNED_PERMISSIONS: "sp", SIGNED_SERVICES: "ss", SIGNED_RESOURCE_TYPES: "srt", SIGNED_IP: "sip", SIGNED_PROTOCOL: "spr", SIGNED_IDENTIFIER: "si", SIGNATURE: "sig", SIGNED_VERSION: "sv", CACHE_CONTROL: "rscc", CONTENT_TYPE: "rsct", CONTENT_ENCODING: "rsce", CONTENT_LANGUAGE: "rscl", CONTENT_DISPOSITION: "rscd", BLOCK_ID: "blockid", BLOCK_LIST_TYPE: "blocklisttype", PREFIX: "prefix", MARKER: "marker", MAX_RESULTS: "maxresults", DELIMITER: "delimiter", INCLUDE: "include", PEEK_ONLY: "peekonly", NUM_OF_MESSAGES: "numofmessages", POP_RECEIPT: "popreceipt", VISIBILITY_TIMEOUT: "visibilitytimeout", MESSAGE_TTL: "messagettl", SELECT: "$select", FILTER: "$filter", TOP: "$top", SKIP: "$skip", NEXT_PARTITION_KEY: "NextPartitionKey", NEXT_ROW_KEY: "NextRowKey", LOCK_ID: "lockid", TABLENAME: "tn", STARTPK: "spk", STARTRK: "srk", ENDPK: "epk", ENDRK: "erk" }, StorageServiceClientConstants: { DEFAULT_PROTOCOL: "https:", EnvironmentVariables: { AZURE_STORAGE_ACCOUNT: "AZURE_STORAGE_ACCOUNT", AZURE_STORAGE_ACCESS_KEY: "AZURE_STORAGE_ACCESS_KEY", AZURE_STORAGE_DNS_SUFFIX: "AZURE_STORAGE_DNS_SUFFIX", AZURE_STORAGE_CONNECTION_STRING: "AZURE_STORAGE_CONNECTION_STRING", HTTP_PROXY: "HTTP_PROXY", HTTPS_PROXY: "HTTPS_PROXY", EMULATED: "EMULATED" }, DEVSTORE_STORAGE_ACCOUNT: "devstoreaccount1", DEVSTORE_STORAGE_ACCESS_KEY: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==", DEV_STORE_URI: "http://127.0.0.1", DEVSTORE_DEFAULT_PROTOCOL: "http://", DEVSTORE_BLOB_HOST: "127.0.0.1:10000", DEVSTORE_QUEUE_HOST: "127.0.0.1:10001", DEVSTORE_TABLE_HOST: "127.0.0.1:10002", CLOUD_BLOB_HOST: "blob." + e, CLOUD_QUEUE_HOST: "queue." + e, CLOUD_TABLE_HOST: "table." + e, CLOUD_FILE_HOST: "file." + e }, HttpConstants: { HttpVerbs: { PUT: "PUT", GET: "GET", DELETE: "DELETE", POST: "POST", MERGE: "MERGE", HEAD: "HEAD" }, HttpResponseCodes: { Ok: 200, Created: 201, Accepted: 202, NoContent: 204, PartialContent: 206, BadRequest: 400, Unauthorized: 401, Forbidden: 403, NotFound: 404, Conflict: 409, LengthRequired: 411, PreconditionFailed: 412 } }, CompatibleVersionConstants: { AUGUST_2013: "2013-08-15", FEBRUARY_2012: "2012-02-12" }, BlobErrorCodeStrings: { INVALID_BLOCK_ID: "InvalidBlockId", BLOB_NOT_FOUND: "BlobNotFound", BLOB_ALREADY_EXISTS: "BlobAlreadyExists", CONTAINER_ALREADY_EXISTS: "ContainerAlreadyExists", CONTAINER_NOT_FOUND: "ContainerNotFound", INVALID_BLOB_OR_BLOCK: "InvalidBlobOrBlock", INVALID_BLOCK_LIST: "InvalidBlockList" }, FileErrorCodeStrings: { SHARE_ALREADY_EXISTS: "ShareAlreadyExists", SHARE_NOT_FOUND: "ShareNotFound", FILE_NOT_FOUND: "FileNotFound" }, QueueErrorCodeStrings: { QUEUE_NOT_FOUND: "QueueNotFound", QUEUE_DISABLED: "QueueDisabled", QUEUE_ALREADY_EXISTS: "QueueAlreadyExists", QUEUE_NOT_EMPTY: "QueueNotEmpty", QUEUE_BEING_DELETED: "QueueBeingDeleted", POP_RECEIPT_MISMATCH: "PopReceiptMismatch", INVALID_PARAMETER: "InvalidParameter", MESSAGE_NOT_FOUND: "MessageNotFound", MESSAGE_TOO_LARGE: "MessageTooLarge", INVALID_MARKER: "InvalidMarker" }, StorageErrorCodeStrings: { CONDITION_NOT_MET: "ConditionNotMet", MISSING_REQUIRED_HEADER: "MissingRequiredHeader", MISSING_REQUIRED_XML_NODE: "MissingRequiredXmlNode", UNSUPPORTED_HEADER: "UnsupportedHeader", UNSUPPORTED_XML_NODE: "UnsupportedXmlNode", INVALID_HEADER_VALUE: "InvalidHeaderValue", INVALID_XML_NODE_VALUE: "InvalidXmlNodeValue", MISSING_REQUIRED_QUERY_PARAMETER: "MissingRequiredQueryParameter", UNSUPPORTED_QUERY_PARAMETER: "UnsupportedQueryParameter", INVALID_QUERY_PARAMETER_VALUE: "InvalidQueryParameterValue", OUT_OF_RANGE_QUERY_PARAMETER_VALUE: "OutOfRangeQueryParameterValue", REQUEST_URL_FAILED_TO_PARSE: "RequestUrlFailedToParse", INVALID_URI: "InvalidUri", INVALID_HTTP_VERB: "InvalidHttpVerb", EMPTY_METADATA_KEY: "EmptyMetadataKey", INVALID_XML_DOCUMENT: "InvalidXmlDocument", MD5_MISMATCH: "Md5Mismatch", INVALID_MD5: "InvalidMd5", OUT_OF_RANGE_INPUT: "OutOfRangeInput", INVALID_AUTHENTICATION_INFO: "InvalidAuthenticationInfo", INVALID_INPUT: "InvalidInput", INVALID_METADATA: "InvalidMetadata", INVALID_RESOURCE_NAME: "InvalidResourceName", METADATA_TOO_LARGE: "MetadataTooLarge", CONDITION_HEADER_NOT_SUPPORTED: "ConditionHeadersNotSupported", MULTIPLE_CONDITION_HEADER_NOT_SUPPORTED: "MultipleConditionHeadersNotSupported", AUTHENTICATION_FAILED: "AuthenticationFailed", INSUFFICIENT_ACCOUNT_PERMISSIONS: "InsufficientAccountPermissions", RESOURCE_NOT_FOUND: "ResourceNotFound", ACCOUNT_IS_DISABLED: "AccountIsDisabled", UNSUPPORTED_HTTP_VERB: "UnsupportedHttpVerb", ACCOUNT_ALREADY_EXISTS: "AccountAlreadyExists", ACCOUNT_BEING_CREATED: "AccountBeingCreated", RESOURCE_ALREADY_EXISTS: "ResourceAlreadyExists", RESOURCE_TYPE_MISMATCH: "ResourceTypeMismatch", MISSING_CONTENT_LENGTH_HEADER: "MissingContentLengthHeader", REQUEST_BODY_TOO_LARGE: "RequestBodyTooLarge", INVALID_RANGE: "InvalidRange", INTERNAL_ERROR: "InternalError", OPERATION_TIMED_OUT: "OperationTimedOut", SERVER_BUSY: "ServerBusy", UPDATE_CONDITION_NOT_SATISFIED: "UpdateConditionNotSatisfied", CONTAINER_NOT_FOUND: "ContainerNotFound", CONTAINER_ALREADY_EXISTS: "ContainerAlreadyExists", CONTAINER_DISABLED: "ContainerDisabled", CONTAINER_BEING_DELETED: "ContainerBeingDeleted" }, TableErrorCodeStrings: { XMETHOD_NOT_USING_POST: "XMethodNotUsingPost", XMETHOD_INCORRECT_VALUE: "XMethodIncorrectValue", XMETHOD_INCORRECT_COUNT: "XMethodIncorrectCount", TABLE_HAS_NO_PROPERTIES: "TableHasNoProperties", DUPLICATE_PROPERTIES_SPECIFIED: "DuplicatePropertiesSpecified", TABLE_HAS_NO_SUCH_PROPERTY: "TableHasNoSuchProperty", DUPLICATE_KEY_PROPERTY_SPECIFIED: "DuplicateKeyPropertySpecified", TABLE_ALREADY_EXISTS: "TableAlreadyExists", TABLE_NOT_FOUND: "TableNotFound", ENTITY_NOT_FOUND: "EntityNotFound", ENTITY_ALREADY_EXISTS: "EntityAlreadyExists", PARTITION_KEY_NOT_SPECIFIED: "PartitionKeyNotSpecified", OPERATOR_INVALID: "OperatorInvalid", UPDATE_CONDITION_NOT_SATISFIED: "UpdateConditionNotSatisfied", PROPERTIES_NEED_VALUE: "PropertiesNeedValue", PARTITION_KEY_PROPERTY_CANNOT_BE_UPDATED: "PartitionKeyPropertyCannotBeUpdated", TOO_MANY_PROPERTIES: "TooManyProperties", ENTITY_TOO_LARGE: "EntityTooLarge", PROPERTY_VALUE_TOO_LARGE: "PropertyValueTooLarge", INVALID_VALUE_TYPE: "InvalidValueType", TABLE_BEING_DELETED: "TableBeingDeleted", TABLE_SERVER_OUT_OF_MEMORY: "TableServerOutOfMemory", PRIMARY_KEY_PROPERTY_IS_INVALID_TYPE: "PrimaryKeyPropertyIsInvalidType", PROPERTY_NAME_TOO_LONG: "PropertyNameTooLong", PROPERTY_NAME_INVALID: "PropertyNameInvalid", BATCH_OPERATION_NOT_SUPPORTED: "BatchOperationNotSupported", JSON_FORMAT_NOT_SUPPORTED: "JsonFormatNotSupported", METHOD_NOT_ALLOWED: "MethodNotAllowed", NOT_IMPLEMENTED: "NotImplemented" }, ConnectionStringKeys: { USE_DEVELOPMENT_STORAGE_NAME: "UseDevelopmentStorage", DEVELOPMENT_STORAGE_PROXY_URI_NAME: "DevelopmentStorageProxyUri", DEFAULT_ENDPOINTS_PROTOCOL_NAME: "DefaultEndpointsProtocol", ACCOUNT_NAME_NAME: "AccountName", ACCOUNT_KEY_NAME: "AccountKey", BLOB_ENDPOINT_NAME: "BlobEndpoint", FILE_ENDPOINT_NAME: "FileEndpoint", QUEUE_ENDPOINT_NAME: "QueueEndpoint", TABLE_ENDPOINT_NAME: "TableEndpoint", SHARED_ACCESS_SIGNATURE_NAME: "SharedAccessSignature", ENDPOINT_SUFFIX_NAME: "EndpointSuffix", BLOB_BASE_DNS_NAME: "blob.core.windows.net", FILE_BASE_DNS_NAME: "file.core.windows.net", QUEUE_BASE_DNS_NAME: "queue.core.windows.net", TABLE_BASE_DNS_NAME: "table.core.windows.net" } }; i.exports = n }).call(this, t("_process")) }, { _process: 72 }], 33: [function (t, e, n) { n.daysFromNow = function (t) { var e = new Date; return e.setDate(e.getDate() + t), e }, n.hoursFromNow = function (t) { var e = new Date; return e.setHours(e.getHours() + t), e }, n.minutesFromNow = function (t) { var e = new Date; return e.setMinutes(e.getMinutes() + t), e }, n.secondsFromNow = function (t) { var e = new Date; return e.setSeconds(e.getSeconds() + t), e } }, {}], 34: [function (t, e, n) { n.format = function (t) { var e = t.toISOString(); return e.substring(0, e.length - 1) + "0000Z" }, n.parse = function (t) { var e = t.split("T"), n = e[0].split("-"), i = e[1].split("."), r = i[0].split(":"), o = 0; return i[1] && (o = i[1].split("Z")), new Date(Date.UTC(parseInt(n[0], 10), parseInt(n[1], 10) - 1, parseInt(n[2], 10), parseInt(r[0], 10), parseInt(r[1], 10), parseInt(r[2], 10), Math.round(parseInt(function (t, e) { for (var n = "" + t; n.length < e;)n += "0"; return n }(o[0], 7), 10) / 1e4))) } }, {}], 35: [function (t, e, n) { "use strict"; t("xmlbuilder/lib/XMLStringifier").prototype.assertLegalChar = function (t) { var e, n; if (e = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/, n = t.match(e)) throw new Error("Invalid character (" + n + ") in string: " + t); return t } }, { "xmlbuilder/lib/XMLStringifier": 213 }], 36: [function (t, e, n) { e.exports; e.exports = { ANONYMOUS_ACCESS_BLOBSERVICE_ONLY: "Anonymous access is only valid for the BlobService.", ARGUMENT_NULL_OR_EMPTY: "The argument must not be null or an empty string. Argument name: %s.", ARGUMENT_NULL_OR_UNDEFINED: "The argument must not be null or undefined. Argument name: %s.", ARGUMENT_OUT_OF_RANGE_ERROR: "The argument is out of range. Argument name: %s, Value passed: %s.", BATCH_ONE_PARTITION_KEY: "All entities in the batch must have the same PartitionKey value.", BATCH_ONE_RETRIEVE: "If a retrieve operation is part of a batch, it must be the only operation in the batch.", BATCH_TOO_LARGE: "Batches must not contain more than 100 operations.", BLOB_INVALID_SEQUENCE_NUMBER: "The sequence number may not be specified for an increment operation.", BLOB_TYPE_MISMATCH: "Blob type of the blob reference doesn't match blob type of the blob.", CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY: "Cannot create Shared Access Signature unless the Account Name and Key are used to create the ServiceClient.", CONTENT_LENGTH_MISMATCH: "An incorrect number of bytes was read from the connection. The connection may have been closed.", CONTENT_TYPE_MISSING: "Content-Type response header is missing or invalid.", EMPTY_BATCH: "Batch must not be empty.", EXCEEDED_SIZE_LIMITATION: "Upload exceeds the size limitation. Max size is %s but the current size is %s", HASH_MISMATCH: "Hash mismatch (integrity check failed), Expected value is %s, retrieved %s.", INCORRECT_ENTITY_KEYS: "PartitionKey and RowKey must be specified as strings in the entity object.", INVALID_BLOB_LENGTH: "createBlockBlobFromText requires the size of text to be less than 64MB. Please use createBlockBlobFromLocalFile or createBlockBlobFromStream to upload large blobs.", INVALID_CONNECTION_STRING: 'Connection strings must be of the form "key1=value1;key2=value2".', INVALID_CONNECTION_STRING_BAD_KEY: 'Connection string contains unrecognized key: "%s"', INVALID_CONNECTION_STRING_DUPLICATE_KEY: 'Connection string contains duplicate key: "%s"', INVALID_CONNECTION_STRING_EMPTY_KEY: "Connection strings must not contain empty keys.", INVALID_DELETE_SNAPSHOT_OPTION: "The deleteSnapshots option cannot be included when deleting a specific snapshot using the snapshotId option.", INVALID_EDM_TYPE: "The value '%s' does not match the type '%s'.", INVALID_FILE_LENGTH: "createFileFromText requires the size of text to be less than 4MB. Please use createFileFromLocalFile or createFileFromStream to upload large files.", INVALID_FILE_RANGE_FOR_UPDATE: "Range size should be less than 4MB for a file range update operation.", INVALID_HEADERS: "Headers are not supported in the 2012-02-12 version.", INVALID_MESSAGE_ID: "Message ID cannot be null or undefined for deleteMessage and updateMessage operations.", INVALID_PAGE_BLOB_LENGTH: "Page blob length must be multiple of 512.", INVALID_PAGE_END_OFFSET: "Page end offset must be multiple of 512.", INVALID_PAGE_RANGE_FOR_UPDATE: "Page range size should be less than 4MB for a page update operation.", INVALID_PAGE_START_OFFSET: "Page start offset must be multiple of 512.", INVALID_POP_RECEIPT: "Pop Receipt cannot be null or undefined for deleteMessage and updateMessage operations.", INVALID_PROPERTY_RESOLVER: "The specified property resolver returned an invalid type. %s:{_:%s,$:%s }", INVALID_RANGE_FOR_MD5: "The requested range should be less than 4MB when contentMD5 is expected from the server", INVALID_SAS_VERSION: "SAS Version ? is invalid. Valid versions include: ?.", INVALID_SAS_TOKEN: "The SAS token should not contain api-version.", INVALID_SIGNED_IDENTIFIERS: "Signed identifiers need to be a hash object with key as the id and the value as the access policy.", INVALID_STREAM_LENGTH: "The length of the provided stream is invalid.", INVALID_STRING_ERROR: "Invalid string error.", INVALID_TABLE_OPERATION: "Operation not found: %s", INVALID_TEXT_LENGTH: "The length of the provided text is invalid.", MAXIMUM_EXECUTION_TIMEOUT_EXCEPTION: "The client could not finish the operation within specified maximum execution timeout.", MD5_NOT_POSSIBLE: "MD5 cannot be calculated for an existing blob because it would require reading the existing data. Please disable storeBlobContentMD5.", MD5_NOT_PRESENT_ERROR: "MD5 does not exist. If you do not want to force validation, please disable useTransactionalMD5.", METADATA_KEY_INVALID: "The key for one of the metadata key-value pairs is null, empty, or whitespace.", METADATA_VALUE_INVALID: "The value for one of the metadata key-value pairs is null, empty, or whitespace.", NO_CREDENTIALS_PROVIDED: "Credentials must be provided when creating a service client.", PRIMARY_ONLY_COMMAND: "This operation can only be executed against the primary storage location.", QUERY_OPERATOR_REQUIRES_WHERE: "%s operator needs to be used after where.", SECONDARY_ONLY_COMMAND: "This operation can only be executed against the secondary storage location.", STORAGE_HOST_LOCATION_REQUIRED: "The host for the storage service must be specified.", STORAGE_HOST_MISSING_LOCATION: "The host for the target storage location is not specified. Please consider changing the request's location mode.", TYPE_NOT_SUPPORTED: "Type not supported when sending data to the service: ", MAX_BLOB_SIZE_CONDITION_NOT_MEET: "Append block data should not exceed the maximum blob size condition value." } }, {}], 37: [function (t, e, n) { e.exports = { LocationMode: { PRIMARY_ONLY: 0, PRIMARY_THEN_SECONDARY: 1, SECONDARY_ONLY: 2, SECONDARY_THEN_PRIMARY: 3 } } }, {}], 38: [function (t, e, f) { (function (e, c) { var r = t("underscore"), n = t("util"), i = t("url"), o = t("stream"), u = t("./constants"), s = t("../md5-wrapper"), a = t("./storageutilities"), l = t("./sr"); f.trimPortFromUri = function (t) { return ((t = i.parse(t)).protocol === u.HTTPS && t.port == u.DEFAULT_HTTPS_PORT || t.protocol === u.HTTP && t.port == u.DEFAULT_HTTP_PORT) && (t.host = t.hostname), i.format(t) }, f.objectKeysLength = function (t) { return t ? r.keys(t).length : 0 }, f.isBrowser = function () { return "undefined" != typeof window }, f.isIE = function () { if (!f.isBrowser()) return !1; var t = window.navigator.userAgent, e = t.indexOf("MSIE "), n = t.indexOf("Trident/"); return 0 < e || 0 < n }, f.is32 = function () { return !f.isBrowser() && "ia32" === e.arch }, f.objectIsNull = function (t) { return r.isNull(t) || r.isUndefined(t) }, f.objectIsEmpty = function (t) { return r.isEmpty(t) }, f.objectIsInt = function (t) { return "number" == typeof t && parseFloat(t) == parseInt(t, 10) && !isNaN(t) }, f.objectIsNaN = function (t) { return "number" == typeof t && isNaN(t) }, f.objectIsString = function (t) { return r.isString(t) }, f.objectIsFunction = function (t) { return r.isFunction(t) }, f.zeroPaddingString = function (t, e) { var n = "0000000000" + t; return n.length < e ? f.zeroPaddingString(n, e) : n.substr(-1 * e) }, f.stringIsEmpty = function (t) { return r.isNull(t) || r.isUndefined(t) || "" === t }, f.IsNullOrEmptyOrUndefinedOrWhiteSpace = function (t) { return !(!r.isNull(t) && !r.isUndefined(t) && "" !== t) || !(!r.isString(t) || 0 !== t.trim().length) }, f.stringFormat = function (t) { if (1 < arguments.length) for (var e = 1; -1 !== t.indexOf("?"); e++)t = t.replace("?", arguments[e]); return t }, f.stringStartsWith = function (t, e) { return !!r.isNull(e) || t.substr(0, e.length) === e }, f.stringEndsWith = function (t, e) { return !!r.isNull(e) || t.substr(t.length - e.length) === e }, f.removeBOM = function (t) { return 65279 !== t.charCodeAt(0) && 65519 !== t.charCodeAt(0) || (t = t.substring(1)), t }, f.merge = function () { return r.extend.apply(this, arguments) }, f.inArrayInsensitive = function (t, e) { return r.contains(r.map(e, function (t) { return t.toLowerCase() }), t.toLowerCase()) }, f.tryGetValueInsensitive = function (t, e, n) { if (e) for (var i in e) if (e.hasOwnProperty(i) && i.toString().toLowerCase() === t.toString().toLowerCase()) return e[i]; return n }, f.tryGetValueChain = function (t, e, n) { if (0 === e.length) return t; var i = e.shift(); return t && void 0 !== t[i] ? f.tryGetValueChain(t[i], e, n) : n }, f.setObjectInnerPropertyValue = function (t, e, n) { if (t && !(e.length < 1)) { var i = e.shift(); 0 !== e.length ? (t[i] || (t[i] = {}), f.setObjectInnerPropertyValue(t[i], e, n)) : t[i] = n } }, f.truncatedISO8061Date = function (t) { var e = t.toISOString(); return e.substring(0, e.length - 5) + "Z" }, f.normalizeArgs = function (t, e, n) { var i = {}; r.isFunction(t) && !e ? e = t : t && (i = t), n(i, e) }, f.getNodeVersion = function () { var t = e.version.split("."); return { major: parseInt(t[0].substr(1), 10), minor: parseInt(t[1], 10), patch: parseInt(t[2], 10) } }, f.calculateMD5 = function (n, i, t, e) { var r = c.alloc(i), o = 0, a = (new s).createMd5Hash(); n.on("data", function (t) { if (o + t.length > i) { var e = i - o; 0 < e && ((t = t.slice(0, e)).copy(r, o), a.update(t), o += e), n.emit("end") } else t.copy(r, o), a.update(t), o += t.length }).on("end", function () { if (!n.endEmitted) { r = r.slice(0, o); var t = a.digest("base64"); n.endEmitted = !0, e(r, t) } }) }, f.isBufferAllZero = function (t) { for (var e = 0, n = t.length; e < n; e++)if (0 !== t[e]) return !1; return !0 }; var p = null; f.writeZerosToStream = function (t, e, n, i, r) { var o = u.BlobConstants.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES, a = Math.min(o, e), s = e - a, l = null; return a == o ? (p || (p = c.alloc(o)).fill(0), l = p) : (l = c.alloc(a)).fill(0), n && n.update(l), t.write(l, function () { f.objectIsFunction(i) && i(null, l.length), l = null, 0 < s ? f.writeZerosToStream(t, s, n, i, r) : f.objectIsFunction(r) && r(null, null) }) }, f.getContentMd5 = function (t, e) { e || (e = "base64"); var n = (new s).createMd5Hash(); return n.update(t, "utf8"), n.digest(e) }, f.getNextLocation = function (t, e) { switch (e) { case a.LocationMode.PRIMARY_ONLY: return u.StorageLocation.PRIMARY; case a.LocationMode.SECONDARY_ONLY: return u.StorageLocation.SECONDARY; case a.LocationMode.PRIMARY_THEN_SECONDARY: case a.LocationMode.SECONDARY_THEN_PRIMARY: return t === u.StorageLocation.PRIMARY ? u.StorageLocation.SECONDARY : u.StorageLocation.PRIMARY; default: throw new RangeError(n.format(l.ARGUMENT_OUT_OF_RANGE_ERROR, "locationMode", e)) } }, f.getNextListingLocationMode = function (t) { if (r.isNull(t) || r.isUndefined(t)) return u.RequestLocationMode.PRIMARY_OR_SECONDARY; switch (t.targetLocation) { case u.StorageLocation.PRIMARY: return u.RequestLocationMode.PRIMARY_ONLY; case u.StorageLocation.SECONDARY: return u.RequestLocationMode.SECONDARY_ONLY; default: throw new RangeError(n.format(l.ARGUMENT_OUT_OF_RANGE_ERROR, "targetLocation", t.targetLocation)) } }, f.isStreamPaused = function (t) { return t instanceof o && (!0 === t._paused || t._readableState && !1 === t._readableState.flowing) }, f.parseCopyProgress = function (t) { if ("string" != typeof t || -1 === t.indexOf("/")) return {}; var e = t.split("/"); return { bytesCopied: e[0], totalBytes: e[1] } }; var d = { "x-ms-blob-sequence-number": "sequenceNumber", "content-Type": "contentSettings.contentType", "content-Encoding": "contentSettings.contentEncoding", "content-Language": "contentSettings.contentLanguage", "cache-Control": "contentSettings.cacheControl", "content-Disposition": "contentSettings.contentDisposition", "content-MD5": "contentSettings.contentMD5", leaseId: "lease.id", leaseStatus: "lease.status", leaseDuration: "lease.duration", leaseState: "lease.state", copyId: "copy.id", copyStatus: "copy.status", copySource: "copy.source", copyProgress: "copy.progress", copyCompletionTime: "copy.completionTime", copyStatusDescription: "copy.statusDescription", copyDestinationSnapshot: "copy.destinationSnapshot", publicAccess: "publicAccessLevel", incrementalCopy: "isIncrementalCopy" }; f.normalizePropertyNameFromXML = function (t) { return this.IsNullOrEmptyOrUndefinedOrWhiteSpace(t) ? "" : (t = (t = t.trim())[0].toLowerCase() + t.substring(1)) in d ? d[t] : -1 != t.toLowerCase().indexOf("-") ? t.replace("-", "") : t }, f.setPropertyValueFromXML = function (t, e, n) { for (var i in e) if (e.hasOwnProperty(i)) { if (n) { var r = this.normalizePropertyNameFromXML(i).split("."); f.setObjectInnerPropertyValue(t, r, e[i]) } else t[i.toLowerCase()] = e[i]; if ("copyprogress" === i.toLowerCase()) { var o = this.parseCopyProgress(e[i]); f.setObjectInnerPropertyValue(t, ["copy", "bytesCopied"], parseInt(o.bytesCopied)), f.setObjectInnerPropertyValue(t, ["copy", "totalBytes"], parseInt(o.totalBytes)) } } }, f.filterOutNonReservedProperties = function (t, e) { var n = {}; if (e) for (var i in e) if (e.hasOwnProperty(i)) { var r = t.hasOwnProperty(i), o = "function" == typeof e[i]; r || o || (n[i] = e[i]) } return n } }).call(this, t("_process"), t("buffer").Buffer) }, { "../md5-wrapper": 10, "./constants": 32, "./sr": 36, "./storageutilities": 37, _process: 72, buffer: 56, stream: 88, underscore: 111, url: 112, util: 117 }], 39: [function (t, e, n) { var r = t("underscore"), o = t("util"), i = t("./../util/constants").BlobConstants, a = t("./../../services/blob/blobutilities"), s = t("./../../services/file/fileutilities"), l = t("./util"), c = t("./sr"), u = t("validator"), p = t("../errors/errors"), d = p.ArgumentError, f = p.ArgumentNullError; function h(e, t) { var n; e ? n = function (t) { return e(t), !1 } : (n = function (t) { throw t }, e = function () { }), t(n, e) } (n = e.exports).isValidEnumValue = function (e, t, n) { var i; return h(n, function (t, e) { i = t, n = e }), t.some(function (t) { return t.toLowerCase() === e.toLowerCase() }) ? (n(), !0) : i(new RangeError(o.format("Invalid value: %s. Options are: %s.", e, t))) }, n.isValidUri = function (t) { if (!u.isURL(t, { require_tld: !1 })) throw new URIError('The provided URI "' + t + '" is invalid.'); return !0 }, n.isValidHost = function (t) { if (l.objectIsNull(t)) throw new f("host", c.STORAGE_HOST_LOCATION_REQUIRED); var e = {}; if (e.primaryHost = r.isString(t) ? t : t.primaryHost, e.primaryHost && !u.isURL(e.primaryHost, { require_tld: !1 })) throw new URIError('The provided URI "' + e.primaryHost + '" is invalid.'); if (e.secondaryHost = r.isString(t) ? void 0 : t.secondaryHost, e.secondaryHost && !u.isURL(e.secondaryHost, { require_tld: !1 })) throw new URIError('The provided URI "' + e.secondaryHost + '" is invalid.'); if (!e.primaryHost && !e.secondaryHost) throw new f("host", c.STORAGE_HOST_LOCATION_REQUIRED); return !0 }, n.isValidUuid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), /^[a-zA-Z0-9]{8}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{12}$/.test(t) ? (n(), !0) : i(new SyntaxError("The value is not a valid UUID format.")) }, n.isBase64Encoded = function (t) { if (t.match(/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/)) return !0; throw new SyntaxError("The provided account key " + t + " is not a valid base64 string.") }, n.isValidFunction = function (t, e) { if (!t) throw new f("functionObject", e + " must be specified."); if (!r.isFunction(t)) throw new TypeError(e + " specified should be a function."); return !0 }; var m = function (t, e) { return l.stringIsEmpty(t) ? new f("name", o.format("%s name must be a non empty string.", e)) : t.length < 3 || 63 < t.length ? new d("name", o.format("%s name must be between 3 and 63 characters long.", e)) : null === t.match(/^([a-z0-9]+(-[a-z0-9]+)*)$/) ? new SyntaxError(o.format("%s name format is incorrect.", e)) : null }; function g(t, e) { throw new f(t, "Required argument " + t + " for function " + e + " is not defined") } function v(t) { this.func = t } n.containerNameIsValid = function (t, n) { var i; h(n, function (t, e) { i = t, n = e }); var e = m(t, "Container"); return !e || t.match(/^(\$root|\$logs|\$web)$/) ? (n(), !0) : i(e) }, n.blobNameIsValid = function (t, e, n) { var i; return h(n, function (t, e) { i = t, n = e }), e ? "$root" === t && -1 !== e.indexOf("/") ? i(new SyntaxError("Blob name format is incorrect.")) : (n(), !0) : i(new f("blobName", "Blob name is not specified.")) }, n.blobTierNameIsValid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), t ? r.chain(r.union(r.values(a.BlobTier.PremiumPageBlobTier), r.values(a.BlobTier.StandardBlobTier))).map(function (t) { return t.toString().toUpperCase() }).contains(t.toString().toUpperCase()).value() ? (n(), !0) : i(new SyntaxError("Blob tier is incorrect. Refer to BlobUtilities.BlobTier for possible values.")) : i(new f("blobTier", "Blob tier is not specified.")) }, n.shareNameIsValid = function (t, n) { var i; h(n, function (t, e) { i = t, n = e }); var e = m(t, "Share"); return e ? i(e) : (n(), !0) }, n.queueNameIsValid = function (t, n) { var i; h(n, function (t, e) { i = t, n = e }); var e = m(t, "Queue"); return e ? i(e) : (n(), !0) }, n.tableNameIsValid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), l.stringIsEmpty(t) ? i(new f("table", "Table name must be a non empty string.")) : t.length < 3 || 63 < t.length ? i(new d("table", "Table name must be between 3 and 63 characters long.")) : "tables" === t.toLowerCase() ? i(new RangeError("Table name cannot be 'Tables'.")) : null !== t.match(/^([A-Za-z][A-Za-z0-9]{2,62})$/) || "$MetricsCapacityBlob" === t || null !== t.match(/^(\$Metrics(HourPrimary|MinutePrimary|HourSecondary|MinuteSecondary)?(Transactions)(Blob|Queue|Table|File))$/) ? (n(), !0) : i(new SyntaxError("Table name format is incorrect.")) }, n.browserFileIsValid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), l.isBrowser() && t && t.constructor && (l.isIE() || t.constructor.name) && (l.isIE() || "File" === t.constructor.name || "Blob" === t.constructor.name) && l.objectIsInt(t.size) ? (n(), !0) : i(new d("type", "Invalid HTML File object.")) }, n.pageRangesAreValid = function (t, e, n, i) { var r; if (h(i, function (t, e) { r = t, i = e }), t % 512 != 0) return r(new RangeError("Start byte offset must be a multiple of 512.")); if (!l.objectIsNull(e)) { if ((e + 1) % 512 != 0) return r(new RangeError("End byte offset must be a multiple of 512 minus 1.")); if (n < e - t + 1) return r(new RangeError("Page blob size cannot be larger than " + n + " bytes.")) } return i(), !0 }, n.blobTypeIsValid = function (t, e) { return this.isValidEnumValue(t, function (t) { var e = []; for (var n in t) t.hasOwnProperty(n) && e.push(t[n]); return e }(i.BlobTypes), e) }, n.shareACLIsValid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), t != s.SharePublicAccessType.OFF && i(new d("type", "The access type is not supported.")), n(), !0 }, n.shareQuotaIsValid = function (t, n) { var i; return h(n, function (t, e) { i = t, n = e }), t && t <= 0 && i(new RangeError("The share quota value, in GB, must be greater than 0.")), n(), !0 }, r.extend(v.prototype, { string: function (t, e) { if (this.exists(t, e), "string" != typeof t) throw new TypeError("Parameter " + e + " for function " + this.func + " should be a non-empty string") }, stringAllowEmpty: function (t, e) { if ("string" != typeof t) throw new TypeError("Parameter " + e + " for function " + this.func + " should be a string") }, object: function (t, e) { if (this.exists(t, e), "object" != typeof t) throw new TypeError("Parameter " + e + " for function " + this.func + " should be an object") }, exists: function (t, e) { t || g(e, this.func) }, function: function (t, e) { if (this.exists(t, e), "function" != typeof t) throw new TypeError("Parameter " + e + " for function " + this.func + " should be a function") }, value: function (t, e) { t || 0 === t || g(e, this.func) }, nonEmptyArray: function (t, e) { if (!t || 0 === t.length) throw new TypeError("Required array argument " + e + " for function " + this.func + " is either not defined or empty") }, callback: function (t) { this.exists(t, "callback"), this.function(t, "callback") }, test: function (t, e) { if (!t()) throw new Error(e + " in function " + this.func) }, tableNameIsValid: n.tableNameIsValid, browserFileIsValid: n.browserFileIsValid, containerNameIsValid: n.containerNameIsValid, shareNameIsValid: n.shareNameIsValid, blobNameIsValid: n.blobNameIsValid, blobTierNameIsValid: n.blobTierNameIsValid, pageRangesAreValid: n.pageRangesAreValid, queueNameIsValid: n.queueNameIsValid, blobTypeIsValid: n.blobTypeIsValid, shareACLIsValid: n.shareACLIsValid, shareQuotaIsValid: n.shareQuotaIsValid, isValidEnumValue: n.isValidEnumValue }), n.ArgumentValidator = v, n.validateArgs = function (t, e) { e(new v(t)) } }, { "../errors/errors": 5, "./../../services/blob/blobutilities": 42, "./../../services/file/fileutilities": 49, "./../util/constants": 32, "./sr": 36, "./util": 38, underscore: 111, util: 117, validator: 123 }], 40: [function (t, e, n) { var i = t("./blobservice.core"), r = t("./../../common/common.browser"), p = t("extend"), d = t("browserify-mime"), o = r.Constants, f = r.util, l = o.BlobConstants, h = r.BrowserFileReadStream, m = r.SpeedSummary, g = r.validate; i.prototype.createBlockBlobFromBrowserFile = function (t, e, n, i, r) { return this._createBlobFromBrowserFile(t, e, l.BlobTypes.BLOCK, n, i, r) }, i.prototype.createPageBlobFromBrowserFile = function (t, e, n, i, r) { return this._createBlobFromBrowserFile(t, e, l.BlobTypes.PAGE, n, i, r) }, i.prototype.createAppendBlobFromBrowserFile = function (t, e, n, i, r) { return this._createBlobFromBrowserFile(t, e, l.BlobTypes.APPEND, n, i, r) }, i.prototype.appendFromBrowserFile = function (e, n, i, t, r) { var o; f.normalizeArgs(t, r, function (t, e) { o = t, r = e }), g.validateArgs("appendFromBrowserFile", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.browserFileIsValid(i), t.callback(r) }); var a = p(!0, {}, o); a.speedSummary = a.speedSummary || new m(n); var s = new h(i); return this._uploadBlobFromStream(!1, e, n, l.BlobTypes.APPEND, s, i.size, a, function (t, e, n) { f.objectIsFunction(s.destroy) && s.destroy(), r(t, e, n) }), a.speedSummary }, i.prototype._createBlobFromBrowserFile = function (r, o, a, s, t, l) { var n; f.normalizeArgs(t, l, function (t, e) { n = t, l = e }), g.validateArgs("_createBlobFromBrowserFile", function (t) { t.string(r, "container"), t.string(o, "blob"), t.containerNameIsValid(r), t.blobTypeIsValid(a), t.browserFileIsValid(s), t.callback(l) }); var c = p(!0, {}, n); c.speedSummary = c.speedSummary || new m(o); var u = this; return this._createBlob(r, o, a, s.size, c, function (t, e, n) { if (t) l(t, e, n); else { void 0 === f.tryGetValueChain(c, ["contentSettings", "contentType"], void 0) && f.setObjectInnerPropertyValue(c, ["contentSettings", "contentType"], d.lookup(s.name)); var i = new h(s); u._uploadBlobFromStream(!0, r, o, a, i, s.size, c, function (t, e, n) { f.objectIsFunction(i.destroy) && i.destroy(), l(t, e, n) }) } }), c.speedSummary }, e.exports = i }, { "./../../common/common.browser": 2, "./blobservice.core": 41, "browserify-mime": 53, extend: 60 }], 41: [function (n, i, t) { (function (d) { var l = n("querystring"), u = n("url"), A = n("util"), c = n("underscore"), I = n("extend"), t = n("./../../common/common.core"), _ = n("./internal/blockrangestream"), E = n("./../../common/md5-wrapper"), b = n("./internal/pagerangestream"), y = n("./../../common/streams/rangestream"), N = t.util, O = t.SR, T = t.validate, s = t.StorageServiceClient, f = t.WebResource, p = t.Constants, R = p.BlobConstants, h = p.HeaderConstants, m = p.QueryStringConstants, g = p.RequestLocationMode, L = t.BatchOperation, C = t.SpeedSummary, M = t.ChunkAllocator, v = t.ChunkStream, x = t.ChunkStreamWithStream, S = t.AclResult, r = t.ServiceStatsParser, w = n("../../common/models/accountpropertiesresult"), D = n("./models/blocklistresult"), P = n("./models/blobresult"), k = n("./models/containerresult"), B = n("./models/leaseresult"), U = n("./blobutilities"), e = n("../../common/errors/errors"), F = e.ArgumentError, j = e.ArgumentNullError, o = e.StorageError; function H(t, e, n, i, r, o) { var a = s.getStorageSettings(t, e, n, i, r, o); H.super_.call(this, a._name, a._key, a._blobEndpoint, a._usePathStyleUri, a._sasToken, o), this.defaultEnableReuseSocket = p.DEFAULT_ENABLE_REUSE_SOCKET, this.singleBlobPutThresholdInBytes = R.DEFAULT_SINGLE_BLOB_PUT_THRESHOLD_IN_BYTES, this.parallelOperationThreadCount = p.DEFAULT_PARALLEL_OPERATION_THREAD_COUNT } function V(t, e, n) { return e && !n && (e = (e = (e = (e = encodeURIComponent(e)).replace(/%2F/g, "/")).replace(/%5C/g, "/")).replace(/\+/g, "%20")), e ? t + "/" + e : t } A.inherits(H, s), H.prototype.getServiceStats = function (t, n) { var i; N.normalizeArgs(t, n, function (t, e) { i = t, n = e }), T.validateArgs("getServiceStats", function (t) { t.callback(n) }); var e = f.get().withQueryOption(m.COMP, "stats").withQueryOption(m.RESTYPE, "service"); i.requestLocationMode = g.PRIMARY_OR_SECONDARY; this.performRequest(e, null, i, function (t, e) { t.serviceStatsResult = null, t.error || (t.serviceStatsResult = r.parse(t.response.body.StorageServiceStats)); e(t, function (t) { n(t.error, t.serviceStatsResult, t.response) }) }) }, H.prototype.getServiceProperties = function (t, e) { return this.getAccountServiceProperties(t, e) }, H.prototype.getAccountProperties = function (t, e, n, i) { var r; N.normalizeArgs(n, i, function (t, e) { r = t, i = e }), T.validateArgs("getAccountProperties", function (t) { t.callback(i) }); var o = I(!0, {}, r), a = f.head(V(t, e)).withQueryOption(m.COMP, "properties").withQueryOption(m.RESTYPE, "account"); o.requestLocationMode = g.PRIMARY_OR_SECONDARY; this.performRequest(a, null, o, function (t, e) { t.accountPropertiesResult = null, t.error || (t.accountPropertiesResult = w.parse(t.response.headers)); e(t, function (t) { i(t.error, t.accountPropertiesResult, t.response) }) }) }, H.prototype.setServiceProperties = function (t, e, n) { return this.setAccountServiceProperties(t, e, n) }, H.prototype.setBlobTier = function (e, n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("setBlobTier", function (t) { t.string(e, "container"), t.string(n, "blob"), t.string(i, "blobTier"), t.containerNameIsValid(e), t.blobNameIsValid(e, n), t.blobTierNameIsValid(i), t.callback(r) }); var a = I(!0, {}, o), s = V(e, n), l = f.put(s).withQueryOption(m.COMP, "tier").withHeader(h.ACCESS_TIER, i); this.performRequest(l, null, a, function (t, e) { e(t, function (t) { r(t.error, t.response) }) }) }, H.prototype.listContainersSegmented = function (t, e, n) { this.listContainersSegmentedWithPrefix(null, t, e, n) }, H.prototype.listContainersSegmentedWithPrefix = function (t, e, n, i) { var r; N.normalizeArgs(n, i, function (t, e) { r = t, i = e }), T.validateArgs("listContainers", function (t) { t.callback(i) }); var o = I(!0, {}, r), a = f.get().withQueryOption(m.COMP, "list").withQueryOption(m.MAX_RESULTS, o.maxResults).withQueryOption(m.INCLUDE, o.include); N.objectIsNull(e) || a.withQueryOption(m.MARKER, e.nextMarker), a.withQueryOption(m.PREFIX, t), o.requestLocationMode = N.getNextListingLocationMode(e); this.performRequest(a, null, o, function (n, t) { if (n.listContainersResult = null, !n.error) { n.listContainersResult = { entries: null, continuationToken: null }, n.listContainersResult.entries = []; var e = []; n.response.body.EnumerationResults.Containers && n.response.body.EnumerationResults.Containers.Container && (e = n.response.body.EnumerationResults.Containers.Container, c.isArray(e) || (e = [e])), e.forEach(function (t) { var e = k.parse(t); n.listContainersResult.entries.push(e) }), n.response.body.EnumerationResults.NextMarker && (n.listContainersResult.continuationToken = { nextMarker: null, targetLocation: null }, n.listContainersResult.continuationToken.nextMarker = n.response.body.EnumerationResults.NextMarker, n.listContainersResult.continuationToken.targetLocation = n.targetLocation) } t(n, function (t) { i(t.error, t.listContainersResult, t.response) }) }) }, H.prototype.doesContainerExist = function (e, t, n) { var i; N.normalizeArgs(t, n, function (t, e) { i = t, n = e }), T.validateArgs("doesContainerExist", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(n) }); var r = I(!0, {}, i); this._doesContainerExist(e, !1, r, n) }, H.prototype.createContainer = function (n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("createContainer", function (t) { t.string(n, "container"), t.test(function () { return "$logs" !== n }, "Container name format is incorrect"), t.containerNameIsValid(n), t.callback(i) }); var o = I(!0, {}, r), e = f.put(n).withQueryOption(m.RESTYPE, "container"); e.addOptionalMetadataHeaders(o.metadata), e.withHeader(h.BLOB_PUBLIC_ACCESS, o.publicAccessLevel); this.performRequest(e, null, o, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n), t.containerResult.getPropertiesFromHeaders(t.response.headers), o.metadata && (t.containerResult.metadata = o.metadata)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype.createContainerIfNotExists = function (r, t, o) { var n; N.normalizeArgs(t, o, function (t, e) { n = t, o = e }), T.validateArgs("createContainerIfNotExists", function (t) { t.string(r, "container"), t.containerNameIsValid(r), t.callback(o) }); var a = I(!0, {}, n), s = this; s._doesContainerExist(r, !0, a, function (t, e, n) { var i = e.exists; e.created = !1, delete e.exists, t ? o(t, e, n) : i ? (n.isSuccessful = !0, o(t, e, n)) : s.createContainer(r, a, function (t, e, n) { t ? t && t.statusCode === p.HttpConstants.HttpResponseCodes.Conflict && t.code === p.BlobErrorCodeStrings.CONTAINER_ALREADY_EXISTS && (t = null, n.isSuccessful = !0) : e.created = !0, o(t, e, n) }) }) }, H.prototype.getContainerProperties = function (n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("getContainerProperties", function (t) { t.string(n, "container"), t.containerNameIsValid(n), t.callback(i) }); var e = I(!0, {}, r), o = f.head(n).withQueryOption(m.RESTYPE, "container").withHeader(h.LEASE_ID, e.leaseId); e.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; var a = this; this.performRequest(o, null, e, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n), t.containerResult.metadata = a.parseMetadataHeaders(t.response.headers), t.containerResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype.getContainerMetadata = function (n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("getContainerMetadata", function (t) { t.string(n, "container"), t.containerNameIsValid(n), t.callback(i) }); var e = I(!0, {}, r), o = f.head(n).withQueryOption(m.RESTYPE, "container").withQueryOption(m.COMP, "metadata").withHeader(h.LEASE_ID, e.leaseId); e.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; var a = this; this.performRequest(o, null, e, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n), t.containerResult.metadata = a.parseMetadataHeaders(t.response.headers), t.containerResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype.setContainerMetadata = function (n, e, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("setContainerMetadata", function (t) { t.string(n, "container"), t.object(e, "metadata"), t.containerNameIsValid(n), t.callback(i) }); var o = I(!0, {}, r), a = f.put(n).withQueryOption(m.RESTYPE, "container").withQueryOption(m.COMP, "metadata").withHeader(h.LEASE_ID, o.leaseId); a.addOptionalMetadataHeaders(e); this.performRequest(a, null, o, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n), t.containerResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype.getContainerAcl = function (n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("getContainerAcl", function (t) { t.string(n, "container"), t.containerNameIsValid(n), t.callback(i) }); var e = I(!0, {}, r), o = f.get(n).withQueryOption(m.RESTYPE, "container").withQueryOption(m.COMP, "acl").withHeader(h.LEASE_ID, e.leaseId); e.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; this.performRequest(o, null, e, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n), t.containerResult.getPropertiesFromHeaders(t.response.headers), t.containerResult.signedIdentifiers = S.parse(t.response.body)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype.setContainerAcl = function (n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("setContainerAcl", function (t) { t.string(n, "container"), t.containerNameIsValid(n), t.callback(r) }); var a = I(!0, {}, o), e = null; if (i) { if (c.isArray(i)) throw new TypeError(O.INVALID_SIGNED_IDENTIFIERS); e = S.serialize(i) } var s = f.put(n).withQueryOption(m.RESTYPE, "container").withQueryOption(m.COMP, "acl").withHeader(h.CONTENT_LENGTH, N.objectIsNull(e) ? 0 : d.byteLength(e)).withHeader(h.BLOB_PUBLIC_ACCESS, a.publicAccessLevel).withHeader(h.LEASE_ID, a.leaseId).withBody(e); this.performRequest(s, s.body, a, function (t, e) { t.containerResult = null, t.error || (t.containerResult = new k(n, a.publicAccessLevel), t.containerResult.getPropertiesFromHeaders(t.response.headers), i && (t.containerResult.signedIdentifiers = i)); e(t, function (t) { r(t.error, t.containerResult, t.response) }) }) }, H.prototype.deleteContainer = function (e, t, n) { var i; N.normalizeArgs(t, n, function (t, e) { i = t, n = e }), T.validateArgs("deleteContainer", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(n) }); var r = I(!0, {}, i), o = f.del(e).withQueryOption(m.RESTYPE, "container").withHeader(h.LEASE_ID, r.leaseId); this.performRequest(o, null, r, function (t, e) { e(t, function (t) { n(t.error, t.response) }) }) }, H.prototype.deleteContainerIfExists = function (i, t, r) { var n; N.normalizeArgs(t, r, function (t, e) { n = t, r = e }), T.validateArgs("deleteContainerIfExists", function (t) { t.string(i, "container"), t.containerNameIsValid(i), t.callback(r) }); var o = I(!0, {}, n), a = this; a._doesContainerExist(i, !0, o, function (t, e, n) { t ? r(t, e.exists, n) : e.exists ? a.deleteContainer(i, o, function (t, e) { var n; t ? t && t.statuscode === p.HttpConstants.HttpResponseCodes.NotFound && t.code === p.BlobErrorCodeStrings.CONTAINER_NOT_FOUND && (n = !1, t = null, e.isSuccessful = !0) : n = !0, r(t, n, e) }) : (n.isSuccessful = !0, r(t, !1, n)) }) }, H.prototype.listBlobDirectoriesSegmented = function (t, e, n, i) { this.listBlobDirectoriesSegmentedWithPrefix(t, null, e, n, i) }, H.prototype.listBlobDirectoriesSegmentedWithPrefix = function (t, e, n, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), o.delimiter = "/", this._listBlobsOrDircotriesSegmentedWithPrefix(t, e, n, R.ListBlobTypes.Directory, o, r) }, H.prototype.listBlobsSegmented = function (t, e, n, i) { this.listBlobsSegmentedWithPrefix(t, null, e, n, i) }, H.prototype.listBlobsSegmentedWithPrefix = function (t, e, n, i, r) { this._listBlobsOrDircotriesSegmentedWithPrefix(t, e, n, R.ListBlobTypes.Blob, i, r) }, H.prototype.acquireLease = function (e, t, n, i) { var r; N.normalizeArgs(n, i, function (t, e) { r = t, i = e }), T.validateArgs("acquireLease", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r); o.leaseDuration || (o.leaseDuration = -1), this._leaseImpl(e, t, null, R.LeaseOperation.ACQUIRE, o, i) }, H.prototype.renewLease = function (e, t, n, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("renewLease", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, {}, o); this._leaseImpl(e, t, n, R.LeaseOperation.RENEW, a, r) }, H.prototype.changeLease = function (e, t, n, i, r, o) { var a; N.normalizeArgs(r, o, function (t, e) { a = t, o = e }), T.validateArgs("changeLease", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(o) }); var s = I(!0, {}, a); s.proposedLeaseId = i, this._leaseImpl(e, t, n, R.LeaseOperation.CHANGE, s, o) }, H.prototype.releaseLease = function (e, t, n, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("releaseLease", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, {}, o); this._leaseImpl(e, t, n, R.LeaseOperation.RELEASE, a, r) }, H.prototype.breakLease = function (e, t, n, i) { var r; N.normalizeArgs(n, i, function (t, e) { r = t, i = e }), T.validateArgs("breakLease", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r); this._leaseImpl(e, t, null, R.LeaseOperation.BREAK, o, i) }, H.prototype.getBlobProperties = function (n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("getBlobProperties", function (t) { t.string(n, "container"), t.string(i, "blob"), t.containerNameIsValid(n), t.callback(r) }); var e = I(!0, {}, o), a = V(n, i), s = f.head(a); e.snapshotId && s.withQueryOption(m.SNAPSHOT, e.snapshotId), P.setHeadersFromBlob(s, e), e.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; var l = this; this.performRequest(s, null, e, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.metadata = l.parseMetadataHeaders(t.response.headers), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype.getBlobMetadata = function (n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("getBlobMetadata", function (t) { t.string(n, "container"), t.string(i, "blob"), t.containerNameIsValid(n), t.callback(r) }); var e = I(!0, {}, o), a = V(n, i), s = f.head(a); s.withQueryOption(m.COMP, "metadata"), s.withQueryOption(m.SNAPSHOT, e.snapshotId), P.setHeadersFromBlob(s, e), e.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; var l = this; this.performRequest(s, null, e, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.metadata = l.parseMetadataHeaders(t.response.headers), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype.setBlobProperties = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("setBlobProperties", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, { contentSettings: t }, o), s = V(e, n), l = f.put(s).withQueryOption(m.COMP, "properties"); P.setPropertiesFromBlob(l, a), this._setBlobPropertiesHelper({ webResource: l, options: a, container: e, blob: n, callback: r }) }, H.prototype.setBlobMetadata = function (n, i, e, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("setBlobMetadata", function (t) { t.string(n, "container"), t.string(i, "blob"), t.object(e, "metadata"), t.containerNameIsValid(n), t.callback(r) }); var a = I(!0, {}, o), s = V(n, i), l = f.put(s).withQueryOption(m.COMP, "metadata"); l.withQueryOption(m.SNAPSHOT, a.snapshotId), a.metadata = e, P.setHeadersFromBlob(l, a); this.performRequest(l, null, a, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype.createReadStream = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("createReadStream", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e) }); var o = new v; return this.getBlobToStream(e, n, o, r, function (t, e, n) { t && o.emit("error", t), i && i(t, e, n) }), o }, H.prototype.getBlobToStream = function (r, o, a, t, s) { var n; N.normalizeArgs(t, s, function (t, e) { n = t, s = e }), n.speedSummary = n.speedSummary || new C(o), T.validateArgs("getBlobToStream", function (t) { t.string(r, "container"), t.string(o, "blob"), t.object(a, "writeStream"), t.containerNameIsValid(r), t.callback(s) }); var l = I(!0, {}, n), e = { timeoutIntervalInMs: l.timeoutIntervalInMs, clientRequestTimeoutInMs: l.clientRequestTimeoutInMs, snapshotId: l.snapshotId, accessConditions: l.accessConditions }; if (l.skipSizeCheck) this._getBlobToStream(r, o, a, l, s); else { var c = this; this.getBlobProperties(r, o, e, function (t, e) { if (t) s(t); else { var n; if (l.rangeStart) { var i = e.contentLength - 1; n = (l.rangeEnd ? Math.min(l.rangeEnd, i) : i) - l.rangeStart + 1 } else n = e.contentLength; (l.speedSummary.totalSize = n) > c.singleBlobPutThresholdInBytes ? (N.setObjectInnerPropertyValue(l, ["contentSettings", "contentMD5"], N.tryGetValueChain(e, ["contentSettings", "contentMD5"], null)), c._getBlobToRangeStream(r, o, e.blobType, a, l, s)) : c._getBlobToStream(r, o, a, l, s) } }) } return l.speedSummary }, H.prototype.getBlobToText = function (n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("getBlobToText", function (t) { t.string(n, "container"), t.string(i, "blob"), t.containerNameIsValid(n), t.callback(r) }); var a = I(!0, {}, o), e = V(n, i), s = f.get(e).withRawResponse(); s.withQueryOption(m.SNAPSHOT, a.snapshotId), P.setHeadersFromBlob(s, a), this._setRangeContentMD5Header(s, a), a.requestLocationMode = p.RequestLocationMode.PRIMARY_OR_SECONDARY; var l = this; this.performRequest(s, null, a, function (t, e) { t.text = null, t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.metadata = l.parseMetadataHeaders(t.response.headers), t.blobResult.getPropertiesFromHeaders(t.response.headers), t.text = t.response.body, l._validateLengthAndMD5(a, t)); e(t, function (t) { r(t.error, t.text, t.blobResult, t.response) }) }) }, H.prototype.deleteBlob = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("deleteBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r), a = V(e, n), s = f.del(a).withHeader(h.LEASE_ID, o.leaseId); if (!N.objectIsNull(o.snapshotId) && !N.objectIsNull(o.deleteSnapshots)) throw new F("options", O.INVALID_DELETE_SNAPSHOT_OPTION); s.withQueryOption(m.SNAPSHOT, o.snapshotId), s.withHeader(h.DELETE_SNAPSHOT, o.deleteSnapshots), P.setHeadersFromBlob(s, o); this.performRequest(s, null, o, function (t, e) { e(t, function (t) { i(t.error, t.response) }) }) }, H.prototype.undeleteBlob = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("deleteBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r), a = V(e, n), s = f.put(a).withQueryOption(m.COMP, "undelete"); P.setHeadersFromBlob(s, o); this.performRequest(s, null, o, function (t, e) { e(t, function (t) { i(t.error, t.response) }) }) }, H.prototype.doesBlobExist = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("doesBlobExist", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r); this._doesBlobExist(e, n, !1, o, i) }, H.prototype.deleteBlobIfExists = function (i, r, t, o) { var n; N.normalizeArgs(t, o, function (t, e) { n = t, o = e }), T.validateArgs("deleteBlobIfExists", function (t) { t.string(i, "container"), t.string(r, "blob"), t.containerNameIsValid(i), t.callback(o) }); var a = I(!0, {}, n), s = this; s._doesBlobExist(i, r, !0, a, function (t, e, n) { t ? o(t, e.exists, n) : e.exists ? s.deleteBlob(i, r, a, function (t, e) { var n; t ? t && t.statusCode === p.HttpConstants.HttpResponseCodes.NotFound && t.code === p.BlobErrorCodeStrings.BLOB_NOT_FOUND && (n = !1, t = null, e.isSuccessful = !0) : n = !0, o(t, n, e) }) : (n.isSuccessful = !0, o(t, !1, n)) }) }, H.prototype.createBlobSnapshot = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("createBlobSnapshot", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r), a = V(e, n), s = f.put(a).withQueryOption(m.COMP, "snapshot"); P.setHeadersFromBlob(s, o); this.performRequest(s, null, o, function (t, e) { t.snapshotId = null, t.error || (t.snapshotId = t.response.headers[h.SNAPSHOT]); e(t, function (t) { i(t.error, t.snapshotId, t.response) }) }) }, H.prototype.startCopyBlob = function (e, n, i, t, r) { var o; N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("startCopyBlob", function (t) { t.string(e, "sourceUri"), t.string(n, "targetContainer"), t.string(i, "targetBlob"), t.containerNameIsValid(n), t.callback(r) }); var a = V(n, i), s = I(!0, {}, o); if (s.snapshotId) { var l = u.parse(e, !0); if (l.query.snapshot) throw new F("options.snapshotId", "Duplicate snapshot supplied in both the source uri and option."); l.search = void 0, l.query.snapshot = s.snapshotId, e = u.format(l) } var c = f.put(a).withHeader(h.COPY_SOURCE, e); s.isIncrementalCopy && c.withQueryOption(m.COMP, "incrementalcopy"), c.withHeader(h.ACCESS_TIER, s.blobTier), c.withHeader(h.LEASE_ID, s.leaseId), c.withHeader(h.SOURCE_LEASE_ID, s.sourceLeaseId), c.addOptionalMetadataHeaders(s.metadata); this.performRequest(c, null, s, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.getPropertiesFromHeaders(t.response.headers), s.metadata && (t.blobResult.metadata = s.metadata)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype.abortCopyBlob = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("abortCopyBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = V(e, n), s = I(!0, {}, o), l = f.put(a).withQueryOption(m.COPY_ID, t).withQueryOption(m.COMP, "copy").withHeader(h.COPY_ACTION, "abort"); l.withHeader(h.LEASE_ID, s.leaseId); this.performRequest(l, null, s, function (t, e) { e(t, function (t) { r(t.error, t.response) }) }) }, H.prototype.generateSharedAccessSignature = function (e, n, i, t) { if (!this.storageCredentials) throw new j("storageCredentials"); if (!this.storageCredentials.generateSignedQueryString) throw new F("storageCredentials", O.CANNOT_CREATE_SAS_WITHOUT_ACCOUNT_KEY); T.validateArgs("generateSharedAccessSignature", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.object(i, "sharedAccessPolicy") }); var r = R.ResourceTypes.CONTAINER; n && (T.validateArgs("generateSharedAccessSignature", function (t) { t.string(n, "blob") }), r = R.ResourceTypes.BLOB), i.AccessPolicy && (N.objectIsNull(i.AccessPolicy.Start) || (c.isDate(i.AccessPolicy.Start) || (i.AccessPolicy.Start = new Date(i.AccessPolicy.Start)), i.AccessPolicy.Start = N.truncatedISO8061Date(i.AccessPolicy.Start)), N.objectIsNull(i.AccessPolicy.Expiry) || (c.isDate(i.AccessPolicy.Expiry) || (i.AccessPolicy.Expiry = new Date(i.AccessPolicy.Expiry)), i.AccessPolicy.Expiry = N.truncatedISO8061Date(i.AccessPolicy.Expiry))); var o = V(e, n, !0); return this.storageCredentials.generateSignedQueryString(p.ServiceType.Blob, o, i, null, { headers: t, resourceType: r }) }, H.prototype.getUrl = function (e, t, n, i, r) { var o; T.validateArgs("getUrl", function (t) { t.string(e, "container"), t.containerNameIsValid(e) }), o = N.objectIsNull(i) || !1 !== i ? this.host.primaryHost : this.host.secondaryHost, (o = N.trimPortFromUri(o)) && o.lastIndexOf("/") !== o.length - 1 && (o += "/"); var a = l.parse(n); r && (a[m.SNAPSHOT] = r); var s = u.format({ pathname: this._getPath(V(e, t)), query: a }); return u.resolve(o, s) }, H.prototype.createPageBlob = function (e, n, i, t, r) { var o; if (N.normalizeArgs(t, r, function (t, e) { o = t, r = e }), T.validateArgs("createPageBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.value(i, "length"), t.callback(r) }), i && i % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_BLOB_LENGTH); var a = I(!0, {}, o), s = V(e, n), l = f.put(s).withHeader(h.BLOB_TYPE, R.BlobTypes.PAGE).withHeader(h.BLOB_CONTENT_LENGTH, i).withHeader(h.CONTENT_LENGTH, 0).withHeader(h.ACCESS_TIER, a.blobTier).withHeader(h.LEASE_ID, a.leaseId); P.setHeadersFromBlob(l, a); this.performRequest(l, null, a, function (t, e) { e(t, function (t) { r(t.error, t.response) }) }) }, H.prototype.createPageBlobFromStream = function (t, e, n, i, r, o) { return this._createBlobFromStream(t, e, R.BlobTypes.PAGE, n, i, r, o) }, H.prototype.createWriteStreamToExistingPageBlob = function (t, e, n, i) { return this._createWriteStreamToBlob(t, e, R.BlobTypes.PAGE, 0, !1, n, i) }, H.prototype.createWriteStreamToNewPageBlob = function (t, e, n, i, r) { return this._createWriteStreamToBlob(t, e, R.BlobTypes.PAGE, n, !0, i, r) }, H.prototype.createPagesFromStream = function (n, i, t, r, o, e, a) { var s; N.normalizeArgs(e, a, function (t, e) { s = t, a = e }), T.validateArgs("createPagesFromStream", function (t) { t.string(n, "container"), t.string(i, "blob"), t.containerNameIsValid(n), t.callback(a) }); var l = I(!0, {}, s); if (o - r + 1 > R.MAX_UPDATE_PAGE_SIZE) throw new RangeError(O.INVALID_PAGE_RANGE_FOR_UPDATE); var c = this; N.objectIsNull(l.transactionalContentMD5) && l.useTransactionalMD5 ? N.calculateMD5(t, R.MAX_UPDATE_PAGE_SIZE, l, function (t, e) { l.transactionalContentMD5 = e, c._createPages(n, i, t, null, r, o, l, a) }) : c._createPages(n, i, null, t, r, o, l, a) }, H.prototype.listPageRanges = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("listPageRanges", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r), a = V(e, n), s = f.get(a).withQueryOption(m.COMP, "pagelist").withQueryOption(m.SNAPSHOT, o.snapshotId); if (o.rangeStart && o.rangeStart % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_START_OFFSET); if (o.rangeEnd && (o.rangeEnd + 1) % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_END_OFFSET); P.setHeadersFromBlob(s, o), o.requestLocationMode = g.PRIMARY_OR_SECONDARY; this.performRequest(s, null, o, function (n, t) { if (n.pageRanges = null, !n.error) { n.pageRanges = []; var e = []; n.response.body.PageList.PageRange && (e = n.response.body.PageList.PageRange, c.isArray(e) || (e = [e])), e.forEach(function (t) { var e = { start: parseInt(t.Start, 10), end: parseInt(t.End, 10) }; n.pageRanges.push(e) }) } t(n, function (t) { i(t.error, t.pageRanges, t.response) }) }) }, H.prototype.getPageRangesDiff = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("getPageRangesDiff", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, {}, o), s = V(e, n), l = f.get(s).withQueryOption(m.COMP, "pagelist").withQueryOption(m.SNAPSHOT, a.snapshotId).withQueryOption(m.PREV_SNAPSHOT, t); if (a.rangeStart && a.rangeStart % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_START_OFFSET); if (a.rangeEnd && (a.rangeEnd + 1) % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_END_OFFSET); if (a.rangeEnd && (a.rangeEnd + 1) % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_END_OFFSET); P.setHeadersFromBlob(l, a), a.requestLocationMode = g.PRIMARY_OR_SECONDARY; this.performRequest(l, null, a, function (n, t) { if (n.pageRangesDiff = null, !n.error) { if (n.pageRangesDiff = [], n.response.body.PageList.PageRange) { var e = n.response.body.PageList.PageRange; c.isArray(e) || (e = [e]), e.forEach(function (t) { var e = { start: parseInt(t.Start, 10), end: parseInt(t.End, 10), isCleared: !1 }; n.pageRangesDiff.push(e) }) } if (n.response.body.PageList.ClearRange) { var i = n.response.body.PageList.ClearRange; c.isArray(i) || (i = [i]), i.forEach(function (t) { var e = { start: parseInt(t.Start, 10), end: parseInt(t.End, 10), isCleared: !0 }; n.pageRangesDiff.push(e) }) } } t(n, function (t) { r(t.error, t.pageRangesDiff, t.response) }) }) }, H.prototype.clearPageRange = function (e, n, t, i, r, o) { var a; N.normalizeArgs(r, o, function (t, e) { a = t, o = e }), T.validateArgs("clearPageRange", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(o) }); var s = I(!0, {}, a), l = this._updatePageBlobPagesImpl(e, n, t, i, R.PageWriteOptions.CLEAR, s); this.performRequest(l, null, s, function (t, e) { e(t, function (t) { o(t.error, t.response) }) }) }, H.prototype.resizePageBlob = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("resizePageBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, {}, o), s = V(e, n), l = f.put(s).withQueryOption(m.COMP, "properties").withHeader(h.LEASE_ID, a.leaseId); if (t && t % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_BLOB_LENGTH); l.withHeader(h.BLOB_CONTENT_LENGTH, t), this._setBlobPropertiesHelper({ webResource: l, options: a, container: e, blob: n, callback: r }) }, H.prototype.setPageBlobSequenceNumber = function (n, i, t, e, r, o) { var a; if (N.normalizeArgs(r, o, function (t, e) { a = t, o = e }), T.validateArgs("setPageBlobSequenceNumber", function (t) { t.string(n, "container"), t.string(i, "blob"), t.containerNameIsValid(n), t.callback(o) }), t === U.SequenceNumberAction.INCREMENT) { if (!N.objectIsNull(e)) throw new F("sequenceNumber", O.BLOB_INVALID_SEQUENCE_NUMBER) } else if (N.objectIsNull(e)) throw new j("sequenceNumber", A.format(O.ARGUMENT_NULL_OR_EMPTY, "sequenceNumber")); var s = I(!0, {}, a), l = V(n, i), c = f.put(l).withQueryOption(m.COMP, "properties").withHeader(h.SEQUENCE_NUMBER_ACTION, t); t !== U.SequenceNumberAction.INCREMENT && c.withHeader(h.SEQUENCE_NUMBER, e); this.performRequest(c, null, s, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { o(t.error, t.blobResult, t.response) }) }) }, H.prototype.createBlockBlobFromStream = function (t, e, n, i, r, o) { return this._createBlobFromStream(t, e, R.BlobTypes.BLOCK, n, i, r, o) }, H.prototype.createBlockBlobFromText = function (t, e, n, i, r) { return this._createBlobFromText(t, e, R.BlobTypes.BLOCK, n, i, r) }, H.prototype.createWriteStreamToBlockBlob = function (t, e, n, i) { return this._createWriteStreamToBlob(t, e, R.BlobTypes.BLOCK, 0, !1, n, i) }, H.prototype.createBlockFromStream = function (t, e, n, i, r, o, a) { var s; N.normalizeArgs(o, a, function (t, e) { s = t, a = e }), T.validateArgs("createBlockFromStream", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.exists(i, "readStream"), t.value(r, "streamLength"), t.callback(a) }); var l = I(!0, {}, s); if (r > R.MAX_BLOCK_BLOB_BLOCK_SIZE) throw new RangeError(O.INVALID_STREAM_LENGTH); this._createBlock(t, e, n, null, i, r, l, a) }, H.prototype.createBlockFromText = function (t, e, n, i, r, o) { var a; N.normalizeArgs(r, o, function (t, e) { a = t, o = e }), T.validateArgs("createBlockFromText", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(o) }); var s = I(!0, {}, a), l = d.isBuffer(i) ? i.length : d.byteLength(i); if (l > R.MAX_BLOCK_BLOB_BLOCK_SIZE) throw new RangeError(O.INVALID_TEXT_LENGTH); this._createBlock(t, e, n, i, null, l, s, o) }, H.prototype.createBlockFromURL = function (t, e, n, i, r, o, a, s) { var l; N.normalizeArgs(a, s, function (t, e) { l = t, s = e }), T.validateArgs("createBlockFromURL", function (t) { t.string(e, "container"), t.string(n, "blob"), t.string(i, "sourceURL"), t.containerNameIsValid(e), t.callback(s) }); var c = I(!0, {}, l), u = V(e, n), p = f.put(u).withQueryOption(m.COMP, "block").withQueryOption(m.BLOCK_ID, d.from(t).toString("base64")).withHeader(h.COPY_SOURCE, i); c.sourceRangeStart = r, c.sourceRangeEnd = o, P.setHeadersFromBlob(p, c); this.performRequest(p, null, c, function (t, e) { e(t, function (t) { s(t.error, t.response) }) }) }, H.prototype._createBlock = function (n, t, e, i, r, o, a, s) { var l = V(t, e), c = this, u = function () { var t = f.put(l).withQueryOption(m.COMP, "block").withQueryOption(m.BLOCK_ID, d.from(n).toString("base64")).withHeader(h.CONTENT_LENGTH, o); P.setHeadersFromBlob(t, a); var e = function (t, e) { e(t, function (t) { s(t.error, t.response) }) }; N.objectIsNull(i) ? c.performRequestOutputStream(t, r, a, e) : c.performRequest(t, i, a, e) }; N.objectIsNull(a.transactionalContentMD5) && a.useTransactionalMD5 ? N.objectIsNull(i) ? N.calculateMD5(r, o, a, function (t, e) { a.transactionalContentMD5 = e, o = (i = t).length, u() }) : (a.transactionalContentMD5 = N.getContentMd5(i), u()) : u() }, H.prototype.commitBlocks = function (n, i, r, t, o) { var a; N.normalizeArgs(t, o, function (t, e) { a = t, o = e }), T.validateArgs("commitBlocks", function (t) { t.string(n, "container"), t.string(i, "blob"), t.object(r, "blockList"), t.containerNameIsValid(n), t.callback(o) }); var e = D.serialize(r), s = V(n, i), l = I(!0, {}, a), c = f.put(s).withQueryOption(m.COMP, "blocklist").withHeader(h.CONTENT_LENGTH, d.byteLength(e)).withBody(e); P.setPropertiesFromBlob(c, l); this.performRequest(c, c.body, l, function (t, e) { t.blobResult = new P(n, i), t.blobResult.list = null, t.error || (t.blobResult.getPropertiesFromHeaders(t.response.headers), t.blobResult.list = r); e(t, function (t) { o(t.error, t.blobResult, t.response) }) }) }, H.prototype.listBlocks = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("listBlocks", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = V(e, n), s = I(!0, {}, o), l = f.get(a).withQueryOption(m.COMP, "blocklist").withQueryOption(m.BLOCK_LIST_TYPE, t).withQueryOption(m.SNAPSHOT, s.snapshotId); s.requestLocationMode = g.PRIMARY_OR_SECONDARY; this.performRequest(l, null, s, function (t, e) { t.blockListResult = null, t.error || (t.blockListResult = D.parse(t.response.body.BlockList)); e(t, function (t) { r(t.error, t.blockListResult, t.response) }) }) }, H.prototype.generateBlockIdPrefix = function () { var t = Math.floor(4294967296 * Math.random()).toString(16); return N.zeroPaddingString(t, 8) }, H.prototype.getBlockId = function (t, e) { return t + "-" + N.zeroPaddingString(e, 6) }, H.prototype.createOrReplaceAppendBlob = function (e, n, t, i) { var r; N.normalizeArgs(t, i, function (t, e) { r = t, i = e }), T.validateArgs("createOrReplaceAppendBlob", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(i) }); var o = I(!0, {}, r), a = V(e, n), s = f.put(a).withHeader(h.BLOB_TYPE, R.BlobTypes.APPEND).withHeader(h.LEASE_ID, o.leaseId).withHeader(h.CONTENT_LENGTH, 0); P.setHeadersFromBlob(s, o); this.performRequest(s, null, o, function (t, e) { e(t, function (t) { i(t.error, t.response) }) }) }, H.prototype.createAppendBlobFromStream = function (t, e, n, i, r, o) { return this._createBlobFromStream(t, e, R.BlobTypes.APPEND, n, i, r, o) }, H.prototype.createAppendBlobFromText = function (t, e, n, i, r) { return this._createBlobFromText(t, e, R.BlobTypes.APPEND, n, i, r) }, H.prototype.createWriteStreamToNewAppendBlob = function (t, e, n, i) { return this._createWriteStreamToBlob(t, e, R.BlobTypes.APPEND, 0, !0, n, i) }, H.prototype.createWriteStreamToExistingAppendBlob = function (t, e, n, i) { return this._createWriteStreamToBlob(t, e, R.BlobTypes.APPEND, 0, !1, n, i) }, H.prototype.appendFromStream = function (e, n, i, r, t, o) { var a; return N.normalizeArgs(t, o, function (t, e) { a = t, o = e }), T.validateArgs("appendFromStream", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.exists(i, "stream"), t.value(r, "streamLength"), t.callback(o) }), this._uploadBlobFromStream(!1, e, n, R.BlobTypes.APPEND, i, r, a, o) }, H.prototype.appendFromText = function (t, e, n, i, r) { return this._uploadBlobFromText(!1, t, e, R.BlobTypes.APPEND, n, i, r) }, H.prototype.appendBlockFromStream = function (e, n, i, r, t, o) { var a; N.normalizeArgs(t, o, function (t, e) { a = t, o = e }), T.validateArgs("appendBlockFromStream", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.exists(i, "readStream"), t.value(r, "streamLength"), t.callback(o) }); var s = I(!0, {}, a); if (r > R.MAX_APPEND_BLOB_BLOCK_SIZE) throw new RangeError(O.INVALID_STREAM_LENGTH); this._appendBlock(e, n, null, i, r, s, o) }, H.prototype.appendBlockFromText = function (e, n, t, i, r) { var o; N.normalizeArgs(i, r, function (t, e) { o = t, r = e }), T.validateArgs("appendBlockFromText", function (t) { t.string(e, "container"), t.string(n, "blob"), t.containerNameIsValid(e), t.callback(r) }); var a = I(!0, {}, o), s = d.isBuffer(t) ? t.length : d.byteLength(t); if (s > R.MAX_APPEND_BLOB_BLOCK_SIZE) throw new RangeError(O.INVALID_TEXT_LENGTH); this._appendBlock(e, n, t, null, s, a, r) }, H.prototype._createBlobFromStream = function (i, r, o, a, s, t, l) { var n; N.normalizeArgs(t, l, function (t, e) { n = t, l = e }), T.validateArgs("_createBlobFromStream", function (t) { t.string(i, "container"), t.string(r, "blob"), t.containerNameIsValid(i), t.blobTypeIsValid(o), t.exists(a, "stream"), t.value(s, "streamLength"), t.callback(l) }); var c = I(!0, {}, n), u = this; return this._createBlob(i, r, o, s, c, function (t, e, n) { t ? l(t, e, n) : u._uploadBlobFromStream(!0, i, r, o, a, s, c, l) }), c.speedSummary }, H.prototype._createBlobFromText = function (i, r, o, a, t, s) { var n; N.normalizeArgs(t, s, function (t, e) { n = t, s = e }), T.validateArgs("_createBlobFromText", function (t) { t.string(i, "container"), t.string(r, "blob"), t.containerNameIsValid(i), t.blobTypeIsValid(o), t.callback(s) }); var l = I(!0, {}, n), c = this, e = N.objectIsNull(a) ? 0 : d.isBuffer(a) ? a.length : d.byteLength(a); return this._createBlob(i, r, o, e, l, function (t, e, n) { t ? s(t, e, n) : c._uploadBlobFromText(!0, i, r, o, a, l, s) }), l.speedSummary }, H.prototype._createWriteStreamToBlob = function (i, r, o, t, a, e, s) { var n; N.normalizeArgs(e, s, function (t, e) { n = t, s = e }), T.validateArgs("_createWriteStreamToBlob", function (t) { t.string(i, "container"), t.string(r, "blob"), t.containerNameIsValid(i), t.blobTypeIsValid(o) }); var l, c = I(!0, {}, n); o === R.BlobTypes.BLOCK ? (c.storeBlobContentMD5 = !1 !== c.storeBlobContentMD5, l = c.blockSize || R.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES) : o == R.BlobTypes.PAGE ? l = R.DEFAULT_WRITE_PAGE_SIZE_IN_BYTES : o == R.BlobTypes.APPEND && (l = R.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES); var u = new v({ calcContentMd5: c.storeBlobContentMD5 }); u._highWaterMark = l, u.pause(); var p = this, d = function (t, e, n) { t ? s && s(t, e, n) : p._uploadBlobFromStream(a, i, r, o, u, null, c, function (t, e, n) { t && u.emit("error", t), s && s(t, e, n) }) }; return !0 === a ? this._createBlob(i, r, o, t, c, d) : d(), u }, H.prototype._uploadBlobFromStream = function (t, n, i, r, e, o, a, s) { var l; N.normalizeArgs(a, s, function (t, e) { l = t, s = e }), l.speedSummary = l.speedSummary || new C(i), r === R.BlobTypes.BLOCK && (l.storeBlobContentMD5 = !1 !== l.storeBlobContentMD5), e.pause(); var c = this, u = function () { if (null === o || o >= c.singleBlobPutThresholdInBytes || r !== R.BlobTypes.BLOCK) { var t = new x(e, { calcContentMd5: l.storeBlobContentMD5 }); c._uploadContentFromChunkStream(n, i, r, t, o, l, s) } else 0 < o && N.objectIsNull(N.tryGetValueChain(l, ["contentSettings", "contentMD5"], null)) && l.storeBlobContentMD5 ? (N.calculateMD5(e, Math.min(c.singleBlobPutThresholdInBytes, o), l, function (t, e) { N.setObjectInnerPropertyValue(l, ["contentSettings", "contentMD5"], e), c._putBlockBlob(n, i, t, null, t.length, l, s) }), e.resume()) : c._putBlockBlob(n, i, null, e, o, l, s) }; if (t) u(); else { if (l.storeBlobContentMD5 && r !== R.BlobTypes.BLOCK) throw new Error(O.MD5_NOT_POSSIBLE); r === R.BlobTypes.APPEND || l.accessConditions ? this.getBlobProperties(n, i, l, function (t, e, n) { !t || l.accessConditions && "*" === l.accessConditions.EtagNonMatch && 400 === n.statusCode ? (r === R.BlobTypes.APPEND && (l.appendPosition = e.contentLength), u()) : s(t) }) : u() } return l.speedSummary }, H.prototype._uploadBlobFromText = function (t, n, r, o, i, e, a) { var s; N.normalizeArgs(e, a, function (t, e) { s = t, a = e }), s.speedSummary = s.speedSummary || new C(r), s[h.CONTENT_TYPE] = s.contentSettings && s.contentSettings.contentType || 'text/plain;charset="utf-8"'; var l = this, c = function () { var t, e = N.objectIsNull(i) ? 0 : d.isBuffer(i) ? i.length : d.byteLength(i); if (o === R.BlobTypes.BLOCK) { if (s.storeBlobContentMD5 = !1 !== s.storeBlobContentMD5, t = l._putBlockBlob, e > R.MAX_SINGLE_UPLOAD_BLOB_SIZE_IN_BYTES) throw new RangeError(O.INVALID_BLOB_LENGTH) } else if (o === R.BlobTypes.APPEND && (t = l._appendBlock, e > R.MAX_APPEND_BLOB_BLOCK_SIZE)) throw new RangeError(O.INVALID_TEXT_LENGTH); t.call(l, n, r, i, null, e, s, function (t, i, e) { o !== R.BlobTypes.BLOCK ? l.setBlobProperties(n, r, s.contentSettings, s, function (t, e, n) { e = I(!1, e, i), a(t, e, n) }) : a(t, i, e) }) }; if (t) !N.objectIsNull(i) && N.objectIsNull(N.tryGetValueChain(s, ["contentSettings", "contentMD5"], null)) && s.storeBlobContentMD5 && N.setObjectInnerPropertyValue(s, ["contentSettings", "contentMD5"], N.getContentMd5(i)), c(); else { if (s.storeBlobContentMD5 && o !== R.BlobTypes.BLOCK) throw new Error(O.MD5_NOT_POSSIBLE); (o === R.BlobTypes.APPEND || s.accessConditions) && this.getBlobProperties(n, r, s, function (t, e) { t ? a(t) : (o === R.BlobTypes.APPEND && (s.appendPosition = e.contentLength), c()) }) } }, H.prototype._putBlockBlob = function (n, i, t, e, r, o, a) { o.speedSummary || (o.speedSummary = new C(i)); var s = o.speedSummary; s.totalSize = r; var l = V(n, i), c = f.put(l).withHeader(h.CONTENT_TYPE, "application/octet-stream").withHeader(h.BLOB_TYPE, R.BlobTypes.BLOCK).withHeader(h.CONTENT_LENGTH, r); !N.objectIsNull(t) && N.objectIsNull(o.transactionalContentMD5) && o.useTransactionalMD5 && (o.transactionalContentMD5 = N.getContentMd5(t)), P.setHeadersFromBlob(c, o); var u = function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.getPropertiesFromHeaders(t.response.headers), o.metadata && (t.blobResult.metadata = o.metadata)); e(t, function (t) { t && t.error || s.increment(r), a(t.error, t.blobResult, t.response) }) }; return N.objectIsNull(t) ? this.performRequestOutputStream(c, e, o, u) : this.performRequest(c, t, o, u), o.speedSummary }, H.prototype._appendBlock = function (i, r, o, a, s, l, c) { var u = l.speedSummary || new C(r); u.totalSize = s; var p = this, n = function () { var t = V(i, r), e = f.put(t).withQueryOption(m.COMP, "appendblock").withHeader(h.CONTENT_LENGTH, s).withHeader(h.BLOB_CONDITION_MAX_SIZE, l.maxBlobSize).withHeader(h.BLOB_CONDITION_APPEND_POSITION, l.appendPosition); P.setHeadersFromBlob(e, l); var n = function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(i, r), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { t && t.error || u.increment(s), c(t.error, t.blobResult, t.response) }) }; N.objectIsNull(o) ? p.performRequestOutputStream(e, a, l, n) : p.performRequest(e, o, l, n) }; return N.objectIsNull(l.transactionalContentMD5) && l.useTransactionalMD5 ? N.objectIsNull(o) ? N.calculateMD5(a, s, l, function (t, e) { l.transactionalContentMD5 = e, s = (o = t).length, n() }) : (l.transactionalContentMD5 = N.getContentMd5(o), n()) : n(), l.speedSummary }, H.prototype._leaseImpl = function (n, i, t, e, r, o) { var a; if (N.objectIsNull(i)) a = f.put(n).withQueryOption(m.RESTYPE, "container"); else { T.validateArgs("_leaseImpl", function (t) { t.string(i, "blob") }); var s = V(n, i); a = f.put(s) } a.withQueryOption(m.COMP, "lease").withHeader(h.LEASE_ID, t).withHeader(h.LEASE_ACTION, e.toLowerCase()).withHeader(h.LEASE_BREAK_PERIOD, r.leaseBreakPeriod).withHeader(h.PROPOSED_LEASE_ID, r.proposedLeaseId).withHeader(h.LEASE_DURATION, r.leaseDuration); this.performRequest(a, null, r, function (t, e) { t.leaseResult = null, t.error || (t.leaseResult = new B(n, i), t.leaseResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { o(t.error, t.leaseResult, t.response) }) }) }, H.prototype._createPages = function (n, i, t, e, r, o, a, s) { var l = this._updatePageBlobPagesImpl(n, i, r, o, R.PageWriteOptions.UPDATE, a); !N.objectIsNull(t) && N.objectIsNull(a.transactionalContentMD5) && a.useTransactionalMD5 && l.withHeader(h.CONTENT_MD5, N.getContentMd5(t)); var c = function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { s(t.error, t.blobResult, t.response) }) }; N.objectIsNull(t) ? this.performRequestOutputStream(l, e, a, c) : this.performRequest(l, t, a, c) }, H.prototype._updatePageBlobPagesImpl = function (t, e, n, i, r, o) { if (n && n % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_START_OFFSET); if (i && (i + 1) % R.PAGE_SIZE != 0) throw new RangeError(O.INVALID_PAGE_END_OFFSET); o || (o = {}), o.rangeStart = n, o.rangeEnd = i, o.contentLength = r === R.PageWriteOptions.UPDATE ? i - n + 1 : 0; var a = V(t, e), s = f.put(a).withQueryOption(m.COMP, "page").withHeader(h.CONTENT_TYPE, "application/octet-stream").withHeader(h.PAGE_WRITE, r); return P.setHeadersFromBlob(s, o), s }, H.prototype._uploadContentFromChunkStream = function (s, l, t, c, u, p, r) { var d, f, h, m, g; this.logger.debug(A.format("_uploadContentFromChunkStream for blob %s", l)); var o = N.tryGetValueChain(p, ["contentSettings", "contentMD5"], null), e = p.parallelOperationThreadCount || this.parallelOperationThreadCount; if (t == R.BlobTypes.BLOCK) { d = "createBlockFromText", f = !0; var n = Math.ceil(u / 5e4); if (p.blockSize) { if (p.blockSize < n) { var i = new F("options.blockSize", A.format("The minimum blockSize is %s and the provided blockSize %s is too small.", n, p.blockSize)); return void r(i) } g = p.blockSize } else g = Math.max(n, R.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES) } else if (t == R.BlobTypes.PAGE) d = "_createPages", h = !0, g = R.DEFAULT_WRITE_PAGE_SIZE_IN_BYTES; else { if (t != R.BlobTypes.APPEND) { i = new F("blobType", A.format("Unknown blob type %s", t)); return void r(i) } d = "appendBlockFromText", m = !0, e = 1, g = R.DEFAULT_WRITE_BLOCK_SIZE_IN_BYTES } c._highWaterMark = g, this._setOperationExpiryTime(p); var v = p.speedSummary || new C(l); v.totalSize = u; var _ = new M(g, e, { logger: this.logger }); if (c.setMemoryAllocator(_), c.setOutputLength(u), c._stream && c._stream.setMemoryAllocator) { var a = new M(c._stream._highWaterMark, e, { logger: this.logger }); c._stream.setMemoryAllocator(a) } var E = new L(d, { callInOrder: m, callbackInOrder: m, logger: this.logger, enableReuseSocket: this.defaultEnableReuseSocket, operationMemoryUsage: g }); E.setConcurrency(e); var b = { leaseId: p.leaseId, timeoutIntervalInMs: p.timeoutIntervalInMs, clientRequestTimeoutInMs: p.clientRequestTimeoutInMs, operationExpiryTime: p.operationExpiryTime, maxBlobSize: p.maxBlobSize, appendPosition: p.appendPosition || 0, initialAppendPosition: p.appendPosition || 0, absorbConditionalErrorsOnRetry: p.absorbConditionalErrorsOnRetry }, y = p.blockIdPrefix || this.generateBlockIdPrefix(), T = 0, x = [], S = {}, w = this; return c.on("data", function (n, t) { var e = null, i = !1, r = v.getAutoIncrementFunction(n.length); if (n.length > g) throw new RangeError(A.format(O.EXCEEDED_SIZE_LIMITATION, g, n.length)); if (p.useTransactionalMD5) { var o = N.getContentMd5(n); b.transactionalContentMD5 = o } var a = function () { return !u || (t.start >= u ? (w.logger.debug(A.format("Stop uploading data from %s bytes to %s bytes to blob %s because of limit %s", t.start, t.end, l, u)), c.stop(), !1) : (t.end >= u && (w.logger.debug(A.format("Clip uploading data from %s bytes to %s bytes to blob %s because of limit %s", t.start, t.end, l, u)), t.end = u - 1, n = n.slice(0, u - t.start), p.useTransactionalMD5 && (b.transactionalContentMD5 = N.getContentMd5(n))), !0)) }; f ? function () { if (a()) { var t = w.getBlockId(y, T); x.push(t), e = new L.RestOperation(w, d, t, s, l, n, b, function (t) { t ? (w.logger.debug(A.format("Stop uploading data as error happens. Error: %s", A.inspect(t))), c.stop()) : r(), _.releaseBuffer(n), n = null }), T++ } }() : m ? function () { if (a()) { if (b.appendPosition = Number(b.initialAppendPosition) + Number(t.start), p.maxBlobSize && b.appendPosition + n.length > p.maxBlobSize) throw new Error(O.MAX_BLOB_SIZE_CONDITION_NOT_MEET); e = new L.RestOperation(w, d, s, l, n, b, function (t, e) { t ? (w.logger.debug(A.format("Stop uploading data as error happens. Error: %s", A.inspect(t))), c.stop()) : r(), S = e, _.releaseBuffer(n), n = null }) } }() : h && a() && (N.isBufferAllZero(n) ? (w.logger.debug(A.format("Skip upload data from %s bytes to %s bytes to blob %s", t.start, t.end, l)), v.increment(n.length)) : (w.logger.debug(A.format("Upload data from %s bytes to %s bytes to blob %s", t.start, t.end, l)), e = new L.RestOperation(w, d, s, l, n, null, t.start, t.end, b, function (t) { t ? (w.logger.debug(A.format("Stop uploading data as error happens. Error: %s", A.inspect(t))), c.stop()) : r(), _.releaseBuffer(n), n = null }))), e && (i = E.addOperation(e), e = null, i && (w.logger.debug("File stream paused"), c.pause())) }), c.on("end", function () { w.logger.debug(A.format("File read stream ended for blob %s", l)), E.enableComplete() }), E.on("drain", function () { w.logger.debug("file stream resume"), c.resume() }), E.on("end", function (t) { if (w.logger.debug("batch operations commited"), v = null, t) r(t); else { if (o) p.contentSettings.contentMD5 = o; else if (p.storeBlobContentMD5) { var e = c.getContentMd5("base64"); N.setObjectInnerPropertyValue(p, ["contentSettings", "contentMD5"], e) } if (f) { var n = { UncommittedBlocks: x }; w.commitBlocks(s, l, n, p, function (t, e, n) { w.logger.debug(A.format("Blob %s committed", l)), t ? (c.finish(), r(t)) : (S.commmittedBlocks = x, c.finish(), r(t, S, n)) }) } else { var i = p.contentSettings; w.setBlobProperties(s, l, i, function (t, e, n) { c.finish(), e = I(!1, e, S), r(t, e, n) }) } } }), v }, H.prototype._doesContainerExist = function (n, t, e, i) { var r = f.head(n).withQueryOption(m.RESTYPE, "container").withHeader(h.LEASE_ID, e.leaseId); !1 === t && (e.requestLocationMode = g.PRIMARY_OR_SECONDARY); this.performRequest(r, null, e, function (t, e) { t.containerResult = new k(n), t.error ? t.error && t.error.statusCode === p.HttpConstants.HttpResponseCodes.NotFound && (t.error = null, t.containerResult.exists = !1, t.response.isSuccessful = !0) : (t.containerResult.exists = !0, t.containerResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { i(t.error, t.containerResult, t.response) }) }) }, H.prototype._doesBlobExist = function (n, i, t, e, r) { var o = V(n, i), a = f.head(o).withQueryOption(m.SNAPSHOT, e.snapshotId).withHeader(h.LEASE_ID, e.leaseId); !1 === t && (e.requestLocationMode = g.PRIMARY_OR_SECONDARY); this.performRequest(a, null, e, function (t, e) { t.blobResult = new P(n, i), t.error ? t.error && t.error.statusCode === p.HttpConstants.HttpResponseCodes.NotFound && (t.error = null, t.blobResult.exists = !1, t.response.isSuccessful = !0) : (t.blobResult.exists = !0, t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype._setBlobPropertiesHelper = function (n) { this.performRequest(n.webResource, null, n.options, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n.container, n.blob), t.blobResult.getPropertiesFromHeaders(t.response.headers)); e(t, function (t) { n.callback(t.error, t.blobResult, t.response) }) }) }, H.prototype._validateLengthAndMD5 = function (t, e) { var n, i = e.response.headers[p.HeaderConstants.CONTENT_MD5]; N.objectIsNull(e.response.headers[p.HeaderConstants.CONTENT_LENGTH]) || (n = parseInt(e.response.headers[p.HeaderConstants.CONTENT_LENGTH], 10)), N.objectIsNull(t.disableContentMD5Validation) && (t.disableContentMD5Validation = !1), !1 === t.disableContentMD5Validation && !0 === t.useTransactionalMD5 && N.objectIsNull(i) && (e.error = new o(O.MD5_NOT_PRESENT_ERROR), e.retryable = !1), N.objectIsNull(e.length) && ("string" == typeof e.response.body ? e.length = d.byteLength(e.response.body) : d.isBuffer(e.response.body) && (e.length = e.response.body.length)), N.objectIsNull(n) || e.length === n || (e.error = new Error(O.CONTENT_LENGTH_MISMATCH), e.retryable = !1), !1 === t.disableContentMD5Validation && N.objectIsNull(e.contentMD5) && (e.contentMD5 = N.getContentMd5(e.response.body)), !1 !== t.disableContentMD5Validation || N.objectIsNull(i) || i === e.contentMD5 || (e.error = new Error(A.format(O.HASH_MISMATCH, i, e.contentMD5)), e.retryable = !1) }, H.prototype._setRangeContentMD5Header = function (t, e) { if (!N.objectIsNull(e.rangeStart) && e.useTransactionalMD5) { if (N.objectIsNull(e.rangeEnd)) throw new j("options.rangeEndHeader", A.format(O.ARGUMENT_NULL_OR_EMPTY, e.rangeEndHeader)); if (parseInt(e.rangeEnd, 10) - parseInt(e.rangeStart, 10) + 1 > R.MAX_RANGE_GET_SIZE_WITH_MD5) throw new F("options", O.INVALID_RANGE_FOR_MD5); t.withHeader(h.RANGE_GET_CONTENT_MD5, "true") } }, H.prototype._getBlobToRangeStream = function (a, s, e, l, t, n) { var c; N.normalizeArgs(t, n, function (t, e) { c = t, n = e }), T.validateArgs("_getBlobToRangeStream", function (t) { t.string(a, "container"), t.string(s, "blob"), t.containerNameIsValid(a), t.blobNameIsValid(a, s), t.blobTypeIsValid(e), t.callback(n) }); var u = null, p = !0; e == R.BlobTypes.PAGE ? u = new b(this, a, s, c) : e == R.BlobTypes.APPEND ? (u = new y(this, a, s, c), p = !1) : e == R.BlobTypes.BLOCK && (u = new _(this, a, s, c), p = !1), c.speedSummary || (c.speedSummary = new C(s)); var d = c.speedSummary, i = c.parallelOperationThreadCount || this.parallelOperationThreadCount, f = new L("getBlobInRanges", { callbackInOrder: !0, logger: this.logger, enableReuseSocket: this.defaultEnableReuseSocket }); f.setConcurrency(i); var h = this, r = !c.disableContentMD5Validation, m = null; r && (m = (new E).createMd5Hash()); var g = null, v = null; u.on("range", function (n) { d.totalSize || (d.totalSize = u.rangeSize); var t = { rangeStart: n.start, rangeEnd: n.end, responseEncoding: null }, o = n.size; if (t.timeoutIntervalInMs = c.timeoutIntervalInMs, t.clientRequestTimeoutInMs = c.clientRequestTimeoutInMs, t.useTransactionalMD5 = c.useTransactionalMD5, t.snapshotId = c.snapshotId, 0 !== n.dataSize) { if (!(n.start > n.end)) { var e = new L.RestOperation(h, "getBlobToText", a, s, t, function (t, e, n, i) { if (t) h.logger.debug(A.format("Stop downloading data as error happens. Error: %s", A.inspect(t))), u.stop(); else { o !== e.length && h.logger.warn(A.format("Request %s bytes, but server returns %s bytes", o, e.length)), g || (g = n), v || (v = i); var r = d.getAutoIncrementFunction(e.length); l.write(e, r) || (h.logger.debug("Write stream is full and pause batch operation"), f.pause()), m && m.update(e), e = null } }); f.addOperation(e) && (h.logger.debug("Pause range stream"), u.pause()) } } else if (p) { var i = d.getAutoIncrementFunction(o), r = new L.CommonOperation(L.noOperation, function (t) { if (!t) { var e = N.writeZerosToStream(l, o, m, i); h.logger.debug(A.format("Write %s bytes Zero from %s to %s", o, n.start, n.end)), e || (h.logger.debug("Write stream is full and pause batch operation"), f.pause()) } }); f.addOperation(r) } else h.logger.debug(A.format("Can not read %s bytes to %s bytes of blob %s", n.start, n.end, s)) }), u.on("end", function () { h.logger.debug("Range stream has ended."), f.enableComplete() }), f.on("drain", function () { h.logger.debug("Resume range stream"), u.resume() }), l.on("drain", function () { h.logger.debug("Resume batch operations"), f.resume() }), f.on("end", function (t) { h.logger.debug("Download completed!"), t ? n(t) : l.end(function () { h.logger.debug("Write stream has ended"), g || (g = {}), N.setObjectInnerPropertyValue(g, ["contentSettings", "contentMD5"], N.tryGetValueChain(c, ["contentSettings", "contentMD5"], null)), g.clientSideContentMD5 = null, m && (g.clientSideContentMD5 = m.digest("base64")), n(t, g, v) }) }); var o = { timeoutIntervalInMs: c.timeoutIntervalInMs, clientRequestTimeoutInMs: c.clientRequestTimeoutInMs, snapshotId: c.snapshotId, leaseId: c.leaseId, blockListFilter: U.BlockListFilter.COMMITTED }; return u.list(o, function (t) { n(t) }), d }, H.prototype._getBlobToStream = function (n, i, t, e, r) { var o; N.normalizeArgs(e, r, function (t, e) { o = t, r = e }); var a = V(n, i), s = f.get(a).withRawResponse(), l = I(!0, {}, o); s.withQueryOption(m.SNAPSHOT, l.snapshotId), P.setHeadersFromBlob(s, l), this._setRangeContentMD5Header(s, l); var c = this; this.performRequestInputStream(s, null, t, l, function (t, e) { t.blobResult = null, t.error || (t.blobResult = new P(n, i), t.blobResult.metadata = c.parseMetadataHeaders(t.response.headers), t.blobResult.getPropertiesFromHeaders(t.response.headers), c._validateLengthAndMD5(l, t), l.speedSummary && l.speedSummary.increment(t.length)); e(t, function (t) { r(t.error, t.blobResult, t.response) }) }) }, H.prototype._listBlobsOrDircotriesSegmentedWithPrefix = function (e, t, n, i, r, o) { var a; N.normalizeArgs(r, o, function (t, e) { a = t, o = e }), T.validateArgs("listBlobsSegmented", function (t) { t.string(e, "container"), t.containerNameIsValid(e), t.callback(o) }); var s = I(!0, {}, a), l = f.get(e).withQueryOption(m.RESTYPE, "container").withQueryOption(m.COMP, "list").withQueryOption(m.MAX_RESULTS, s.maxResults).withQueryOptions(s, m.DELIMITER, m.INCLUDE); N.objectIsNull(n) || l.withQueryOption(m.MARKER, n.nextMarker), l.withQueryOption(m.PREFIX, t), s.requestLocationMode = N.getNextListingLocationMode(n); this.performRequest(l, null, s, function (n, t) { if (n.listBlobsResult = null, !n.error) { n.listBlobsResult = { entries: null, continuationToken: null }, n.listBlobsResult.entries = []; var e = []; i == R.ListBlobTypes.Directory && n.response.body.EnumerationResults.Blobs.BlobPrefix ? (e = n.response.body.EnumerationResults.Blobs.BlobPrefix, c.isArray(e) || (e = [e])) : i == R.ListBlobTypes.Blob && n.response.body.EnumerationResults.Blobs.Blob && (e = n.response.body.EnumerationResults.Blobs.Blob, c.isArray(e) || (e = [e])), e.forEach(function (t) { var e = P.parse(t); n.listBlobsResult.entries.push(e) }), n.response.body.EnumerationResults.NextMarker && (n.listBlobsResult.continuationToken = { nextMarker: null, targetLocation: null }, n.listBlobsResult.continuationToken.nextMarker = n.response.body.EnumerationResults.NextMarker, n.listBlobsResult.continuationToken.targetLocation = n.targetLocation) } t(n, function (t) { o(t.error, t.listBlobsResult, t.response) }) }) }, H.prototype._createBlob = function (t, e, n, i, r, o) { n == R.BlobTypes.APPEND ? this.createOrReplaceAppendBlob(t, e, r, function (t, e) { o(t, null, e) }) : n == R.BlobTypes.PAGE ? this.createPageBlob(t, e, i, r, function (t) { o(t) }) : n == R.BlobTypes.BLOCK && o() }, H.SpeedSummary = C, i.exports = H }).call(this, n("buffer").Buffer) }, { "../../common/errors/errors": 5, "../../common/models/accountpropertiesresult": 11, "./../../common/common.core": 3, "./../../common/md5-wrapper": 10, "./../../common/streams/rangestream": 29, "./blobutilities": 42, "./internal/blockrangestream": 43, "./internal/pagerangestream": 44, "./models/blobresult": 45, "./models/blocklistresult": 46, "./models/containerresult": 47, "./models/leaseresult": 48, buffer: 56, extend: 60, querystring: 75, underscore: 111, url: 112, util: 117 }], 42: [function (t, e, n) { e.exports; e.exports = { SharedAccessPermissions: { READ: "r", ADD: "a", CREATE: "c", WRITE: "w", DELETE: "d", LIST: "l" }, BlobListingDetails: { SNAPSHOTS: "snapshots", METADATA: "metadata", UNCOMMITTED_BLOBS: "uncommittedblobs", COPY: "copy", DELETED: "deleted" }, SnapshotDeleteOptions: { SNAPSHOTS_ONLY: "only", BLOB_AND_SNAPSHOTS: "include" }, BlockListFilter: { ALL: "all", COMMITTED: "committed", UNCOMMITTED: "uncommitted" }, BlobContainerPublicAccessType: { OFF: null, CONTAINER: "container", BLOB: "blob" }, SequenceNumberAction: { MAX: "max", UPDATE: "update", INCREMENT: "increment" }, BlobTier: { PremiumPageBlobTier: { P4: "P4", P6: "P6", P10: "P10", P20: "P20", P30: "P30", P40: "P40", P50: "P50", P60: "P60" }, StandardBlobTier: { HOT: "Hot", COOL: "Cool", ARCHIVE: "Archive" } } } }, {}], 43: [function (t, e, n) { var a = t("./../../../common/util/constants"), r = t("events").EventEmitter, i = t("./../blobutilities"); function o(t, e, n, i) { this.blobServiceClient = t, this.container = e, this.blob = n, this._emitter = new r, this._paused = !1, this._emittedAll = !1, this._emittedRangeType = null, this._emittedRangeIndex = null, this._offset = 0, this._rangelist = [], this._isEmitting = !1, i.rangeStart ? this._startOffset = i.rangeStart : this._startOffset = 0, i.rangeEnd ? this._endOffset = i.rangeEnd : this._endOffset = Number.MAX_VALUE } o.prototype.on = function (t, e) { this._emitter.on(t, e) }, o.prototype.list = function (t, r) { t || (t = {}), t.blockListFilter || (t.blockListFilter = i.BlockListFilter.ALL); var o = this; this.blobServiceClient.listBlocks(this.container, this.blob, t.blockListFilter, t, function (t, e, n) { if (t) r(t); else { var i = parseInt(n.headers[a.HeaderConstants.BLOB_CONTENT_LENGTH], 10); if (!e.CommittedBlocks) { e.CommittedBlocks = [{ Name: "NODESDK_BLOCKBLOB_RANGESTREAM", Size: i }] } o._rangelist = e, o._emitBlockList(), o = e = null } }) }, o.prototype._emitBlockList = function () { if (!(this._paused || this._emittedAll || this._isEmitting)) { var t = this; this._getTypeList(function () { t._rangelist = null, t._emittedAll = !0, t._emitter.emit("end") }) } }, o.prototype._getTypeList = function (t) { this._isEmitting = !0; try { var e = !1; if (this._rangelist) for (var n in this._rangelist) if (this._rangelist.hasOwnProperty(n)) { if (null === this._emittedRangeType || e || this._emittedRangeType == n) this._emittedRangeType = n, e = !0; else if (this._emittedRangeType !== n) continue; if (this._paused) return; this._emitBlockRange(n, t) } } finally { this._isEmitting = !1 } }, o.prototype._emitBlockRange = function (t, e) { for (var n = this._rangelist[t], i = !1, r = 0; r < n.length; r++) { if (null === this._emittedRangeIndex || i || this._emittedRangeIndex === r) this._emittedRangeIndex = r, i = !0; else if (this._emittedRangeIndex !== r) continue; if (this._paused) return; var o = n[r]; if (o.name = o.Name, o.type = t, o.start = this._offset, this._offset += parseInt(o.Size, 10), o.end = this._offset - 1, delete o.Name, delete o.Size, o.start > this._endOffset) break; o.end < this._startOffset || (o.start = Math.max(o.start, this._startOffset), o.end = Math.min(o.end, this._endOffset), o.size = o.end - o.start + 1, o.dataSize = o.size, this._emitter.emit("range", o)) } this._rangelist[t] = null, e() }, o.prototype.pause = function () { this._paused = !0 }, o.prototype.resume = function () { this._paused = !1, this._isEmitting || this._emitBlockList() }, o.prototype.stop = function () { this.pause(), this._emittedAll = !0, this._emitter.emit("end") }, e.exports = o }, { "./../../../common/util/constants": 32, "./../blobutilities": 42, events: 59 }], 44: [function (t, e, n) { var i = t("util"), r = t("./../../../common/streams/rangestream"), o = t("./../../../common/util/constants"); function a(t, e, n, i) { a.super_.call(this, t, e, n, i), i.minRangeSize ? this._minRangeSize = i.minRangeSize : this._minRangeSize = o.BlobConstants.MIN_WRITE_PAGE_SIZE_IN_BYTES, i.maxRangeSize ? this._maxRangeSize = i.maxRangeSize : this._maxRangeSize = o.BlobConstants.DEFAULT_WRITE_PAGE_SIZE_IN_BYTES, this._lengthHeader = o.HeaderConstants.BLOB_CONTENT_LENGTH, this._listFunc = t.listPageRanges } i.inherits(a, r), e.exports = a }, { "./../../../common/streams/rangestream": 29, "./../../../common/util/constants": 32, util: 117 }], 45: [function (t, e, n) { var a = t("underscore"), i = t("./../../../common/common.core"), s = i.util, l = i.Constants.HeaderConstants; function r(t, e) { t && (this.container = t), e && (this.name = e) } r.parse = function (t) { var e = new r; for (var n in t) if (t.hasOwnProperty(n)) if ("Properties" === n) s.setPropertyValueFromXML(e, t[n], !0); else if ("Metadata" === n) { var i = s.normalizePropertyNameFromXML(n); e[i] = {}, s.setPropertyValueFromXML(e[i], t[n], !1) } else e[n.toLowerCase()] = t[n]; return void 0 !== e.isIncrementalCopy && (e.isIncrementalCopy = "true" === e.isIncrementalCopy), void 0 !== e.accessTierInferred && (e.accessTierInferred = "true" === e.accessTierInferred), void 0 !== e.deleted && (e.deleted = "true" == e.deleted), void 0 !== e.remainingRetentionDays && (e.remainingRetentionDays = parseInt(e.remainingRetentionDays)), e }; var c = { lastModified: "LAST_MODIFIED", creationTime: "CREATION_TIME", etag: "ETAG", sequenceNumber: "SEQUENCE_NUMBER", blobType: "BLOB_TYPE", contentLength: "CONTENT_LENGTH", blobContentLength: "BLOB_CONTENT_LENGTH", contentRange: "CONTENT_RANGE", committedBlockCount: "BLOB_COMMITTED_BLOCK_COUNT", serverEncrypted: "SERVER_ENCRYPTED", requestId: "REQUEST_ID", range: "RANGE", blobRange: "STORAGE_RANGE", getContentMd5: "RANGE_GET_CONTENT_MD5", acceptRanges: "ACCEPT_RANGES", appendOffset: "BLOB_APPEND_OFFSET", accessTier: "ACCESS_TIER", accessTierChangeTime: "ACCESS_TIER_CHANGE_TIME", accessTierInferred: "ACCESS_TIER_INFERRED", archiveStatus: "ARCHIVE_STATUS", isIncrementalCopy: "INCREMENTAL_COPY", "contentSettings.contentType": "CONTENT_TYPE", "contentSettings.contentEncoding": "CONTENT_ENCODING", "contentSettings.contentLanguage": "CONTENT_LANGUAGE", "contentSettings.cacheControl": "CACHE_CONTROL", "contentSettings.contentDisposition": "CONTENT_DISPOSITION", "contentSettings.contentMD5": "CONTENT_MD5", "lease.id": "LEASE_ID", "lease.status": "LEASE_STATUS", "lease.duration": "LEASE_DURATION", "lease.state": "LEASE_STATE", "copy.id": "COPY_ID", "copy.status": "COPY_STATUS", "copy.source": "COPY_SOURCE", "copy.progress": "COPY_PROGRESS", "copy.completionTime": "COPY_COMPLETION_TIME", "copy.statusDescription": "COPY_STATUS_DESCRIPTION", "copy.destinationSnapshot": "COPY_DESTINATION_SNAPSHOT" }; r.prototype.getPropertiesFromHeaders = function (i) { var r = this, o = function (t, e) { if (!s.tryGetValueChain(r, t.split("."), null) && i[e.toLowerCase()] && (s.setObjectInnerPropertyValue(r, t.split("."), i[e.toLowerCase()]), "copy.progress" === t)) { var n = s.parseCopyProgress(r.copy.progress); r.copy.bytesCopied = parseInt(n.bytesCopied), r.copy.totalBytes = parseInt(n.totalBytes) } }; o("contentSettings.contentMD5", l.BLOB_CONTENT_MD5), a.chain(c).pairs().each(function (t) { var e = t[0], n = l[t[1]]; o(e, n) }), void 0 !== r.isIncrementalCopy && (r.isIncrementalCopy = "true" === r.isIncrementalCopy), void 0 !== r.accessTierInferred && (r.accessTierInferred = "true" == r.accessTierInferred) }, r.setHeadersFromBlob = function (i, r) { var t = function (t, e) { var n = s.tryGetValueChain(r, e.split("."), null); n && i.withHeader(t, n) }; if (r) { if (t(l.BLOB_CONTENT_TYPE, "contentSettings.contentType"), t(l.BLOB_CONTENT_ENCODING, "contentSettings.contentEncoding"), t(l.BLOB_CONTENT_LANGUAGE, "contentSettings.contentLanguage"), t(l.BLOB_CONTENT_DISPOSITION, "contentSettings.contentDisposition"), t(l.BLOB_CACHE_CONTROL, "contentSettings.cacheControl"), t(l.BLOB_CONTENT_MD5, "contentSettings.contentMD5"), t(l.CONTENT_LENGTH, "contentLength"), t(l.CONTENT_MD5, "transactionalContentMD5"), !s.objectIsNull(r.rangeStart)) { var e = "bytes=" + r.rangeStart + "-"; s.objectIsNull(r.rangeEnd) || (e += r.rangeEnd), i.withHeader(l.RANGE, e) } if (!s.objectIsNull(r.sourceRangeStart)) { var n = "bytes=" + r.sourceRangeStart + "-"; s.objectIsNull(r.sourceRangeEnd) || (n += r.sourceRangeEnd), i.withHeader(l.SOURCE_RANGE, n) } t(l.BLOB_TYPE, "blobType"), t(l.LEASE_ID, "leaseId"), t(l.SEQUENCE_NUMBER, "sequenceNumber"), t(l.SEQUENCE_NUMBER_ACTION, "sequenceNumberAction"), r.metadata && i.addOptionalMetadataHeaders(r.metadata) } }, r.setPropertiesFromBlob = function (i, r) { var t = function (t, e) { var n = s.tryGetValueChain(r, e.split("."), null); n && i.withHeader(t, n) }; r && (t(l.BLOB_CONTENT_TYPE, "contentSettings.contentType"), t(l.BLOB_CONTENT_ENCODING, "contentSettings.contentEncoding"), t(l.BLOB_CONTENT_LANGUAGE, "contentSettings.contentLanguage"), t(l.BLOB_CONTENT_DISPOSITION, "contentSettings.contentDisposition"), t(l.BLOB_CACHE_CONTROL, "contentSettings.cacheControl"), t(l.BLOB_CONTENT_MD5, "contentSettings.contentMD5"), t(l.LEASE_ID, "leaseId"), r.metadata && i.addOptionalMetadataHeaders(r.metadata)) }, e.exports = r }, { "./../../../common/common.core": 3, underscore: 111 }], 46: [function (e, t, a) { (function (n) { var i = e("underscore"), t = e("./../../../common/common.core"), r = t.xmlbuilder, o = t.Constants; a.serialize = function (t) { var e = r.create(o.BlobConstants.BLOCK_LIST_ELEMENT, { version: "1.0", encoding: "utf-8" }); return i.isArray(t.LatestBlocks) && t.LatestBlocks.forEach(function (t) { e = e.ele(o.BlobConstants.LATEST_ELEMENT).txt(n.from(t).toString("base64")).up() }), i.isArray(t.CommittedBlocks) && t.CommittedBlocks.forEach(function (t) { e = e.ele(o.BlobConstants.COMMITTED_ELEMENT).txt(n.from(t).toString("base64")).up() }), i.isArray(t.UncommittedBlocks) && t.UncommittedBlocks.forEach(function (t) { e = e.ele(o.BlobConstants.UNCOMMITTED_ELEMENT).txt(n.from(t).toString("base64")).up() }), e.doc().toString() }, a.parse = function (t) { var e = {}; return t.CommittedBlocks && t.CommittedBlocks.Block && (e.CommittedBlocks = t.CommittedBlocks.Block, i.isArray(e.CommittedBlocks) || (e.CommittedBlocks = [e.CommittedBlocks]), e.CommittedBlocks.forEach(function (t) { t.Name = n.from(t.Name, "base64").toString() })), t.UncommittedBlocks && t.UncommittedBlocks.Block && (e.UncommittedBlocks = t.UncommittedBlocks.Block, i.isArray(e.UncommittedBlocks) || (e.UncommittedBlocks = [e.UncommittedBlocks]), e.UncommittedBlocks.forEach(function (t) { t.Name = n.from(t.Name, "base64").toString() })), e } }).call(this, e("buffer").Buffer) }, { "./../../../common/common.core": 3, buffer: 56, underscore: 111 }], 47: [function (t, e, n) { var i = t("./../../../common/common.core"), r = i.util, o = i.Constants.HeaderConstants, a = t("../blobutilities"); function s(t, e) { t && (this.name = t), e && (this.publicAccessLevel = e) } s.parse = function (t) { var e = new s; for (var n in t) if (t.hasOwnProperty(n)) if ("Properties" === n) r.setPropertyValueFromXML(e, t[n], !0); else if ("Metadata" === n) { var i = r.normalizePropertyNameFromXML(n); e[i] = {}, r.setPropertyValueFromXML(e[i], t[n], !1) } else e[n.toLowerCase()] = t[n]; return e.publicAccessLevel || (e.publicAccessLevel = a.BlobContainerPublicAccessType.OFF), void 0 !== e.hasImmutabilityPolicy && (e.hasImmutabilityPolicy = "true" === e.hasImmutabilityPolicy), void 0 !== e.hasLegalHold && (e.hasLegalHold = "true" === e.hasLegalHold), e }, s.prototype.getPropertiesFromHeaders = function (n) { var i = this, t = function (t, e) { !r.tryGetValueChain(i, t.split("."), null) && n[e.toLowerCase()] && r.setObjectInnerPropertyValue(i, t.split("."), n[e.toLowerCase()]) }; t("etag", o.ETAG), t("lastModified", o.LAST_MODIFIED), t("lease.status", o.LEASE_STATUS), t("lease.state", o.LEASE_STATE), t("lease.duration", o.LEASE_DURATION), t("requestId", o.REQUEST_ID), t("hasImmutabilityPolicy", o.HAS_IMMUTABILITY_POLICY), t("hasLegalHold", o.HAS_LEGAL_HOLD), void 0 !== i.hasImmutabilityPolicy && (i.hasImmutabilityPolicy = "true" === i.hasImmutabilityPolicy), void 0 !== i.hasLegalHold && (i.hasLegalHold = "true" === i.hasLegalHold), i.publicAccessLevel || (i.publicAccessLevel = a.BlobContainerPublicAccessType.OFF, n[o.BLOB_PUBLIC_ACCESS] && (i.publicAccessLevel = n[o.BLOB_PUBLIC_ACCESS])), "true" === i.publicAccessLevel && (i.publicAccessLevel = a.BlobContainerPublicAccessType.CONTAINER) }, e.exports = s }, { "../blobutilities": 42, "./../../../common/common.core": 3 }], 48: [function (t, e, n) { var i = t("./../../../common/common.core").Constants.HeaderConstants; function r(t, e, n, i) { t && (this.container = t), e && (this.blob = e), n && (this.id = n), i && (this.time = i) } r.prototype.getPropertiesFromHeaders = function (t) { var e = this; !e.id && t[i.LEASE_ID] && (e.id = t[i.LEASE_ID]), !e.time && t[i.LEASE_TIME] && (e.time = parseInt(t[i.LEASE_TIME], 10)), e.etag = t[i.ETAG], e.lastModified = t[i.LAST_MODIFIED.toLowerCase()] }, e.exports = r }, { "./../../../common/common.core": 3 }], 49: [function (t, e, n) { e.exports; e.exports = { SharedAccessPermissions: { READ: "r", CREATE: "c", WRITE: "w", DELETE: "d", LIST: "l" }, ListingDetails: { METADATA: "metadata" }, SharePublicAccessType: { OFF: null, SHARE: "share", FILE: "file" }, ShareSnapshotDeleteOptions: { SHARE_AND_SNAPSHOTS: "include" } } }, {}], 50: [function (t, e, n) { e.exports; var i, r = { SharedAccessPermissions: { QUERY: "r", ADD: "a", UPDATE: "u", DELETE: "d" }, PayloadFormat: { FULL_METADATA: "application/json;odata=fullmetadata", MINIMAL_METADATA: "application/json;odata=minimalmetadata", NO_METADATA: "application/json;odata=nometadata" }, TableOperators: { AND: "and", NOT: "not", OR: "or" }, QueryComparisons: { EQUAL: "eq", NOT_EQUAL: "ne", GREATER_THAN: "gt", GREATER_THAN_OR_EQUAL: "ge", LESS_THAN: "lt", LESS_THAN_OR_EQUAL: "le" }, EdmType: { STRING: "Edm.String", BINARY: "Edm.Binary", INT64: "Edm.Int64", INT32: "Edm.Int32", DOUBLE: "Edm.Double", DATETIME: "Edm.DateTime", GUID: "Edm.Guid", BOOLEAN: "Edm.Boolean" }, entityGenerator: (i = function (t, e) { var n = { _: t }; return e && (n.$ = e), n }, { EntityProperty: i, Int32: function (t) { return new i(t, "Edm.Int32") }, Int64: function (t) { return new i(t, "Edm.Int64") }, Binary: function (t) { return new i(t, "Edm.Binary") }, Boolean: function (t) { return new i(t, "Edm.Boolean") }, String: function (t) { return new i(t, "Edm.String") }, Guid: function (t) { return new i(t, "Edm.Guid") }, Double: function (t) { return new i(t, "Edm.Double") }, DateTime: function (t) { return new i(t, "Edm.DateTime") } }) }; e.exports = r }, {}], 51: [function (t, e, n) { "use strict"; n.byteLength = function (t) { var e = f(t), n = e[0], i = e[1]; return 3 * (n + i) / 4 - i }, n.toByteArray = function (t) { var e, n, i = f(t), r = i[0], o = i[1], a = new d((c = r, u = o, 3 * (c + u) / 4 - u)), s = 0, l = 0 < o ? r - 4 : r; var c, u; for (n = 0; n < l; n += 4)e = p[t.charCodeAt(n)] << 18 | p[t.charCodeAt(n + 1)] << 12 | p[t.charCodeAt(n + 2)] << 6 | p[t.charCodeAt(n + 3)], a[s++] = e >> 16 & 255, a[s++] = e >> 8 & 255, a[s++] = 255 & e; 2 === o && (e = p[t.charCodeAt(n)] << 2 | p[t.charCodeAt(n + 1)] >> 4, a[s++] = 255 & e); 1 === o && (e = p[t.charCodeAt(n)] << 10 | p[t.charCodeAt(n + 1)] << 4 | p[t.charCodeAt(n + 2)] >> 2, a[s++] = e >> 8 & 255, a[s++] = 255 & e); return a }, n.fromByteArray = function (t) { for (var e, n = t.length, i = n % 3, r = [], o = 0, a = n - i; o < a; o += 16383)r.push(l(t, o, a < o + 16383 ? a : o + 16383)); 1 === i ? (e = t[n - 1], r.push(s[e >> 2] + s[e << 4 & 63] + "==")) : 2 === i && (e = (t[n - 2] << 8) + t[n - 1], r.push(s[e >> 10] + s[e >> 4 & 63] + s[e << 2 & 63] + "=")); return r.join("") }; for (var s = [], p = [], d = "undefined" != typeof Uint8Array ? Uint8Array : Array, i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", r = 0, o = i.length; r < o; ++r)s[r] = i[r], p[i.charCodeAt(r)] = r; function f(t) { var e = t.length; if (0 < e % 4) throw new Error("Invalid string. Length must be a multiple of 4"); var n = t.indexOf("="); return -1 === n && (n = e), [n, n === e ? 0 : 4 - n % 4] } function l(t, e, n) { for (var i, r, o = [], a = e; a < n; a += 3)i = (t[a] << 16 & 16711680) + (t[a + 1] << 8 & 65280) + (255 & t[a + 2]), o.push(s[(r = i) >> 18 & 63] + s[r >> 12 & 63] + s[r >> 6 & 63] + s[63 & r]); return o.join("") } p["-".charCodeAt(0)] = 62, p["_".charCodeAt(0)] = 63 }, {}], 52: [function (t, e, n) { }, {}], 53: [function (t, e, n) { "use strict"; var i = e.exports = { lookup: function (t, e) { var n = t.replace(/.*[\.\/]/, "").toLowerCase(); return this.types[n] || e || this.default_type }, default_type: "application/octet-stream", types: { 123: "application/vnd.lotus-1-2-3", ez: "application/andrew-inset", aw: "application/applixware", atom: "application/atom+xml", atomcat: "application/atomcat+xml", atomsvc: "application/atomsvc+xml", ccxml: "application/ccxml+xml", cdmia: "application/cdmi-capability", cdmic: "application/cdmi-container", cdmid: "application/cdmi-domain", cdmio: "application/cdmi-object", cdmiq: "application/cdmi-queue", cu: "application/cu-seeme", davmount: "application/davmount+xml", dbk: "application/docbook+xml", dssc: "application/dssc+der", xdssc: "application/dssc+xml", ecma: "application/ecmascript", emma: "application/emma+xml", epub: "application/epub+zip", exi: "application/exi", pfr: "application/font-tdpfr", gml: "application/gml+xml", gpx: "application/gpx+xml", gxf: "application/gxf", stk: "application/hyperstudio", ink: "application/inkml+xml", inkml: "application/inkml+xml", ipfix: "application/ipfix", jar: "application/java-archive", ser: "application/java-serialized-object", class: "application/java-vm", js: "application/javascript", json: "application/json", jsonml: "application/jsonml+json", lostxml: "application/lost+xml", hqx: "application/mac-binhex40", cpt: "application/mac-compactpro", mads: "application/mads+xml", mrc: "application/marc", mrcx: "application/marcxml+xml", ma: "application/mathematica", nb: "application/mathematica", mb: "application/mathematica", mathml: "application/mathml+xml", mbox: "application/mbox", mscml: "application/mediaservercontrol+xml", metalink: "application/metalink+xml", meta4: "application/metalink4+xml", mets: "application/mets+xml", mods: "application/mods+xml", m21: "application/mp21", mp21: "application/mp21", mp4s: "application/mp4", doc: "application/msword", dot: "application/msword", mxf: "application/mxf", bin: "application/octet-stream", dms: "application/octet-stream", lrf: "application/octet-stream", mar: "application/octet-stream", so: "application/octet-stream", dist: "application/octet-stream", distz: "application/octet-stream", pkg: "application/octet-stream", bpk: "application/octet-stream", dump: "application/octet-stream", elc: "application/octet-stream", deploy: "application/octet-stream", oda: "application/oda", opf: "application/oebps-package+xml", ogx: "application/ogg", omdoc: "application/omdoc+xml", onetoc: "application/onenote", onetoc2: "application/onenote", onetmp: "application/onenote", onepkg: "application/onenote", oxps: "application/oxps", xer: "application/patch-ops-error+xml", pdf: "application/pdf", pgp: "application/pgp-encrypted", asc: "application/pgp-signature", sig: "application/pgp-signature", prf: "application/pics-rules", p10: "application/pkcs10", p7m: "application/pkcs7-mime", p7c: "application/pkcs7-mime", p7s: "application/pkcs7-signature", p8: "application/pkcs8", ac: "application/pkix-attr-cert", cer: "application/pkix-cert", crl: "application/pkix-crl", pkipath: "application/pkix-pkipath", pki: "application/pkixcmp", pls: "application/pls+xml", ai: "application/postscript", eps: "application/postscript", ps: "application/postscript", cww: "application/prs.cww", pskcxml: "application/pskc+xml", rdf: "application/rdf+xml", rif: "application/reginfo+xml", rnc: "application/relax-ng-compact-syntax", rl: "application/resource-lists+xml", rld: "application/resource-lists-diff+xml", rs: "application/rls-services+xml", gbr: "application/rpki-ghostbusters", mft: "application/rpki-manifest", roa: "application/rpki-roa", rsd: "application/rsd+xml", rss: "application/rss+xml", rtf: "application/rtf", sbml: "application/sbml+xml", scq: "application/scvp-cv-request", scs: "application/scvp-cv-response", spq: "application/scvp-vp-request", spp: "application/scvp-vp-response", sdp: "application/sdp", setpay: "application/set-payment-initiation", setreg: "application/set-registration-initiation", shf: "application/shf+xml", smi: "application/smil+xml", smil: "application/smil+xml", rq: "application/sparql-query", srx: "application/sparql-results+xml", gram: "application/srgs", grxml: "application/srgs+xml", sru: "application/sru+xml", ssdl: "application/ssdl+xml", ssml: "application/ssml+xml", tei: "application/tei+xml", teicorpus: "application/tei+xml", tfi: "application/thraud+xml", tsd: "application/timestamped-data", plb: "application/vnd.3gpp.pic-bw-large", psb: "application/vnd.3gpp.pic-bw-small", pvb: "application/vnd.3gpp.pic-bw-var", tcap: "application/vnd.3gpp2.tcap", pwn: "application/vnd.3m.post-it-notes", aso: "application/vnd.accpac.simply.aso", imp: "application/vnd.accpac.simply.imp", acu: "application/vnd.acucobol", atc: "application/vnd.acucorp", acutc: "application/vnd.acucorp", air: "application/vnd.adobe.air-application-installer-package+zip", fcdt: "application/vnd.adobe.formscentral.fcdt", fxp: "application/vnd.adobe.fxp", fxpl: "application/vnd.adobe.fxp", xdp: "application/vnd.adobe.xdp+xml", xfdf: "application/vnd.adobe.xfdf", ahead: "application/vnd.ahead.space", azf: "application/vnd.airzip.filesecure.azf", azs: "application/vnd.airzip.filesecure.azs", azw: "application/vnd.amazon.ebook", acc: "application/vnd.americandynamics.acc", ami: "application/vnd.amiga.ami", apk: "application/vnd.android.package-archive", cii: "application/vnd.anser-web-certificate-issue-initiation", fti: "application/vnd.anser-web-funds-transfer-initiation", atx: "application/vnd.antix.game-component", mpkg: "application/vnd.apple.installer+xml", m3u8: "application/vnd.apple.mpegurl", swi: "application/vnd.aristanetworks.swi", iota: "application/vnd.astraea-software.iota", aep: "application/vnd.audiograph", mpm: "application/vnd.blueice.multipass", bmi: "application/vnd.bmi", rep: "application/vnd.businessobjects", cdxml: "application/vnd.chemdraw+xml", mmd: "application/vnd.chipnuts.karaoke-mmd", cdy: "application/vnd.cinderella", cla: "application/vnd.claymore", rp9: "application/vnd.cloanto.rp9", c4g: "application/vnd.clonk.c4group", c4d: "application/vnd.clonk.c4group", c4f: "application/vnd.clonk.c4group", c4p: "application/vnd.clonk.c4group", c4u: "application/vnd.clonk.c4group", c11amc: "application/vnd.cluetrust.cartomobile-config", c11amz: "application/vnd.cluetrust.cartomobile-config-pkg", csp: "application/vnd.commonspace", cdbcmsg: "application/vnd.contact.cmsg", cmc: "application/vnd.cosmocaller", clkx: "application/vnd.crick.clicker", clkk: "application/vnd.crick.clicker.keyboard", clkp: "application/vnd.crick.clicker.palette", clkt: "application/vnd.crick.clicker.template", clkw: "application/vnd.crick.clicker.wordbank", wbs: "application/vnd.criticaltools.wbs+xml", pml: "application/vnd.ctc-posml", ppd: "application/vnd.cups-ppd", car: "application/vnd.curl.car", pcurl: "application/vnd.curl.pcurl", dart: "application/vnd.dart", rdz: "application/vnd.data-vision.rdz", uvf: "application/vnd.dece.data", uvvf: "application/vnd.dece.data", uvd: "application/vnd.dece.data", uvvd: "application/vnd.dece.data", uvt: "application/vnd.dece.ttml+xml", uvvt: "application/vnd.dece.ttml+xml", uvx: "application/vnd.dece.unspecified", uvvx: "application/vnd.dece.unspecified", uvz: "application/vnd.dece.zip", uvvz: "application/vnd.dece.zip", fe_launch: "application/vnd.denovo.fcselayout-link", dna: "application/vnd.dna", mlp: "application/vnd.dolby.mlp", dpg: "application/vnd.dpgraph", dfac: "application/vnd.dreamfactory", kpxx: "application/vnd.ds-keypoint", ait: "application/vnd.dvb.ait", svc: "application/vnd.dvb.service", geo: "application/vnd.dynageo", mag: "application/vnd.ecowin.chart", nml: "application/vnd.enliven", esf: "application/vnd.epson.esf", msf: "application/vnd.epson.msf", qam: "application/vnd.epson.quickanime", slt: "application/vnd.epson.salt", ssf: "application/vnd.epson.ssf", es3: "application/vnd.eszigno3+xml", et3: "application/vnd.eszigno3+xml", ez2: "application/vnd.ezpix-album", ez3: "application/vnd.ezpix-package", fdf: "application/vnd.fdf", mseed: "application/vnd.fdsn.mseed", seed: "application/vnd.fdsn.seed", dataless: "application/vnd.fdsn.seed", gph: "application/vnd.flographit", ftc: "application/vnd.fluxtime.clip", fm: "application/vnd.framemaker", frame: "application/vnd.framemaker", maker: "application/vnd.framemaker", book: "application/vnd.framemaker", fnc: "application/vnd.frogans.fnc", ltf: "application/vnd.frogans.ltf", fsc: "application/vnd.fsc.weblaunch", oas: "application/vnd.fujitsu.oasys", oa2: "application/vnd.fujitsu.oasys2", oa3: "application/vnd.fujitsu.oasys3", fg5: "application/vnd.fujitsu.oasysgp", bh2: "application/vnd.fujitsu.oasysprs", ddd: "application/vnd.fujixerox.ddd", xdw: "application/vnd.fujixerox.docuworks", xbd: "application/vnd.fujixerox.docuworks.binder", fzs: "application/vnd.fuzzysheet", txd: "application/vnd.genomatix.tuxedo", ggb: "application/vnd.geogebra.file", ggt: "application/vnd.geogebra.tool", gex: "application/vnd.geometry-explorer", gre: "application/vnd.geometry-explorer", gxt: "application/vnd.geonext", g2w: "application/vnd.geoplan", g3w: "application/vnd.geospace", gmx: "application/vnd.gmx", kml: "application/vnd.google-earth.kml+xml", kmz: "application/vnd.google-earth.kmz", gqf: "application/vnd.grafeq", gqs: "application/vnd.grafeq", gac: "application/vnd.groove-account", ghf: "application/vnd.groove-help", gim: "application/vnd.groove-identity-message", grv: "application/vnd.groove-injector", gtm: "application/vnd.groove-tool-message", tpl: "application/vnd.groove-tool-template", vcg: "application/vnd.groove-vcard", hal: "application/vnd.hal+xml", zmm: "application/vnd.handheld-entertainment+xml", hbci: "application/vnd.hbci", les: "application/vnd.hhe.lesson-player", hpgl: "application/vnd.hp-hpgl", hpid: "application/vnd.hp-hpid", hps: "application/vnd.hp-hps", jlt: "application/vnd.hp-jlyt", pcl: "application/vnd.hp-pcl", pclxl: "application/vnd.hp-pclxl", "sfd-hdstx": "application/vnd.hydrostatix.sof-data", mpy: "application/vnd.ibm.minipay", afp: "application/vnd.ibm.modcap", listafp: "application/vnd.ibm.modcap", list3820: "application/vnd.ibm.modcap", irm: "application/vnd.ibm.rights-management", sc: "application/vnd.ibm.secure-container", icc: "application/vnd.iccprofile", icm: "application/vnd.iccprofile", igl: "application/vnd.igloader", ivp: "application/vnd.immervision-ivp", ivu: "application/vnd.immervision-ivu", igm: "application/vnd.insors.igm", xpw: "application/vnd.intercon.formnet", xpx: "application/vnd.intercon.formnet", i2g: "application/vnd.intergeo", qbo: "application/vnd.intu.qbo", qfx: "application/vnd.intu.qfx", rcprofile: "application/vnd.ipunplugged.rcprofile", irp: "application/vnd.irepository.package+xml", xpr: "application/vnd.is-xpr", fcs: "application/vnd.isac.fcs", jam: "application/vnd.jam", rms: "application/vnd.jcp.javame.midlet-rms", jisp: "application/vnd.jisp", joda: "application/vnd.joost.joda-archive", ktz: "application/vnd.kahootz", ktr: "application/vnd.kahootz", karbon: "application/vnd.kde.karbon", chrt: "application/vnd.kde.kchart", kfo: "application/vnd.kde.kformula", flw: "application/vnd.kde.kivio", kon: "application/vnd.kde.kontour", kpr: "application/vnd.kde.kpresenter", kpt: "application/vnd.kde.kpresenter", ksp: "application/vnd.kde.kspread", kwd: "application/vnd.kde.kword", kwt: "application/vnd.kde.kword", htke: "application/vnd.kenameaapp", kia: "application/vnd.kidspiration", kne: "application/vnd.kinar", knp: "application/vnd.kinar", skp: "application/vnd.koan", skd: "application/vnd.koan", skt: "application/vnd.koan", skm: "application/vnd.koan", sse: "application/vnd.kodak-descriptor", lasxml: "application/vnd.las.las+xml", lbd: "application/vnd.llamagraphics.life-balance.desktop", lbe: "application/vnd.llamagraphics.life-balance.exchange+xml", apr: "application/vnd.lotus-approach", pre: "application/vnd.lotus-freelance", nsf: "application/vnd.lotus-notes", org: "application/vnd.lotus-organizer", scm: "application/vnd.lotus-screencam", lwp: "application/vnd.lotus-wordpro", portpkg: "application/vnd.macports.portpkg", mcd: "application/vnd.mcd", mc1: "application/vnd.medcalcdata", cdkey: "application/vnd.mediastation.cdkey", mwf: "application/vnd.mfer", mfm: "application/vnd.mfmp", flo: "application/vnd.micrografx.flo", igx: "application/vnd.micrografx.igx", mif: "application/vnd.mif", daf: "application/vnd.mobius.daf", dis: "application/vnd.mobius.dis", mbk: "application/vnd.mobius.mbk", mqy: "application/vnd.mobius.mqy", msl: "application/vnd.mobius.msl", plc: "application/vnd.mobius.plc", txf: "application/vnd.mobius.txf", mpn: "application/vnd.mophun.application", mpc: "application/vnd.mophun.certificate", xul: "application/vnd.mozilla.xul+xml", cil: "application/vnd.ms-artgalry", cab: "application/vnd.ms-cab-compressed", xls: "application/vnd.ms-excel", xlm: "application/vnd.ms-excel", xla: "application/vnd.ms-excel", xlc: "application/vnd.ms-excel", xlt: "application/vnd.ms-excel", xlw: "application/vnd.ms-excel", xlam: "application/vnd.ms-excel.addin.macroenabled.12", xlsb: "application/vnd.ms-excel.sheet.binary.macroenabled.12", xlsm: "application/vnd.ms-excel.sheet.macroenabled.12", xltm: "application/vnd.ms-excel.template.macroenabled.12", eot: "application/vnd.ms-fontobject", chm: "application/vnd.ms-htmlhelp", ims: "application/vnd.ms-ims", lrm: "application/vnd.ms-lrm", thmx: "application/vnd.ms-officetheme", cat: "application/vnd.ms-pki.seccat", stl: "application/vnd.ms-pki.stl", ppt: "application/vnd.ms-powerpoint", pps: "application/vnd.ms-powerpoint", pot: "application/vnd.ms-powerpoint", ppam: "application/vnd.ms-powerpoint.addin.macroenabled.12", pptm: "application/vnd.ms-powerpoint.presentation.macroenabled.12", sldm: "application/vnd.ms-powerpoint.slide.macroenabled.12", ppsm: "application/vnd.ms-powerpoint.slideshow.macroenabled.12", potm: "application/vnd.ms-powerpoint.template.macroenabled.12", mpp: "application/vnd.ms-project", mpt: "application/vnd.ms-project", docm: "application/vnd.ms-word.document.macroenabled.12", dotm: "application/vnd.ms-word.template.macroenabled.12", wps: "application/vnd.ms-works", wks: "application/vnd.ms-works", wcm: "application/vnd.ms-works", wdb: "application/vnd.ms-works", wpl: "application/vnd.ms-wpl", xps: "application/vnd.ms-xpsdocument", mseq: "application/vnd.mseq", mus: "application/vnd.musician", msty: "application/vnd.muvee.style", taglet: "application/vnd.mynfc", nlu: "application/vnd.neurolanguage.nlu", ntf: "application/vnd.nitf", nitf: "application/vnd.nitf", nnd: "application/vnd.noblenet-directory", nns: "application/vnd.noblenet-sealer", nnw: "application/vnd.noblenet-web", ngdat: "application/vnd.nokia.n-gage.data", "n-gage": "application/vnd.nokia.n-gage.symbian.install", rpst: "application/vnd.nokia.radio-preset", rpss: "application/vnd.nokia.radio-presets", edm: "application/vnd.novadigm.edm", edx: "application/vnd.novadigm.edx", ext: "application/vnd.novadigm.ext", odc: "application/vnd.oasis.opendocument.chart", otc: "application/vnd.oasis.opendocument.chart-template", odb: "application/vnd.oasis.opendocument.database", odf: "application/vnd.oasis.opendocument.formula", odft: "application/vnd.oasis.opendocument.formula-template", odg: "application/vnd.oasis.opendocument.graphics", otg: "application/vnd.oasis.opendocument.graphics-template", odi: "application/vnd.oasis.opendocument.image", oti: "application/vnd.oasis.opendocument.image-template", odp: "application/vnd.oasis.opendocument.presentation", otp: "application/vnd.oasis.opendocument.presentation-template", ods: "application/vnd.oasis.opendocument.spreadsheet", ots: "application/vnd.oasis.opendocument.spreadsheet-template", odt: "application/vnd.oasis.opendocument.text", odm: "application/vnd.oasis.opendocument.text-master", ott: "application/vnd.oasis.opendocument.text-template", oth: "application/vnd.oasis.opendocument.text-web", xo: "application/vnd.olpc-sugar", dd2: "application/vnd.oma.dd2+xml", oxt: "application/vnd.openofficeorg.extension", pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation", sldx: "application/vnd.openxmlformats-officedocument.presentationml.slide", ppsx: "application/vnd.openxmlformats-officedocument.presentationml.slideshow", potx: "application/vnd.openxmlformats-officedocument.presentationml.template", xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template", docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", dotx: "application/vnd.openxmlformats-officedocument.wordprocessingml.template", mgp: "application/vnd.osgeo.mapguide.package", dp: "application/vnd.osgi.dp", esa: "application/vnd.osgi.subsystem", pdb: "application/vnd.palm", pqa: "application/vnd.palm", oprc: "application/vnd.palm", paw: "application/vnd.pawaafile", str: "application/vnd.pg.format", ei6: "application/vnd.pg.osasli", efif: "application/vnd.picsel", wg: "application/vnd.pmi.widget", plf: "application/vnd.pocketlearn", pbd: "application/vnd.powerbuilder6", box: "application/vnd.previewsystems.box", mgz: "application/vnd.proteus.magazine", qps: "application/vnd.publishare-delta-tree", ptid: "application/vnd.pvi.ptid1", qxd: "application/vnd.quark.quarkxpress", qxt: "application/vnd.quark.quarkxpress", qwd: "application/vnd.quark.quarkxpress", qwt: "application/vnd.quark.quarkxpress", qxl: "application/vnd.quark.quarkxpress", qxb: "application/vnd.quark.quarkxpress", bed: "application/vnd.realvnc.bed", mxl: "application/vnd.recordare.musicxml", musicxml: "application/vnd.recordare.musicxml+xml", cryptonote: "application/vnd.rig.cryptonote", cod: "application/vnd.rim.cod", rm: "application/vnd.rn-realmedia", rmvb: "application/vnd.rn-realmedia-vbr", link66: "application/vnd.route66.link66+xml", st: "application/vnd.sailingtracker.track", see: "application/vnd.seemail", sema: "application/vnd.sema", semd: "application/vnd.semd", semf: "application/vnd.semf", ifm: "application/vnd.shana.informed.formdata", itp: "application/vnd.shana.informed.formtemplate", iif: "application/vnd.shana.informed.interchange", ipk: "application/vnd.shana.informed.package", twd: "application/vnd.simtech-mindmapper", twds: "application/vnd.simtech-mindmapper", mmf: "application/vnd.smaf", teacher: "application/vnd.smart.teacher", sdkm: "application/vnd.solent.sdkm+xml", sdkd: "application/vnd.solent.sdkm+xml", dxp: "application/vnd.spotfire.dxp", sfs: "application/vnd.spotfire.sfs", sdc: "application/vnd.stardivision.calc", sda: "application/vnd.stardivision.draw", sdd: "application/vnd.stardivision.impress", smf: "application/vnd.stardivision.math", sdw: "application/vnd.stardivision.writer", vor: "application/vnd.stardivision.writer", sgl: "application/vnd.stardivision.writer-global", smzip: "application/vnd.stepmania.package", sm: "application/vnd.stepmania.stepchart", sxc: "application/vnd.sun.xml.calc", stc: "application/vnd.sun.xml.calc.template", sxd: "application/vnd.sun.xml.draw", std: "application/vnd.sun.xml.draw.template", sxi: "application/vnd.sun.xml.impress", sti: "application/vnd.sun.xml.impress.template", sxm: "application/vnd.sun.xml.math", sxw: "application/vnd.sun.xml.writer", sxg: "application/vnd.sun.xml.writer.global", stw: "application/vnd.sun.xml.writer.template", sus: "application/vnd.sus-calendar", susp: "application/vnd.sus-calendar", svd: "application/vnd.svd", sis: "application/vnd.symbian.install", sisx: "application/vnd.symbian.install", xsm: "application/vnd.syncml+xml", bdm: "application/vnd.syncml.dm+wbxml", xdm: "application/vnd.syncml.dm+xml", tao: "application/vnd.tao.intent-module-archive", pcap: "application/vnd.tcpdump.pcap", cap: "application/vnd.tcpdump.pcap", dmp: "application/vnd.tcpdump.pcap", tmo: "application/vnd.tmobile-livetv", tpt: "application/vnd.trid.tpt", mxs: "application/vnd.triscape.mxs", tra: "application/vnd.trueapp", ufd: "application/vnd.ufdl", ufdl: "application/vnd.ufdl", utz: "application/vnd.uiq.theme", umj: "application/vnd.umajin", unityweb: "application/vnd.unity", uoml: "application/vnd.uoml+xml", vcx: "application/vnd.vcx", vsd: "application/vnd.visio", vst: "application/vnd.visio", vss: "application/vnd.visio", vsw: "application/vnd.visio", vis: "application/vnd.visionary", vsf: "application/vnd.vsf", wbxml: "application/vnd.wap.wbxml", wmlc: "application/vnd.wap.wmlc", wmlsc: "application/vnd.wap.wmlscriptc", wtb: "application/vnd.webturbo", nbp: "application/vnd.wolfram.player", wpd: "application/vnd.wordperfect", wqd: "application/vnd.wqd", stf: "application/vnd.wt.stf", xar: "application/vnd.xara", xfdl: "application/vnd.xfdl", hvd: "application/vnd.yamaha.hv-dic", hvs: "application/vnd.yamaha.hv-script", hvp: "application/vnd.yamaha.hv-voice", osf: "application/vnd.yamaha.openscoreformat", osfpvg: "application/vnd.yamaha.openscoreformat.osfpvg+xml", saf: "application/vnd.yamaha.smaf-audio", spf: "application/vnd.yamaha.smaf-phrase", cmp: "application/vnd.yellowriver-custom-menu", zir: "application/vnd.zul", zirz: "application/vnd.zul", zaz: "application/vnd.zzazz.deck+xml", vxml: "application/voicexml+xml", wgt: "application/widget", hlp: "application/winhlp", wsdl: "application/wsdl+xml", wspolicy: "application/wspolicy+xml", "7z": "application/x-7z-compressed", abw: "application/x-abiword", ace: "application/x-ace-compressed", dmg: "application/x-apple-diskimage", aab: "application/x-authorware-bin", x32: "application/x-authorware-bin", u32: "application/x-authorware-bin", vox: "application/x-authorware-bin", aam: "application/x-authorware-map", aas: "application/x-authorware-seg", bcpio: "application/x-bcpio", torrent: "application/x-bittorrent", blb: "application/x-blorb", blorb: "application/x-blorb", bz: "application/x-bzip", bz2: "application/x-bzip2", boz: "application/x-bzip2", cbr: "application/x-cbr", cba: "application/x-cbr", cbt: "application/x-cbr", cbz: "application/x-cbr", cb7: "application/x-cbr", vcd: "application/x-cdlink", cfs: "application/x-cfs-compressed", chat: "application/x-chat", pgn: "application/x-chess-pgn", nsc: "application/x-conference", cpio: "application/x-cpio", csh: "application/x-csh", deb: "application/x-debian-package", udeb: "application/x-debian-package", dgc: "application/x-dgc-compressed", dir: "application/x-director", dcr: "application/x-director", dxr: "application/x-director", cst: "application/x-director", cct: "application/x-director", cxt: "application/x-director", w3d: "application/x-director", fgd: "application/x-director", swa: "application/x-director", wad: "application/x-doom", ncx: "application/x-dtbncx+xml", dtb: "application/x-dtbook+xml", res: "application/x-dtbresource+xml", dvi: "application/x-dvi", evy: "application/x-envoy", eva: "application/x-eva", bdf: "application/x-font-bdf", gsf: "application/x-font-ghostscript", psf: "application/x-font-linux-psf", otf: "application/x-font-otf", pcf: "application/x-font-pcf", snf: "application/x-font-snf", ttf: "application/x-font-ttf", ttc: "application/x-font-ttf", pfa: "application/x-font-type1", pfb: "application/x-font-type1", pfm: "application/x-font-type1", afm: "application/x-font-type1", woff: "application/x-font-woff", arc: "application/x-freearc", spl: "application/x-futuresplash", gca: "application/x-gca-compressed", ulx: "application/x-glulx", gnumeric: "application/x-gnumeric", gramps: "application/x-gramps-xml", gtar: "application/x-gtar", hdf: "application/x-hdf", install: "application/x-install-instructions", iso: "application/x-iso9660-image", jnlp: "application/x-java-jnlp-file", latex: "application/x-latex", lzh: "application/x-lzh-compressed", lha: "application/x-lzh-compressed", mie: "application/x-mie", prc: "application/x-mobipocket-ebook", mobi: "application/x-mobipocket-ebook", application: "application/x-ms-application", lnk: "application/x-ms-shortcut", wmd: "application/x-ms-wmd", wmz: "application/x-msmetafile", xbap: "application/x-ms-xbap", mdb: "application/x-msaccess", obd: "application/x-msbinder", crd: "application/x-mscardfile", clp: "application/x-msclip", exe: "application/x-msdownload", dll: "application/x-msdownload", com: "application/x-msdownload", bat: "application/x-msdownload", msi: "application/x-msdownload", mvb: "application/x-msmediaview", m13: "application/x-msmediaview", m14: "application/x-msmediaview", wmf: "application/x-msmetafile", emf: "application/x-msmetafile", emz: "application/x-msmetafile", mny: "application/x-msmoney", pub: "application/x-mspublisher", scd: "application/x-msschedule", trm: "application/x-msterminal", wri: "application/x-mswrite", nc: "application/x-netcdf", cdf: "application/x-netcdf", nzb: "application/x-nzb", p12: "application/x-pkcs12", pfx: "application/x-pkcs12", p7b: "application/x-pkcs7-certificates", spc: "application/x-pkcs7-certificates", p7r: "application/x-pkcs7-certreqresp", rar: "application/x-rar-compressed", ris: "application/x-research-info-systems", sh: "application/x-sh", shar: "application/x-shar", swf: "application/x-shockwave-flash", xap: "application/x-silverlight-app", sql: "application/x-sql", sit: "application/x-stuffit", sitx: "application/x-stuffitx", srt: "application/x-subrip", sv4cpio: "application/x-sv4cpio", sv4crc: "application/x-sv4crc", t3: "application/x-t3vm-image", gam: "application/x-tads", tar: "application/x-tar", tcl: "application/x-tcl", tex: "application/x-tex", tfm: "application/x-tex-tfm", texinfo: "application/x-texinfo", texi: "application/x-texinfo", obj: "application/x-tgif", ustar: "application/x-ustar", src: "application/x-wais-source", der: "application/x-x509-ca-cert", crt: "application/x-x509-ca-cert", fig: "application/x-xfig", xlf: "application/x-xliff+xml", xpi: "application/x-xpinstall", xz: "application/x-xz", z1: "application/x-zmachine", z2: "application/x-zmachine", z3: "application/x-zmachine", z4: "application/x-zmachine", z5: "application/x-zmachine", z6: "application/x-zmachine", z7: "application/x-zmachine", z8: "application/x-zmachine", xaml: "application/xaml+xml", xdf: "application/xcap-diff+xml", xenc: "application/xenc+xml", xhtml: "application/xhtml+xml", xht: "application/xhtml+xml", xml: "application/xml", xsl: "application/xml", dtd: "application/xml-dtd", xop: "application/xop+xml", xpl: "application/xproc+xml", xslt: "application/xslt+xml", xspf: "application/xspf+xml", mxml: "application/xv+xml", xhvml: "application/xv+xml", xvml: "application/xv+xml", xvm: "application/xv+xml", yang: "application/yang", yin: "application/yin+xml", zip: "application/zip", adp: "audio/adpcm", au: "audio/basic", snd: "audio/basic", mid: "audio/midi", midi: "audio/midi", kar: "audio/midi", rmi: "audio/midi", mp4a: "audio/mp4", mpga: "audio/mpeg", mp2: "audio/mpeg", mp2a: "audio/mpeg", mp3: "audio/mpeg", m2a: "audio/mpeg", m3a: "audio/mpeg", oga: "audio/ogg", ogg: "audio/ogg", spx: "audio/ogg", s3m: "audio/s3m", sil: "audio/silk", uva: "audio/vnd.dece.audio", uvva: "audio/vnd.dece.audio", eol: "audio/vnd.digital-winds", dra: "audio/vnd.dra", dts: "audio/vnd.dts", dtshd: "audio/vnd.dts.hd", lvp: "audio/vnd.lucent.voice", pya: "audio/vnd.ms-playready.media.pya", ecelp4800: "audio/vnd.nuera.ecelp4800", ecelp7470: "audio/vnd.nuera.ecelp7470", ecelp9600: "audio/vnd.nuera.ecelp9600", rip: "audio/vnd.rip", weba: "audio/webm", aac: "audio/x-aac", aif: "audio/x-aiff", aiff: "audio/x-aiff", aifc: "audio/x-aiff", caf: "audio/x-caf", flac: "audio/x-flac", mka: "audio/x-matroska", m3u: "audio/x-mpegurl", wax: "audio/x-ms-wax", wma: "audio/x-ms-wma", ram: "audio/x-pn-realaudio", ra: "audio/x-pn-realaudio", rmp: "audio/x-pn-realaudio-plugin", wav: "audio/x-wav", xm: "audio/xm", cdx: "chemical/x-cdx", cif: "chemical/x-cif", cmdf: "chemical/x-cmdf", cml: "chemical/x-cml", csml: "chemical/x-csml", xyz: "chemical/x-xyz", bmp: "image/bmp", cgm: "image/cgm", g3: "image/g3fax", gif: "image/gif", ief: "image/ief", jpeg: "image/jpeg", jpg: "image/jpeg", jpe: "image/jpeg", ktx: "image/ktx", png: "image/png", btif: "image/prs.btif", sgi: "image/sgi", svg: "image/svg+xml", svgz: "image/svg+xml", tiff: "image/tiff", tif: "image/tiff", psd: "image/vnd.adobe.photoshop", uvi: "image/vnd.dece.graphic", uvvi: "image/vnd.dece.graphic", uvg: "image/vnd.dece.graphic", uvvg: "image/vnd.dece.graphic", sub: "text/vnd.dvb.subtitle", djvu: "image/vnd.djvu", djv: "image/vnd.djvu", dwg: "image/vnd.dwg", dxf: "image/vnd.dxf", fbs: "image/vnd.fastbidsheet", fpx: "image/vnd.fpx", fst: "image/vnd.fst", mmr: "image/vnd.fujixerox.edmics-mmr", rlc: "image/vnd.fujixerox.edmics-rlc", mdi: "image/vnd.ms-modi", wdp: "image/vnd.ms-photo", npx: "image/vnd.net-fpx", wbmp: "image/vnd.wap.wbmp", xif: "image/vnd.xiff", webp: "image/webp", "3ds": "image/x-3ds", ras: "image/x-cmu-raster", cmx: "image/x-cmx", fh: "image/x-freehand", fhc: "image/x-freehand", fh4: "image/x-freehand", fh5: "image/x-freehand", fh7: "image/x-freehand", ico: "image/x-icon", sid: "image/x-mrsid-image", pcx: "image/x-pcx", pic: "image/x-pict", pct: "image/x-pict", pnm: "image/x-portable-anymap", pbm: "image/x-portable-bitmap", pgm: "image/x-portable-graymap", ppm: "image/x-portable-pixmap", rgb: "image/x-rgb", tga: "image/x-tga", xbm: "image/x-xbitmap", xpm: "image/x-xpixmap", xwd: "image/x-xwindowdump", eml: "message/rfc822", mime: "message/rfc822", igs: "model/iges", iges: "model/iges", msh: "model/mesh", mesh: "model/mesh", silo: "model/mesh", dae: "model/vnd.collada+xml", dwf: "model/vnd.dwf", gdl: "model/vnd.gdl", gtw: "model/vnd.gtw", mts: "model/vnd.mts", vtu: "model/vnd.vtu", wrl: "model/vrml", vrml: "model/vrml", x3db: "model/x3d+binary", x3dbz: "model/x3d+binary", x3dv: "model/x3d+vrml", x3dvz: "model/x3d+vrml", x3d: "model/x3d+xml", x3dz: "model/x3d+xml", appcache: "text/cache-manifest", ics: "text/calendar", ifb: "text/calendar", css: "text/css", csv: "text/csv", html: "text/html", htm: "text/html", n3: "text/n3", txt: "text/plain", text: "text/plain", conf: "text/plain", def: "text/plain", list: "text/plain", log: "text/plain", in: "text/plain", dsc: "text/prs.lines.tag", rtx: "text/richtext", sgml: "text/sgml", sgm: "text/sgml", tsv: "text/tab-separated-values", t: "text/troff", tr: "text/troff", roff: "text/troff", man: "text/troff", me: "text/troff", ms: "text/troff", ttl: "text/turtle", uri: "text/uri-list", uris: "text/uri-list", urls: "text/uri-list", vcard: "text/vcard", curl: "text/vnd.curl", dcurl: "text/vnd.curl.dcurl", scurl: "text/vnd.curl.scurl", mcurl: "text/vnd.curl.mcurl", fly: "text/vnd.fly", flx: "text/vnd.fmi.flexstor", gv: "text/vnd.graphviz", "3dml": "text/vnd.in3d.3dml", spot: "text/vnd.in3d.spot", jad: "text/vnd.sun.j2me.app-descriptor", wml: "text/vnd.wap.wml", wmls: "text/vnd.wap.wmlscript", s: "text/x-asm", asm: "text/x-asm", c: "text/x-c", cc: "text/x-c", cxx: "text/x-c", cpp: "text/x-c", h: "text/x-c", hh: "text/x-c", dic: "text/x-c", f: "text/x-fortran", for: "text/x-fortran", f77: "text/x-fortran", f90: "text/x-fortran", java: "text/x-java-source", opml: "text/x-opml", p: "text/x-pascal", pas: "text/x-pascal", nfo: "text/x-nfo", etx: "text/x-setext", sfv: "text/x-sfv", uu: "text/x-uuencode", vcs: "text/x-vcalendar", vcf: "text/x-vcard", "3gp": "video/3gpp", "3g2": "video/3gpp2", h261: "video/h261", h263: "video/h263", h264: "video/h264", jpgv: "video/jpeg", jpm: "video/jpm", jpgm: "video/jpm", mj2: "video/mj2", mjp2: "video/mj2", mp4: "video/mp4", mp4v: "video/mp4", mpg4: "video/mp4", mpeg: "video/mpeg", mpg: "video/mpeg", mpe: "video/mpeg", m1v: "video/mpeg", m2v: "video/mpeg", ogv: "video/ogg", qt: "video/quicktime", mov: "video/quicktime", uvh: "video/vnd.dece.hd", uvvh: "video/vnd.dece.hd", uvm: "video/vnd.dece.mobile", uvvm: "video/vnd.dece.mobile", uvp: "video/vnd.dece.pd", uvvp: "video/vnd.dece.pd", uvs: "video/vnd.dece.sd", uvvs: "video/vnd.dece.sd", uvv: "video/vnd.dece.video", uvvv: "video/vnd.dece.video", dvb: "video/vnd.dvb.file", fvt: "video/vnd.fvt", mxu: "video/vnd.mpegurl", m4u: "video/vnd.mpegurl", pyv: "video/vnd.ms-playready.media.pyv", uvu: "video/vnd.uvvu.mp4", uvvu: "video/vnd.uvvu.mp4", viv: "video/vnd.vivo", webm: "video/webm", f4v: "video/x-f4v", fli: "video/x-fli", flv: "video/x-flv", m4v: "video/x-m4v", mkv: "video/x-matroska", mk3d: "video/x-matroska", mks: "video/x-matroska", mng: "video/x-mng", asf: "video/x-ms-asf", asx: "video/x-ms-asf", vob: "video/x-ms-vob", wm: "video/x-ms-wm", wmv: "video/x-ms-wmv", wmx: "video/x-ms-wmx", wvx: "video/x-ms-wvx", avi: "video/x-msvideo", movie: "video/x-sgi-movie", smv: "video/x-smv", ice: "x-conference/x-cooltalk", vtt: "text/vtt", crx: "application/x-chrome-extension", htc: "text/x-component", manifest: "text/cache-manifest", buffer: "application/octet-stream", m4p: "application/mp4", m4a: "audio/mp4", ts: "video/MP2T", "event-stream": "text/event-stream", webapp: "application/x-web-app-manifest+json", lua: "text/x-lua", luac: "application/x-lua-bytecode", markdown: "text/x-markdown", md: "text/x-markdown", mkd: "text/x-markdown" }, extensions: { "application/andrew-inset": "ez", "application/applixware": "aw", "application/atom+xml": "atom", "application/atomcat+xml": "atomcat", "application/atomsvc+xml": "atomsvc", "application/ccxml+xml": "ccxml", "application/cdmi-capability": "cdmia", "application/cdmi-container": "cdmic", "application/cdmi-domain": "cdmid", "application/cdmi-object": "cdmio", "application/cdmi-queue": "cdmiq", "application/cu-seeme": "cu", "application/davmount+xml": "davmount", "application/docbook+xml": "dbk", "application/dssc+der": "dssc", "application/dssc+xml": "xdssc", "application/ecmascript": "ecma", "application/emma+xml": "emma", "application/epub+zip": "epub", "application/exi": "exi", "application/font-tdpfr": "pfr", "application/gml+xml": "gml", "application/gpx+xml": "gpx", "application/gxf": "gxf", "application/hyperstudio": "stk", "application/inkml+xml": "ink", "application/ipfix": "ipfix", "application/java-archive": "jar", "application/java-serialized-object": "ser", "application/java-vm": "class", "application/javascript": "js", "application/json": "json", "application/jsonml+json": "jsonml", "application/lost+xml": "lostxml", "application/mac-binhex40": "hqx", "application/mac-compactpro": "cpt", "application/mads+xml": "mads", "application/marc": "mrc", "application/marcxml+xml": "mrcx", "application/mathematica": "ma", "application/mathml+xml": "mathml", "application/mbox": "mbox", "application/mediaservercontrol+xml": "mscml", "application/metalink+xml": "metalink", "application/metalink4+xml": "meta4", "application/mets+xml": "mets", "application/mods+xml": "mods", "application/mp21": "m21", "application/mp4": "mp4s", "application/msword": "doc", "application/mxf": "mxf", "application/octet-stream": "bin", "application/oda": "oda", "application/oebps-package+xml": "opf", "application/ogg": "ogx", "application/omdoc+xml": "omdoc", "application/onenote": "onetoc", "application/oxps": "oxps", "application/patch-ops-error+xml": "xer", "application/pdf": "pdf", "application/pgp-encrypted": "pgp", "application/pgp-signature": "asc", "application/pics-rules": "prf", "application/pkcs10": "p10", "application/pkcs7-mime": "p7m", "application/pkcs7-signature": "p7s", "application/pkcs8": "p8", "application/pkix-attr-cert": "ac", "application/pkix-cert": "cer", "application/pkix-crl": "crl", "application/pkix-pkipath": "pkipath", "application/pkixcmp": "pki", "application/pls+xml": "pls", "application/postscript": "ai", "application/prs.cww": "cww", "application/pskc+xml": "pskcxml", "application/rdf+xml": "rdf", "application/reginfo+xml": "rif", "application/relax-ng-compact-syntax": "rnc", "application/resource-lists+xml": "rl", "application/resource-lists-diff+xml": "rld", "application/rls-services+xml": "rs", "application/rpki-ghostbusters": "gbr", "application/rpki-manifest": "mft", "application/rpki-roa": "roa", "application/rsd+xml": "rsd", "application/rss+xml": "rss", "application/rtf": "rtf", "application/sbml+xml": "sbml", "application/scvp-cv-request": "scq", "application/scvp-cv-response": "scs", "application/scvp-vp-request": "spq", "application/scvp-vp-response": "spp", "application/sdp": "sdp", "application/set-payment-initiation": "setpay", "application/set-registration-initiation": "setreg", "application/shf+xml": "shf", "application/smil+xml": "smi", "application/sparql-query": "rq", "application/sparql-results+xml": "srx", "application/srgs": "gram", "application/srgs+xml": "grxml", "application/sru+xml": "sru", "application/ssdl+xml": "ssdl", "application/ssml+xml": "ssml", "application/tei+xml": "tei", "application/thraud+xml": "tfi", "application/timestamped-data": "tsd", "application/vnd.3gpp.pic-bw-large": "plb", "application/vnd.3gpp.pic-bw-small": "psb", "application/vnd.3gpp.pic-bw-var": "pvb", "application/vnd.3gpp2.tcap": "tcap", "application/vnd.3m.post-it-notes": "pwn", "application/vnd.accpac.simply.aso": "aso", "application/vnd.accpac.simply.imp": "imp", "application/vnd.acucobol": "acu", "application/vnd.acucorp": "atc", "application/vnd.adobe.air-application-installer-package+zip": "air", "application/vnd.adobe.formscentral.fcdt": "fcdt", "application/vnd.adobe.fxp": "fxp", "application/vnd.adobe.xdp+xml": "xdp", "application/vnd.adobe.xfdf": "xfdf", "application/vnd.ahead.space": "ahead", "application/vnd.airzip.filesecure.azf": "azf", "application/vnd.airzip.filesecure.azs": "azs", "application/vnd.amazon.ebook": "azw", "application/vnd.americandynamics.acc": "acc", "application/vnd.amiga.ami": "ami", "application/vnd.android.package-archive": "apk", "application/vnd.anser-web-certificate-issue-initiation": "cii", "application/vnd.anser-web-funds-transfer-initiation": "fti", "application/vnd.antix.game-component": "atx", "application/vnd.apple.installer+xml": "mpkg", "application/vnd.apple.mpegurl": "m3u8", "application/vnd.aristanetworks.swi": "swi", "application/vnd.astraea-software.iota": "iota", "application/vnd.audiograph": "aep", "application/vnd.blueice.multipass": "mpm", "application/vnd.bmi": "bmi", "application/vnd.businessobjects": "rep", "application/vnd.chemdraw+xml": "cdxml", "application/vnd.chipnuts.karaoke-mmd": "mmd", "application/vnd.cinderella": "cdy", "application/vnd.claymore": "cla", "application/vnd.cloanto.rp9": "rp9", "application/vnd.clonk.c4group": "c4g", "application/vnd.cluetrust.cartomobile-config": "c11amc", "application/vnd.cluetrust.cartomobile-config-pkg": "c11amz", "application/vnd.commonspace": "csp", "application/vnd.contact.cmsg": "cdbcmsg", "application/vnd.cosmocaller": "cmc", "application/vnd.crick.clicker": "clkx", "application/vnd.crick.clicker.keyboard": "clkk", "application/vnd.crick.clicker.palette": "clkp", "application/vnd.crick.clicker.template": "clkt", "application/vnd.crick.clicker.wordbank": "clkw", "application/vnd.criticaltools.wbs+xml": "wbs", "application/vnd.ctc-posml": "pml", "application/vnd.cups-ppd": "ppd", "application/vnd.curl.car": "car", "application/vnd.curl.pcurl": "pcurl", "application/vnd.dart": "dart", "application/vnd.data-vision.rdz": "rdz", "application/vnd.dece.data": "uvf", "application/vnd.dece.ttml+xml": "uvt", "application/vnd.dece.unspecified": "uvx", "application/vnd.dece.zip": "uvz", "application/vnd.denovo.fcselayout-link": "fe_launch", "application/vnd.dna": "dna", "application/vnd.dolby.mlp": "mlp", "application/vnd.dpgraph": "dpg", "application/vnd.dreamfactory": "dfac", "application/vnd.ds-keypoint": "kpxx", "application/vnd.dvb.ait": "ait", "application/vnd.dvb.service": "svc", "application/vnd.dynageo": "geo", "application/vnd.ecowin.chart": "mag", "application/vnd.enliven": "nml", "application/vnd.epson.esf": "esf", "application/vnd.epson.msf": "msf", "application/vnd.epson.quickanime": "qam", "application/vnd.epson.salt": "slt", "application/vnd.epson.ssf": "ssf", "application/vnd.eszigno3+xml": "es3", "application/vnd.ezpix-album": "ez2", "application/vnd.ezpix-package": "ez3", "application/vnd.fdf": "fdf", "application/vnd.fdsn.mseed": "mseed", "application/vnd.fdsn.seed": "seed", "application/vnd.flographit": "gph", "application/vnd.fluxtime.clip": "ftc", "application/vnd.framemaker": "fm", "application/vnd.frogans.fnc": "fnc", "application/vnd.frogans.ltf": "ltf", "application/vnd.fsc.weblaunch": "fsc", "application/vnd.fujitsu.oasys": "oas", "application/vnd.fujitsu.oasys2": "oa2", "application/vnd.fujitsu.oasys3": "oa3", "application/vnd.fujitsu.oasysgp": "fg5", "application/vnd.fujitsu.oasysprs": "bh2", "application/vnd.fujixerox.ddd": "ddd", "application/vnd.fujixerox.docuworks": "xdw", "application/vnd.fujixerox.docuworks.binder": "xbd", "application/vnd.fuzzysheet": "fzs", "application/vnd.genomatix.tuxedo": "txd", "application/vnd.geogebra.file": "ggb", "application/vnd.geogebra.tool": "ggt", "application/vnd.geometry-explorer": "gex", "application/vnd.geonext": "gxt", "application/vnd.geoplan": "g2w", "application/vnd.geospace": "g3w", "application/vnd.gmx": "gmx", "application/vnd.google-earth.kml+xml": "kml", "application/vnd.google-earth.kmz": "kmz", "application/vnd.grafeq": "gqf", "application/vnd.groove-account": "gac", "application/vnd.groove-help": "ghf", "application/vnd.groove-identity-message": "gim", "application/vnd.groove-injector": "grv", "application/vnd.groove-tool-message": "gtm", "application/vnd.groove-tool-template": "tpl", "application/vnd.groove-vcard": "vcg", "application/vnd.hal+xml": "hal", "application/vnd.handheld-entertainment+xml": "zmm", "application/vnd.hbci": "hbci", "application/vnd.hhe.lesson-player": "les", "application/vnd.hp-hpgl": "hpgl", "application/vnd.hp-hpid": "hpid", "application/vnd.hp-hps": "hps", "application/vnd.hp-jlyt": "jlt", "application/vnd.hp-pcl": "pcl", "application/vnd.hp-pclxl": "pclxl", "application/vnd.hydrostatix.sof-data": "sfd-hdstx", "application/vnd.ibm.minipay": "mpy", "application/vnd.ibm.modcap": "afp", "application/vnd.ibm.rights-management": "irm", "application/vnd.ibm.secure-container": "sc", "application/vnd.iccprofile": "icc", "application/vnd.igloader": "igl", "application/vnd.immervision-ivp": "ivp", "application/vnd.immervision-ivu": "ivu", "application/vnd.insors.igm": "igm", "application/vnd.intercon.formnet": "xpw", "application/vnd.intergeo": "i2g", "application/vnd.intu.qbo": "qbo", "application/vnd.intu.qfx": "qfx", "application/vnd.ipunplugged.rcprofile": "rcprofile", "application/vnd.irepository.package+xml": "irp", "application/vnd.is-xpr": "xpr", "application/vnd.isac.fcs": "fcs", "application/vnd.jam": "jam", "application/vnd.jcp.javame.midlet-rms": "rms", "application/vnd.jisp": "jisp", "application/vnd.joost.joda-archive": "joda", "application/vnd.kahootz": "ktz", "application/vnd.kde.karbon": "karbon", "application/vnd.kde.kchart": "chrt", "application/vnd.kde.kformula": "kfo", "application/vnd.kde.kivio": "flw", "application/vnd.kde.kontour": "kon", "application/vnd.kde.kpresenter": "kpr", "application/vnd.kde.kspread": "ksp", "application/vnd.kde.kword": "kwd", "application/vnd.kenameaapp": "htke", "application/vnd.kidspiration": "kia", "application/vnd.kinar": "kne", "application/vnd.koan": "skp", "application/vnd.kodak-descriptor": "sse", "application/vnd.las.las+xml": "lasxml", "application/vnd.llamagraphics.life-balance.desktop": "lbd", "application/vnd.llamagraphics.life-balance.exchange+xml": "lbe", "application/vnd.lotus-1-2-3": "123", "application/vnd.lotus-approach": "apr", "application/vnd.lotus-freelance": "pre", "application/vnd.lotus-notes": "nsf", "application/vnd.lotus-organizer": "org", "application/vnd.lotus-screencam": "scm", "application/vnd.lotus-wordpro": "lwp", "application/vnd.macports.portpkg": "portpkg", "application/vnd.mcd": "mcd", "application/vnd.medcalcdata": "mc1", "application/vnd.mediastation.cdkey": "cdkey", "application/vnd.mfer": "mwf", "application/vnd.mfmp": "mfm", "application/vnd.micrografx.flo": "flo", "application/vnd.micrografx.igx": "igx", "application/vnd.mif": "mif", "application/vnd.mobius.daf": "daf", "application/vnd.mobius.dis": "dis", "application/vnd.mobius.mbk": "mbk", "application/vnd.mobius.mqy": "mqy", "application/vnd.mobius.msl": "msl", "application/vnd.mobius.plc": "plc", "application/vnd.mobius.txf": "txf", "application/vnd.mophun.application": "mpn", "application/vnd.mophun.certificate": "mpc", "application/vnd.mozilla.xul+xml": "xul", "application/vnd.ms-artgalry": "cil", "application/vnd.ms-cab-compressed": "cab", "application/vnd.ms-excel": "xls", "application/vnd.ms-excel.addin.macroenabled.12": "xlam", "application/vnd.ms-excel.sheet.binary.macroenabled.12": "xlsb", "application/vnd.ms-excel.sheet.macroenabled.12": "xlsm", "application/vnd.ms-excel.template.macroenabled.12": "xltm", "application/vnd.ms-fontobject": "eot", "application/vnd.ms-htmlhelp": "chm", "application/vnd.ms-ims": "ims", "application/vnd.ms-lrm": "lrm", "application/vnd.ms-officetheme": "thmx", "application/vnd.ms-pki.seccat": "cat", "application/vnd.ms-pki.stl": "stl", "application/vnd.ms-powerpoint": "ppt", "application/vnd.ms-powerpoint.addin.macroenabled.12": "ppam", "application/vnd.ms-powerpoint.presentation.macroenabled.12": "pptm", "application/vnd.ms-powerpoint.slide.macroenabled.12": "sldm", "application/vnd.ms-powerpoint.slideshow.macroenabled.12": "ppsm", "application/vnd.ms-powerpoint.template.macroenabled.12": "potm", "application/vnd.ms-project": "mpp", "application/vnd.ms-word.document.macroenabled.12": "docm", "application/vnd.ms-word.template.macroenabled.12": "dotm", "application/vnd.ms-works": "wps", "application/vnd.ms-wpl": "wpl", "application/vnd.ms-xpsdocument": "xps", "application/vnd.mseq": "mseq", "application/vnd.musician": "mus", "application/vnd.muvee.style": "msty", "application/vnd.mynfc": "taglet", "application/vnd.neurolanguage.nlu": "nlu", "application/vnd.nitf": "ntf", "application/vnd.noblenet-directory": "nnd", "application/vnd.noblenet-sealer": "nns", "application/vnd.noblenet-web": "nnw", "application/vnd.nokia.n-gage.data": "ngdat", "application/vnd.nokia.n-gage.symbian.install": "n-gage", "application/vnd.nokia.radio-preset": "rpst", "application/vnd.nokia.radio-presets": "rpss", "application/vnd.novadigm.edm": "edm", "application/vnd.novadigm.edx": "edx", "application/vnd.novadigm.ext": "ext", "application/vnd.oasis.opendocument.chart": "odc", "application/vnd.oasis.opendocument.chart-template": "otc", "application/vnd.oasis.opendocument.database": "odb", "application/vnd.oasis.opendocument.formula": "odf", "application/vnd.oasis.opendocument.formula-template": "odft", "application/vnd.oasis.opendocument.graphics": "odg", "application/vnd.oasis.opendocument.graphics-template": "otg", "application/vnd.oasis.opendocument.image": "odi", "application/vnd.oasis.opendocument.image-template": "oti", "application/vnd.oasis.opendocument.presentation": "odp", "application/vnd.oasis.opendocument.presentation-template": "otp", "application/vnd.oasis.opendocument.spreadsheet": "ods", "application/vnd.oasis.opendocument.spreadsheet-template": "ots", "application/vnd.oasis.opendocument.text": "odt", "application/vnd.oasis.opendocument.text-master": "odm", "application/vnd.oasis.opendocument.text-template": "ott", "application/vnd.oasis.opendocument.text-web": "oth", "application/vnd.olpc-sugar": "xo", "application/vnd.oma.dd2+xml": "dd2", "application/vnd.openofficeorg.extension": "oxt", "application/vnd.openxmlformats-officedocument.presentationml.presentation": "pptx", "application/vnd.openxmlformats-officedocument.presentationml.slide": "sldx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow": "ppsx", "application/vnd.openxmlformats-officedocument.presentationml.template": "potx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template": "xltx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "dotx", "application/vnd.osgeo.mapguide.package": "mgp", "application/vnd.osgi.dp": "dp", "application/vnd.osgi.subsystem": "esa", "application/vnd.palm": "pdb", "application/vnd.pawaafile": "paw", "application/vnd.pg.format": "str", "application/vnd.pg.osasli": "ei6", "application/vnd.picsel": "efif", "application/vnd.pmi.widget": "wg", "application/vnd.pocketlearn": "plf", "application/vnd.powerbuilder6": "pbd", "application/vnd.previewsystems.box": "box", "application/vnd.proteus.magazine": "mgz", "application/vnd.publishare-delta-tree": "qps", "application/vnd.pvi.ptid1": "ptid", "application/vnd.quark.quarkxpress": "qxd", "application/vnd.realvnc.bed": "bed", "application/vnd.recordare.musicxml": "mxl", "application/vnd.recordare.musicxml+xml": "musicxml", "application/vnd.rig.cryptonote": "cryptonote", "application/vnd.rim.cod": "cod", "application/vnd.rn-realmedia": "rm", "application/vnd.rn-realmedia-vbr": "rmvb", "application/vnd.route66.link66+xml": "link66", "application/vnd.sailingtracker.track": "st", "application/vnd.seemail": "see", "application/vnd.sema": "sema", "application/vnd.semd": "semd", "application/vnd.semf": "semf", "application/vnd.shana.informed.formdata": "ifm", "application/vnd.shana.informed.formtemplate": "itp", "application/vnd.shana.informed.interchange": "iif", "application/vnd.shana.informed.package": "ipk", "application/vnd.simtech-mindmapper": "twd", "application/vnd.smaf": "mmf", "application/vnd.smart.teacher": "teacher", "application/vnd.solent.sdkm+xml": "sdkm", "application/vnd.spotfire.dxp": "dxp", "application/vnd.spotfire.sfs": "sfs", "application/vnd.stardivision.calc": "sdc", "application/vnd.stardivision.draw": "sda", "application/vnd.stardivision.impress": "sdd", "application/vnd.stardivision.math": "smf", "application/vnd.stardivision.writer": "sdw", "application/vnd.stardivision.writer-global": "sgl", "application/vnd.stepmania.package": "smzip", "application/vnd.stepmania.stepchart": "sm", "application/vnd.sun.xml.calc": "sxc", "application/vnd.sun.xml.calc.template": "stc", "application/vnd.sun.xml.draw": "sxd", "application/vnd.sun.xml.draw.template": "std", "application/vnd.sun.xml.impress": "sxi", "application/vnd.sun.xml.impress.template": "sti", "application/vnd.sun.xml.math": "sxm", "application/vnd.sun.xml.writer": "sxw", "application/vnd.sun.xml.writer.global": "sxg", "application/vnd.sun.xml.writer.template": "stw", "application/vnd.sus-calendar": "sus", "application/vnd.svd": "svd", "application/vnd.symbian.install": "sis", "application/vnd.syncml+xml": "xsm", "application/vnd.syncml.dm+wbxml": "bdm", "application/vnd.syncml.dm+xml": "xdm", "application/vnd.tao.intent-module-archive": "tao", "application/vnd.tcpdump.pcap": "pcap", "application/vnd.tmobile-livetv": "tmo", "application/vnd.trid.tpt": "tpt", "application/vnd.triscape.mxs": "mxs", "application/vnd.trueapp": "tra", "application/vnd.ufdl": "ufd", "application/vnd.uiq.theme": "utz", "application/vnd.umajin": "umj", "application/vnd.unity": "unityweb", "application/vnd.uoml+xml": "uoml", "application/vnd.vcx": "vcx", "application/vnd.visio": "vsd", "application/vnd.visionary": "vis", "application/vnd.vsf": "vsf", "application/vnd.wap.wbxml": "wbxml", "application/vnd.wap.wmlc": "wmlc", "application/vnd.wap.wmlscriptc": "wmlsc", "application/vnd.webturbo": "wtb", "application/vnd.wolfram.player": "nbp", "application/vnd.wordperfect": "wpd", "application/vnd.wqd": "wqd", "application/vnd.wt.stf": "stf", "application/vnd.xara": "xar", "application/vnd.xfdl": "xfdl", "application/vnd.yamaha.hv-dic": "hvd", "application/vnd.yamaha.hv-script": "hvs", "application/vnd.yamaha.hv-voice": "hvp", "application/vnd.yamaha.openscoreformat": "osf", "application/vnd.yamaha.openscoreformat.osfpvg+xml": "osfpvg", "application/vnd.yamaha.smaf-audio": "saf", "application/vnd.yamaha.smaf-phrase": "spf", "application/vnd.yellowriver-custom-menu": "cmp", "application/vnd.zul": "zir", "application/vnd.zzazz.deck+xml": "zaz", "application/voicexml+xml": "vxml", "application/widget": "wgt", "application/winhlp": "hlp", "application/wsdl+xml": "wsdl", "application/wspolicy+xml": "wspolicy", "application/x-7z-compressed": "7z", "application/x-abiword": "abw", "application/x-ace-compressed": "ace", "application/x-apple-diskimage": "dmg", "application/x-authorware-bin": "aab", "application/x-authorware-map": "aam", "application/x-authorware-seg": "aas", "application/x-bcpio": "bcpio", "application/x-bittorrent": "torrent", "application/x-blorb": "blb", "application/x-bzip": "bz", "application/x-bzip2": "bz2", "application/x-cbr": "cbr", "application/x-cdlink": "vcd", "application/x-cfs-compressed": "cfs", "application/x-chat": "chat", "application/x-chess-pgn": "pgn", "application/x-conference": "nsc", "application/x-cpio": "cpio", "application/x-csh": "csh", "application/x-debian-package": "deb", "application/x-dgc-compressed": "dgc", "application/x-director": "dir", "application/x-doom": "wad", "application/x-dtbncx+xml": "ncx", "application/x-dtbook+xml": "dtb", "application/x-dtbresource+xml": "res", "application/x-dvi": "dvi", "application/x-envoy": "evy", "application/x-eva": "eva", "application/x-font-bdf": "bdf", "application/x-font-ghostscript": "gsf", "application/x-font-linux-psf": "psf", "application/x-font-otf": "otf", "application/x-font-pcf": "pcf", "application/x-font-snf": "snf", "application/x-font-ttf": "ttf", "application/x-font-type1": "pfa", "application/x-font-woff": "woff", "application/x-freearc": "arc", "application/x-futuresplash": "spl", "application/x-gca-compressed": "gca", "application/x-glulx": "ulx", "application/x-gnumeric": "gnumeric", "application/x-gramps-xml": "gramps", "application/x-gtar": "gtar", "application/x-hdf": "hdf", "application/x-install-instructions": "install", "application/x-iso9660-image": "iso", "application/x-java-jnlp-file": "jnlp", "application/x-latex": "latex", "application/x-lzh-compressed": "lzh", "application/x-mie": "mie", "application/x-mobipocket-ebook": "prc", "application/x-ms-application": "application", "application/x-ms-shortcut": "lnk", "application/x-ms-wmd": "wmd", "application/x-ms-wmz": "wmz", "application/x-ms-xbap": "xbap", "application/x-msaccess": "mdb", "application/x-msbinder": "obd", "application/x-mscardfile": "crd", "application/x-msclip": "clp", "application/x-msdownload": "exe", "application/x-msmediaview": "mvb", "application/x-msmetafile": "wmf", "application/x-msmoney": "mny", "application/x-mspublisher": "pub", "application/x-msschedule": "scd", "application/x-msterminal": "trm", "application/x-mswrite": "wri", "application/x-netcdf": "nc", "application/x-nzb": "nzb", "application/x-pkcs12": "p12", "application/x-pkcs7-certificates": "p7b", "application/x-pkcs7-certreqresp": "p7r", "application/x-rar-compressed": "rar", "application/x-research-info-systems": "ris", "application/x-sh": "sh", "application/x-shar": "shar", "application/x-shockwave-flash": "swf", "application/x-silverlight-app": "xap", "application/x-sql": "sql", "application/x-stuffit": "sit", "application/x-stuffitx": "sitx", "application/x-subrip": "srt", "application/x-sv4cpio": "sv4cpio", "application/x-sv4crc": "sv4crc", "application/x-t3vm-image": "t3", "application/x-tads": "gam", "application/x-tar": "tar", "application/x-tcl": "tcl", "application/x-tex": "tex", "application/x-tex-tfm": "tfm", "application/x-texinfo": "texinfo", "application/x-tgif": "obj", "application/x-ustar": "ustar", "application/x-wais-source": "src", "application/x-x509-ca-cert": "der", "application/x-xfig": "fig", "application/x-xliff+xml": "xlf", "application/x-xpinstall": "xpi", "application/x-xz": "xz", "application/x-zmachine": "z1", "application/xaml+xml": "xaml", "application/xcap-diff+xml": "xdf", "application/xenc+xml": "xenc", "application/xhtml+xml": "xhtml", "application/xml": "xml", "application/xml-dtd": "dtd", "application/xop+xml": "xop", "application/xproc+xml": "xpl", "application/xslt+xml": "xslt", "application/xspf+xml": "xspf", "application/xv+xml": "mxml", "application/yang": "yang", "application/yin+xml": "yin", "application/zip": "zip", "audio/adpcm": "adp", "audio/basic": "au", "audio/midi": "mid", "audio/mp4": "mp4a", "audio/mpeg": "mpga", "audio/ogg": "oga", "audio/s3m": "s3m", "audio/silk": "sil", "audio/vnd.dece.audio": "uva", "audio/vnd.digital-winds": "eol", "audio/vnd.dra": "dra", "audio/vnd.dts": "dts", "audio/vnd.dts.hd": "dtshd", "audio/vnd.lucent.voice": "lvp", "audio/vnd.ms-playready.media.pya": "pya", "audio/vnd.nuera.ecelp4800": "ecelp4800", "audio/vnd.nuera.ecelp7470": "ecelp7470", "audio/vnd.nuera.ecelp9600": "ecelp9600", "audio/vnd.rip": "rip", "audio/webm": "weba", "audio/x-aac": "aac", "audio/x-aiff": "aif", "audio/x-caf": "caf", "audio/x-flac": "flac", "audio/x-matroska": "mka", "audio/x-mpegurl": "m3u", "audio/x-ms-wax": "wax", "audio/x-ms-wma": "wma", "audio/x-pn-realaudio": "ram", "audio/x-pn-realaudio-plugin": "rmp", "audio/x-wav": "wav", "audio/xm": "xm", "chemical/x-cdx": "cdx", "chemical/x-cif": "cif", "chemical/x-cmdf": "cmdf", "chemical/x-cml": "cml", "chemical/x-csml": "csml", "chemical/x-xyz": "xyz", "image/bmp": "bmp", "image/cgm": "cgm", "image/g3fax": "g3", "image/gif": "gif", "image/ief": "ief", "image/jpeg": "jpeg", "image/ktx": "ktx", "image/png": "png", "image/prs.btif": "btif", "image/sgi": "sgi", "image/svg+xml": "svg", "image/tiff": "tiff", "image/vnd.adobe.photoshop": "psd", "image/vnd.dece.graphic": "uvi", "image/vnd.dvb.subtitle": "sub", "image/vnd.djvu": "djvu", "image/vnd.dwg": "dwg", "image/vnd.dxf": "dxf", "image/vnd.fastbidsheet": "fbs", "image/vnd.fpx": "fpx", "image/vnd.fst": "fst", "image/vnd.fujixerox.edmics-mmr": "mmr", "image/vnd.fujixerox.edmics-rlc": "rlc", "image/vnd.ms-modi": "mdi", "image/vnd.ms-photo": "wdp", "image/vnd.net-fpx": "npx", "image/vnd.wap.wbmp": "wbmp", "image/vnd.xiff": "xif", "image/webp": "webp", "image/x-3ds": "3ds", "image/x-cmu-raster": "ras", "image/x-cmx": "cmx", "image/x-freehand": "fh", "image/x-icon": "ico", "image/x-mrsid-image": "sid", "image/x-pcx": "pcx", "image/x-pict": "pic", "image/x-portable-anymap": "pnm", "image/x-portable-bitmap": "pbm", "image/x-portable-graymap": "pgm", "image/x-portable-pixmap": "ppm", "image/x-rgb": "rgb", "image/x-tga": "tga", "image/x-xbitmap": "xbm", "image/x-xpixmap": "xpm", "image/x-xwindowdump": "xwd", "message/rfc822": "eml", "model/iges": "igs", "model/mesh": "msh", "model/vnd.collada+xml": "dae", "model/vnd.dwf": "dwf", "model/vnd.gdl": "gdl", "model/vnd.gtw": "gtw", "model/vnd.mts": "mts", "model/vnd.vtu": "vtu", "model/vrml": "wrl", "model/x3d+binary": "x3db", "model/x3d+vrml": "x3dv", "model/x3d+xml": "x3d", "text/cache-manifest": "appcache", "text/calendar": "ics", "text/css": "css", "text/csv": "csv", "text/html": "html", "text/n3": "n3", "text/plain": "txt", "text/prs.lines.tag": "dsc", "text/richtext": "rtx", "text/sgml": "sgml", "text/tab-separated-values": "tsv", "text/troff": "t", "text/turtle": "ttl", "text/uri-list": "uri", "text/vcard": "vcard", "text/vnd.curl": "curl", "text/vnd.curl.dcurl": "dcurl", "text/vnd.curl.scurl": "scurl", "text/vnd.curl.mcurl": "mcurl", "text/vnd.dvb.subtitle": "sub", "text/vnd.fly": "fly", "text/vnd.fmi.flexstor": "flx", "text/vnd.graphviz": "gv", "text/vnd.in3d.3dml": "3dml", "text/vnd.in3d.spot": "spot", "text/vnd.sun.j2me.app-descriptor": "jad", "text/vnd.wap.wml": "wml", "text/vnd.wap.wmlscript": "wmls", "text/x-asm": "s", "text/x-c": "c", "text/x-fortran": "f", "text/x-java-source": "java", "text/x-opml": "opml", "text/x-pascal": "p", "text/x-nfo": "nfo", "text/x-setext": "etx", "text/x-sfv": "sfv", "text/x-uuencode": "uu", "text/x-vcalendar": "vcs", "text/x-vcard": "vcf", "video/3gpp": "3gp", "video/3gpp2": "3g2", "video/h261": "h261", "video/h263": "h263", "video/h264": "h264", "video/jpeg": "jpgv", "video/jpm": "jpm", "video/mj2": "mj2", "video/mp4": "mp4", "video/mpeg": "mpeg", "video/ogg": "ogv", "video/quicktime": "qt", "video/vnd.dece.hd": "uvh", "video/vnd.dece.mobile": "uvm", "video/vnd.dece.pd": "uvp", "video/vnd.dece.sd": "uvs", "video/vnd.dece.video": "uvv", "video/vnd.dvb.file": "dvb", "video/vnd.fvt": "fvt", "video/vnd.mpegurl": "mxu", "video/vnd.ms-playready.media.pyv": "pyv", "video/vnd.uvvu.mp4": "uvu", "video/vnd.vivo": "viv", "video/webm": "webm", "video/x-f4v": "f4v", "video/x-fli": "fli", "video/x-flv": "flv", "video/x-m4v": "m4v", "video/x-matroska": "mkv", "video/x-mng": "mng", "video/x-ms-asf": "asf", "video/x-ms-vob": "vob", "video/x-ms-wm": "wm", "video/x-ms-wmv": "wmv", "video/x-ms-wmx": "wmx", "video/x-ms-wvx": "wvx", "video/x-msvideo": "avi", "video/x-sgi-movie": "movie", "video/x-smv": "smv", "x-conference/x-cooltalk": "ice", "text/vtt": "vtt", "application/x-chrome-extension": "crx", "text/x-component": "htc", "video/MP2T": "ts", "text/event-stream": "event-stream", "application/x-web-app-manifest+json": "webapp", "text/x-lua": "lua", "application/x-lua-bytecode": "luac", "text/x-markdown": "markdown" }, extension: function (t) { var e = t.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase(); return this.extensions[e] }, define: function (t) { for (var e in t) { for (var n = t[e], i = 0; i < n.length; i++)this.types[n[i]] = e; this.extensions[e] || (this.extensions[e] = n[0]) } }, charsets: { lookup: function (t, e) { return /^text\//.test(t) ? "UTF-8" : e } } }; i.types.constructor = void 0, i.extensions.constructor = void 0 }, {}], 54: [function (t, C, M) { (function (L) { !function (t) { var e = "object" == typeof M && M && !M.nodeType && M, n = "object" == typeof C && C && !C.nodeType && C, i = "object" == typeof L && L; i.global !== i && i.window !== i && i.self !== i || (t = i); var r, o, v = 2147483647, _ = 36, E = 1, b = 26, a = 38, s = 700, y = 72, T = 128, x = "-", l = /^xn--/, c = /[^\x20-\x7E]/, u = /[\x2E\u3002\uFF0E\uFF61]/g, p = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, d = _ - E, S = Math.floor, w = String.fromCharCode; function A(t) { throw new RangeError(p[t]) } function f(t, e) { for (var n = t.length, i = []; n--;)i[n] = e(t[n]); return i } function h(t, e) { var n = t.split("@"), i = ""; return 1 < n.length && (i = n[0] + "@", t = n[1]), i + f((t = t.replace(u, ".")).split("."), e).join(".") } function I(t) { for (var e, n, i = [], r = 0, o = t.length; r < o;)55296 <= (e = t.charCodeAt(r++)) && e <= 56319 && r < o ? 56320 == (64512 & (n = t.charCodeAt(r++))) ? i.push(((1023 & e) << 10) + (1023 & n) + 65536) : (i.push(e), r--) : i.push(e); return i } function N(t) { return f(t, function (t) { var e = ""; return 65535 < t && (e += w((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e += w(t) }).join("") } function O(t, e) { return t + 22 + 75 * (t < 26) - ((0 != e) << 5) } function R(t, e, n) { var i = 0; for (t = n ? S(t / s) : t >> 1, t += S(t / e); d * b >> 1 < t; i += _)t = S(t / d); return S(i + (d + 1) * t / (t + a)) } function m(t) { var e, n, i, r, o, a, s, l, c, u, p, d = [], f = t.length, h = 0, m = T, g = y; for ((n = t.lastIndexOf(x)) < 0 && (n = 0), i = 0; i < n; ++i)128 <= t.charCodeAt(i) && A("not-basic"), d.push(t.charCodeAt(i)); for (r = 0 < n ? n + 1 : 0; r < f;) { for (o = h, a = 1, s = _; f <= r && A("invalid-input"), p = t.charCodeAt(r++), (_ <= (l = p - 48 < 10 ? p - 22 : p - 65 < 26 ? p - 65 : p - 97 < 26 ? p - 97 : _) || l > S((v - h) / a)) && A("overflow"), h += l * a, !(l < (c = s <= g ? E : g + b <= s ? b : s - g)); s += _)a > S(v / (u = _ - c)) && A("overflow"), a *= u; g = R(h - o, e = d.length + 1, 0 == o), S(h / e) > v - m && A("overflow"), m += S(h / e), h %= e, d.splice(h++, 0, m) } return N(d) } function g(t) { var e, n, i, r, o, a, s, l, c, u, p, d, f, h, m, g = []; for (d = (t = I(t)).length, e = T, o = y, a = n = 0; a < d; ++a)(p = t[a]) < 128 && g.push(w(p)); for (i = r = g.length, r && g.push(x); i < d;) { for (s = v, a = 0; a < d; ++a)e <= (p = t[a]) && p < s && (s = p); for (s - e > S((v - n) / (f = i + 1)) && A("overflow"), n += (s - e) * f, e = s, a = 0; a < d; ++a)if ((p = t[a]) < e && ++n > v && A("overflow"), p == e) { for (l = n, c = _; !(l < (u = c <= o ? E : o + b <= c ? b : c - o)); c += _)m = l - u, h = _ - u, g.push(w(O(u + m % h, 0))), l = S(m / h); g.push(w(O(l, 0))), o = R(n, f, i == r), n = 0, ++i } ++n, ++e } return g.join("") } if (r = { version: "1.4.1", ucs2: { decode: I, encode: N }, decode: m, encode: g, toASCII: function (t) { return h(t, function (t) { return c.test(t) ? "xn--" + g(t) : t }) }, toUnicode: function (t) { return h(t, function (t) { return l.test(t) ? m(t.slice(4).toLowerCase()) : t }) } }, e && n) if (C.exports == e) n.exports = r; else for (o in r) r.hasOwnProperty(o) && (e[o] = r[o]); else t.punycode = r }(this) }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 55: [function (t, e, n) { "use strict"; var i = t("safe-buffer").Buffer, r = i.isEncoding || function (t) { switch ((t = "" + t) && t.toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": case "raw": return !0; default: return !1 } }; function o(t) { var e; switch (this.encoding = function (t) { var e = function (t) { if (!t) return "utf8"; for (var e; ;)switch (t) { case "utf8": case "utf-8": return "utf8"; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return "utf16le"; case "latin1": case "binary": return "latin1"; case "base64": case "ascii": case "hex": return t; default: if (e) return; t = ("" + t).toLowerCase(), e = !0 } }(t); if ("string" != typeof e && (i.isEncoding === r || !r(t))) throw new Error("Unknown encoding: " + t); return e || t }(t), this.encoding) { case "utf16le": this.text = l, this.end = c, e = 4; break; case "utf8": this.fillLast = s, e = 4; break; case "base64": this.text = u, this.end = p, e = 3; break; default: return this.write = d, void (this.end = f) }this.lastNeed = 0, this.lastTotal = 0, this.lastChar = i.allocUnsafe(e) } function a(t) { return t <= 127 ? 0 : t >> 5 == 6 ? 2 : t >> 4 == 14 ? 3 : t >> 3 == 30 ? 4 : t >> 6 == 2 ? -1 : -2 } function s(t) { var e = this.lastTotal - this.lastNeed, n = function (t, e, n) { if (128 != (192 & e[0])) return t.lastNeed = 0, "�"; if (1 < t.lastNeed && 1 < e.length) { if (128 != (192 & e[1])) return t.lastNeed = 1, "�"; if (2 < t.lastNeed && 2 < e.length && 128 != (192 & e[2])) return t.lastNeed = 2, "�" } }(this, t); return void 0 !== n ? n : this.lastNeed <= t.length ? (t.copy(this.lastChar, e, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (t.copy(this.lastChar, e, 0, t.length), void (this.lastNeed -= t.length)) } function l(t, e) { if ((t.length - e) % 2 == 0) { var n = t.toString("utf16le", e); if (n) { var i = n.charCodeAt(n.length - 1); if (55296 <= i && i <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = t[t.length - 2], this.lastChar[1] = t[t.length - 1], n.slice(0, -1) } return n } return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = t[t.length - 1], t.toString("utf16le", e, t.length - 1) } function c(t) { var e = t && t.length ? this.write(t) : ""; if (this.lastNeed) { var n = this.lastTotal - this.lastNeed; return e + this.lastChar.toString("utf16le", 0, n) } return e } function u(t, e) { var n = (t.length - e) % 3; return 0 === n ? t.toString("base64", e) : (this.lastNeed = 3 - n, this.lastTotal = 3, 1 === n ? this.lastChar[0] = t[t.length - 1] : (this.lastChar[0] = t[t.length - 2], this.lastChar[1] = t[t.length - 1]), t.toString("base64", e, t.length - n)) } function p(t) { var e = t && t.length ? this.write(t) : ""; return this.lastNeed ? e + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : e } function d(t) { return t.toString(this.encoding) } function f(t) { return t && t.length ? this.write(t) : "" } (n.StringDecoder = o).prototype.write = function (t) { if (0 === t.length) return ""; var e, n; if (this.lastNeed) { if (void 0 === (e = this.fillLast(t))) return ""; n = this.lastNeed, this.lastNeed = 0 } else n = 0; return n < t.length ? e ? e + this.text(t, n) : this.text(t, n) : e || "" }, o.prototype.end = function (t) { var e = t && t.length ? this.write(t) : ""; return this.lastNeed ? e + "�" : e }, o.prototype.text = function (t, e) { var n = function (t, e, n) { var i = e.length - 1; if (i < n) return 0; var r = a(e[i]); if (0 <= r) return 0 < r && (t.lastNeed = r - 1), r; if (--i < n || -2 === r) return 0; if (0 <= (r = a(e[i]))) return 0 < r && (t.lastNeed = r - 2), r; if (--i < n || -2 === r) return 0; if (0 <= (r = a(e[i]))) return 0 < r && (2 === r ? r = 0 : t.lastNeed = r - 3), r; return 0 }(this, t, e); if (!this.lastNeed) return t.toString("utf8", e); this.lastTotal = n; var i = t.length - (n - this.lastNeed); return t.copy(this.lastChar, 0, i), t.toString("utf8", e, i) }, o.prototype.fillLast = function (t) { if (this.lastNeed <= t.length) return t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal); t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, t.length), this.lastNeed -= t.length } }, { "safe-buffer": 86 }], 56: [function (t, e, k) { (function (p) { "use strict"; var i = t("base64-js"), o = t("ieee754"); k.Buffer = p, k.SlowBuffer = function (t) { +t != t && (t = 0); return p.alloc(+t) }, k.INSPECT_MAX_BYTES = 50; var n = 2147483647; function a(t) { if (n < t) throw new RangeError('The value "' + t + '" is invalid for option "size"'); var e = new Uint8Array(t); return Object.setPrototypeOf(e, p.prototype), e } function p(t, e, n) { if ("number" == typeof t) { if ("string" == typeof e) throw new TypeError('The "string" argument must be of type string. Received type number'); return l(t) } return r(t, e, n) } function r(t, e, n) { if ("string" == typeof t) return function (t, e) { "string" == typeof e && "" !== e || (e = "utf8"); if (!p.isEncoding(e)) throw new TypeError("Unknown encoding: " + e); var n = 0 | d(t, e), i = a(n), r = i.write(t, e); r !== n && (i = i.slice(0, r)); return i }(t, e); if (ArrayBuffer.isView(t)) return c(t); if (null == t) throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t); if (D(t, ArrayBuffer) || t && D(t.buffer, ArrayBuffer)) return function (t, e, n) { if (e < 0 || t.byteLength < e) throw new RangeError('"offset" is outside of buffer bounds'); if (t.byteLength < e + (n || 0)) throw new RangeError('"length" is outside of buffer bounds'); var i; i = void 0 === e && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, e) : new Uint8Array(t, e, n); return Object.setPrototypeOf(i, p.prototype), i }(t, e, n); if ("number" == typeof t) throw new TypeError('The "value" argument must not be of type number. Received type number'); var i = t.valueOf && t.valueOf(); if (null != i && i !== t) return p.from(i, e, n); var r = function (t) { if (p.isBuffer(t)) { var e = 0 | u(t.length), n = a(e); return 0 === n.length || t.copy(n, 0, 0, e), n } if (void 0 !== t.length) return "number" != typeof t.length || P(t.length) ? a(0) : c(t); if ("Buffer" === t.type && Array.isArray(t.data)) return c(t.data) }(t); if (r) return r; if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof t[Symbol.toPrimitive]) return p.from(t[Symbol.toPrimitive]("string"), e, n); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t) } function s(t) { if ("number" != typeof t) throw new TypeError('"size" argument must be of type number'); if (t < 0) throw new RangeError('The value "' + t + '" is invalid for option "size"') } function l(t) { return s(t), a(t < 0 ? 0 : 0 | u(t)) } function c(t) { for (var e = t.length < 0 ? 0 : 0 | u(t.length), n = a(e), i = 0; i < e; i += 1)n[i] = 255 & t[i]; return n } function u(t) { if (n <= t) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + n.toString(16) + " bytes"); return 0 | t } function d(t, e) { if (p.isBuffer(t)) return t.length; if (ArrayBuffer.isView(t) || D(t, ArrayBuffer)) return t.byteLength; if ("string" != typeof t) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof t); var n = t.length, i = 2 < arguments.length && !0 === arguments[2]; if (!i && 0 === n) return 0; for (var r = !1; ;)switch (e) { case "ascii": case "latin1": case "binary": return n; case "utf8": case "utf-8": return L(t).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * n; case "hex": return n >>> 1; case "base64": return C(t).length; default: if (r) return i ? -1 : L(t).length; e = ("" + e).toLowerCase(), r = !0 } } function f(t, e, n) { var i = t[e]; t[e] = t[n], t[n] = i } function h(t, e, n, i, r) { if (0 === t.length) return -1; if ("string" == typeof n ? (i = n, n = 0) : 2147483647 < n ? n = 2147483647 : n < -2147483648 && (n = -2147483648), P(n = +n) && (n = r ? 0 : t.length - 1), n < 0 && (n = t.length + n), n >= t.length) { if (r) return -1; n = t.length - 1 } else if (n < 0) { if (!r) return -1; n = 0 } if ("string" == typeof e && (e = p.from(e, i)), p.isBuffer(e)) return 0 === e.length ? -1 : m(t, e, n, i, r); if ("number" == typeof e) return e &= 255, "function" == typeof Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(t, e, n) : Uint8Array.prototype.lastIndexOf.call(t, e, n) : m(t, [e], n, i, r); throw new TypeError("val must be string, number or Buffer") } function m(t, e, n, i, r) { var o, a = 1, s = t.length, l = e.length; if (void 0 !== i && ("ucs2" === (i = String(i).toLowerCase()) || "ucs-2" === i || "utf16le" === i || "utf-16le" === i)) { if (t.length < 2 || e.length < 2) return -1; s /= a = 2, l /= 2, n /= 2 } function c(t, e) { return 1 === a ? t[e] : t.readUInt16BE(e * a) } if (r) { var u = -1; for (o = n; o < s; o++)if (c(t, o) === c(e, -1 === u ? 0 : o - u)) { if (-1 === u && (u = o), o - u + 1 === l) return u * a } else -1 !== u && (o -= o - u), u = -1 } else for (s < n + l && (n = s - l), o = n; 0 <= o; o--) { for (var p = !0, d = 0; d < l; d++)if (c(t, o + d) !== c(e, d)) { p = !1; break } if (p) return o } return -1 } function g(t, e, n, i) { n = Number(n) || 0; var r = t.length - n; i ? r < (i = Number(i)) && (i = r) : i = r; var o = e.length; o / 2 < i && (i = o / 2); for (var a = 0; a < i; ++a) { var s = parseInt(e.substr(2 * a, 2), 16); if (P(s)) return a; t[n + a] = s } return a } function v(t, e, n, i) { return M(function (t) { for (var e = [], n = 0; n < t.length; ++n)e.push(255 & t.charCodeAt(n)); return e }(e), t, n, i) } function _(t, e, n) { return 0 === e && n === t.length ? i.fromByteArray(t) : i.fromByteArray(t.slice(e, n)) } function E(t, e, n) { n = Math.min(t.length, n); for (var i = [], r = e; r < n;) { var o, a, s, l, c = t[r], u = null, p = 239 < c ? 4 : 223 < c ? 3 : 191 < c ? 2 : 1; if (r + p <= n) switch (p) { case 1: c < 128 && (u = c); break; case 2: 128 == (192 & (o = t[r + 1])) && 127 < (l = (31 & c) << 6 | 63 & o) && (u = l); break; case 3: o = t[r + 1], a = t[r + 2], 128 == (192 & o) && 128 == (192 & a) && 2047 < (l = (15 & c) << 12 | (63 & o) << 6 | 63 & a) && (l < 55296 || 57343 < l) && (u = l); break; case 4: o = t[r + 1], a = t[r + 2], s = t[r + 3], 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && 65535 < (l = (15 & c) << 18 | (63 & o) << 12 | (63 & a) << 6 | 63 & s) && l < 1114112 && (u = l) }null === u ? (u = 65533, p = 1) : 65535 < u && (u -= 65536, i.push(u >>> 10 & 1023 | 55296), u = 56320 | 1023 & u), i.push(u), r += p } return function (t) { var e = t.length; if (e <= b) return String.fromCharCode.apply(String, t); var n = "", i = 0; for (; i < e;)n += String.fromCharCode.apply(String, t.slice(i, i += b)); return n }(i) } k.kMaxLength = n, (p.TYPED_ARRAY_SUPPORT = function () { try { var t = new Uint8Array(1), e = { foo: function () { return 42 } }; return Object.setPrototypeOf(e, Uint8Array.prototype), Object.setPrototypeOf(t, e), 42 === t.foo() } catch (t) { return !1 } }()) || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(p.prototype, "parent", { enumerable: !0, get: function () { if (p.isBuffer(this)) return this.buffer } }), Object.defineProperty(p.prototype, "offset", { enumerable: !0, get: function () { if (p.isBuffer(this)) return this.byteOffset } }), "undefined" != typeof Symbol && null != Symbol.species && p[Symbol.species] === p && Object.defineProperty(p, Symbol.species, { value: null, configurable: !0, enumerable: !1, writable: !1 }), p.poolSize = 8192, p.from = function (t, e, n) { return r(t, e, n) }, Object.setPrototypeOf(p.prototype, Uint8Array.prototype), Object.setPrototypeOf(p, Uint8Array), p.alloc = function (t, e, n) { return r = e, o = n, s(i = t), i <= 0 ? a(i) : void 0 !== r ? "string" == typeof o ? a(i).fill(r, o) : a(i).fill(r) : a(i); var i, r, o }, p.allocUnsafe = function (t) { return l(t) }, p.allocUnsafeSlow = function (t) { return l(t) }, p.isBuffer = function (t) { return null != t && !0 === t._isBuffer && t !== p.prototype }, p.compare = function (t, e) { if (D(t, Uint8Array) && (t = p.from(t, t.offset, t.byteLength)), D(e, Uint8Array) && (e = p.from(e, e.offset, e.byteLength)), !p.isBuffer(t) || !p.isBuffer(e)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (t === e) return 0; for (var n = t.length, i = e.length, r = 0, o = Math.min(n, i); r < o; ++r)if (t[r] !== e[r]) { n = t[r], i = e[r]; break } return n < i ? -1 : i < n ? 1 : 0 }, p.isEncoding = function (t) { switch (String(t).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, p.concat = function (t, e) { if (!Array.isArray(t)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === t.length) return p.alloc(0); var n; if (void 0 === e) for (n = e = 0; n < t.length; ++n)e += t[n].length; var i = p.allocUnsafe(e), r = 0; for (n = 0; n < t.length; ++n) { var o = t[n]; if (D(o, Uint8Array) && (o = p.from(o)), !p.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers'); o.copy(i, r), r += o.length } return i }, p.byteLength = d, p.prototype._isBuffer = !0, p.prototype.swap16 = function () { var t = this.length; if (t % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var e = 0; e < t; e += 2)f(this, e, e + 1); return this }, p.prototype.swap32 = function () { var t = this.length; if (t % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var e = 0; e < t; e += 4)f(this, e, e + 3), f(this, e + 1, e + 2); return this }, p.prototype.swap64 = function () { var t = this.length; if (t % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var e = 0; e < t; e += 8)f(this, e, e + 7), f(this, e + 1, e + 6), f(this, e + 2, e + 5), f(this, e + 3, e + 4); return this }, p.prototype.toLocaleString = p.prototype.toString = function () { var t = this.length; return 0 === t ? "" : 0 === arguments.length ? E(this, 0, t) : function (t, e, n) { var i = !1; if ((void 0 === e || e < 0) && (e = 0), e > this.length) return ""; if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return ""; if ((n >>>= 0) <= (e >>>= 0)) return ""; for (t || (t = "utf8"); ;)switch (t) { case "hex": return x(this, e, n); case "utf8": case "utf-8": return E(this, e, n); case "ascii": return y(this, e, n); case "latin1": case "binary": return T(this, e, n); case "base64": return _(this, e, n); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return S(this, e, n); default: if (i) throw new TypeError("Unknown encoding: " + t); t = (t + "").toLowerCase(), i = !0 } }.apply(this, arguments) }, p.prototype.equals = function (t) { if (!p.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); return this === t || 0 === p.compare(this, t) }, p.prototype.inspect = function () { var t = "", e = k.INSPECT_MAX_BYTES; return t = this.toString("hex", 0, e).replace(/(.{2})/g, "$1 ").trim(), this.length > e && (t += " ... "), "<Buffer " + t + ">" }, p.prototype.compare = function (t, e, n, i, r) { if (D(t, Uint8Array) && (t = p.from(t, t.offset, t.byteLength)), !p.isBuffer(t)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof t); if (void 0 === e && (e = 0), void 0 === n && (n = t ? t.length : 0), void 0 === i && (i = 0), void 0 === r && (r = this.length), e < 0 || n > t.length || i < 0 || r > this.length) throw new RangeError("out of range index"); if (r <= i && n <= e) return 0; if (r <= i) return -1; if (n <= e) return 1; if (this === t) return 0; for (var o = (r >>>= 0) - (i >>>= 0), a = (n >>>= 0) - (e >>>= 0), s = Math.min(o, a), l = this.slice(i, r), c = t.slice(e, n), u = 0; u < s; ++u)if (l[u] !== c[u]) { o = l[u], a = c[u]; break } return o < a ? -1 : a < o ? 1 : 0 }, p.prototype.includes = function (t, e, n) { return -1 !== this.indexOf(t, e, n) }, p.prototype.indexOf = function (t, e, n) { return h(this, t, e, n, !0) }, p.prototype.lastIndexOf = function (t, e, n) { return h(this, t, e, n, !1) }, p.prototype.write = function (t, e, n, i) { if (void 0 === e) i = "utf8", n = this.length, e = 0; else if (void 0 === n && "string" == typeof e) i = e, n = this.length, e = 0; else { if (!isFinite(e)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); e >>>= 0, isFinite(n) ? (n >>>= 0, void 0 === i && (i = "utf8")) : (i = n, n = void 0) } var r = this.length - e; if ((void 0 === n || r < n) && (n = r), 0 < t.length && (n < 0 || e < 0) || e > this.length) throw new RangeError("Attempt to write outside buffer bounds"); i || (i = "utf8"); for (var o, a, s, l, c, u, p, d, f, h = !1; ;)switch (i) { case "hex": return g(this, t, e, n); case "utf8": case "utf-8": return d = e, f = n, M(L(t, (p = this).length - d), p, d, f); case "ascii": return v(this, t, e, n); case "latin1": case "binary": return v(this, t, e, n); case "base64": return l = this, c = e, u = n, M(C(t), l, c, u); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return a = e, s = n, M(function (t, e) { for (var n, i, r, o = [], a = 0; a < t.length && !((e -= 2) < 0); ++a)n = t.charCodeAt(a), i = n >> 8, r = n % 256, o.push(r), o.push(i); return o }(t, (o = this).length - a), o, a, s); default: if (h) throw new TypeError("Unknown encoding: " + i); i = ("" + i).toLowerCase(), h = !0 } }, p.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var b = 4096; function y(t, e, n) { var i = ""; n = Math.min(t.length, n); for (var r = e; r < n; ++r)i += String.fromCharCode(127 & t[r]); return i } function T(t, e, n) { var i = ""; n = Math.min(t.length, n); for (var r = e; r < n; ++r)i += String.fromCharCode(t[r]); return i } function x(t, e, n) { var i = t.length; (!e || e < 0) && (e = 0), (!n || n < 0 || i < n) && (n = i); for (var r = "", o = e; o < n; ++o)r += R(t[o]); return r } function S(t, e, n) { for (var i = t.slice(e, n), r = "", o = 0; o < i.length; o += 2)r += String.fromCharCode(i[o] + 256 * i[o + 1]); return r } function w(t, e, n) { if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint"); if (n < t + e) throw new RangeError("Trying to access beyond buffer length") } function A(t, e, n, i, r, o) { if (!p.isBuffer(t)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (r < e || e < o) throw new RangeError('"value" argument is out of bounds'); if (n + i > t.length) throw new RangeError("Index out of range") } function I(t, e, n, i, r, o) { if (n + i > t.length) throw new RangeError("Index out of range"); if (n < 0) throw new RangeError("Index out of range") } function N(t, e, n, i, r) { return e = +e, n >>>= 0, r || I(t, 0, n, 4), o.write(t, e, n, i, 23, 4), n + 4 } function O(t, e, n, i, r) { return e = +e, n >>>= 0, r || I(t, 0, n, 8), o.write(t, e, n, i, 52, 8), n + 8 } p.prototype.slice = function (t, e) { var n = this.length; (t = ~~t) < 0 ? (t += n) < 0 && (t = 0) : n < t && (t = n), (e = void 0 === e ? n : ~~e) < 0 ? (e += n) < 0 && (e = 0) : n < e && (e = n), e < t && (e = t); var i = this.subarray(t, e); return Object.setPrototypeOf(i, p.prototype), i }, p.prototype.readUIntLE = function (t, e, n) { t >>>= 0, e >>>= 0, n || w(t, e, this.length); for (var i = this[t], r = 1, o = 0; ++o < e && (r *= 256);)i += this[t + o] * r; return i }, p.prototype.readUIntBE = function (t, e, n) { t >>>= 0, e >>>= 0, n || w(t, e, this.length); for (var i = this[t + --e], r = 1; 0 < e && (r *= 256);)i += this[t + --e] * r; return i }, p.prototype.readUInt8 = function (t, e) { return t >>>= 0, e || w(t, 1, this.length), this[t] }, p.prototype.readUInt16LE = function (t, e) { return t >>>= 0, e || w(t, 2, this.length), this[t] | this[t + 1] << 8 }, p.prototype.readUInt16BE = function (t, e) { return t >>>= 0, e || w(t, 2, this.length), this[t] << 8 | this[t + 1] }, p.prototype.readUInt32LE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + 16777216 * this[t + 3] }, p.prototype.readUInt32BE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), 16777216 * this[t] + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]) }, p.prototype.readIntLE = function (t, e, n) { t >>>= 0, e >>>= 0, n || w(t, e, this.length); for (var i = this[t], r = 1, o = 0; ++o < e && (r *= 256);)i += this[t + o] * r; return (r *= 128) <= i && (i -= Math.pow(2, 8 * e)), i }, p.prototype.readIntBE = function (t, e, n) { t >>>= 0, e >>>= 0, n || w(t, e, this.length); for (var i = e, r = 1, o = this[t + --i]; 0 < i && (r *= 256);)o += this[t + --i] * r; return (r *= 128) <= o && (o -= Math.pow(2, 8 * e)), o }, p.prototype.readInt8 = function (t, e) { return t >>>= 0, e || w(t, 1, this.length), 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] }, p.prototype.readInt16LE = function (t, e) { t >>>= 0, e || w(t, 2, this.length); var n = this[t] | this[t + 1] << 8; return 32768 & n ? 4294901760 | n : n }, p.prototype.readInt16BE = function (t, e) { t >>>= 0, e || w(t, 2, this.length); var n = this[t + 1] | this[t] << 8; return 32768 & n ? 4294901760 | n : n }, p.prototype.readInt32LE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24 }, p.prototype.readInt32BE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3] }, p.prototype.readFloatLE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), o.read(this, t, !0, 23, 4) }, p.prototype.readFloatBE = function (t, e) { return t >>>= 0, e || w(t, 4, this.length), o.read(this, t, !1, 23, 4) }, p.prototype.readDoubleLE = function (t, e) { return t >>>= 0, e || w(t, 8, this.length), o.read(this, t, !0, 52, 8) }, p.prototype.readDoubleBE = function (t, e) { return t >>>= 0, e || w(t, 8, this.length), o.read(this, t, !1, 52, 8) }, p.prototype.writeUIntLE = function (t, e, n, i) { (t = +t, e >>>= 0, n >>>= 0, i) || A(this, t, e, n, Math.pow(2, 8 * n) - 1, 0); var r = 1, o = 0; for (this[e] = 255 & t; ++o < n && (r *= 256);)this[e + o] = t / r & 255; return e + n }, p.prototype.writeUIntBE = function (t, e, n, i) { (t = +t, e >>>= 0, n >>>= 0, i) || A(this, t, e, n, Math.pow(2, 8 * n) - 1, 0); var r = n - 1, o = 1; for (this[e + r] = 255 & t; 0 <= --r && (o *= 256);)this[e + r] = t / o & 255; return e + n }, p.prototype.writeUInt8 = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 1, 255, 0), this[e] = 255 & t, e + 1 }, p.prototype.writeUInt16LE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 2, 65535, 0), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2 }, p.prototype.writeUInt16BE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 2, 65535, 0), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2 }, p.prototype.writeUInt32LE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 4, 4294967295, 0), this[e + 3] = t >>> 24, this[e + 2] = t >>> 16, this[e + 1] = t >>> 8, this[e] = 255 & t, e + 4 }, p.prototype.writeUInt32BE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 4, 4294967295, 0), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4 }, p.prototype.writeIntLE = function (t, e, n, i) { if (t = +t, e >>>= 0, !i) { var r = Math.pow(2, 8 * n - 1); A(this, t, e, n, r - 1, -r) } var o = 0, a = 1, s = 0; for (this[e] = 255 & t; ++o < n && (a *= 256);)t < 0 && 0 === s && 0 !== this[e + o - 1] && (s = 1), this[e + o] = (t / a >> 0) - s & 255; return e + n }, p.prototype.writeIntBE = function (t, e, n, i) { if (t = +t, e >>>= 0, !i) { var r = Math.pow(2, 8 * n - 1); A(this, t, e, n, r - 1, -r) } var o = n - 1, a = 1, s = 0; for (this[e + o] = 255 & t; 0 <= --o && (a *= 256);)t < 0 && 0 === s && 0 !== this[e + o + 1] && (s = 1), this[e + o] = (t / a >> 0) - s & 255; return e + n }, p.prototype.writeInt8 = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 1, 127, -128), t < 0 && (t = 255 + t + 1), this[e] = 255 & t, e + 1 }, p.prototype.writeInt16LE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 2, 32767, -32768), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2 }, p.prototype.writeInt16BE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 2, 32767, -32768), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2 }, p.prototype.writeInt32LE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 4, 2147483647, -2147483648), this[e] = 255 & t, this[e + 1] = t >>> 8, this[e + 2] = t >>> 16, this[e + 3] = t >>> 24, e + 4 }, p.prototype.writeInt32BE = function (t, e, n) { return t = +t, e >>>= 0, n || A(this, t, e, 4, 2147483647, -2147483648), t < 0 && (t = 4294967295 + t + 1), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4 }, p.prototype.writeFloatLE = function (t, e, n) { return N(this, t, e, !0, n) }, p.prototype.writeFloatBE = function (t, e, n) { return N(this, t, e, !1, n) }, p.prototype.writeDoubleLE = function (t, e, n) { return O(this, t, e, !0, n) }, p.prototype.writeDoubleBE = function (t, e, n) { return O(this, t, e, !1, n) }, p.prototype.copy = function (t, e, n, i) { if (!p.isBuffer(t)) throw new TypeError("argument should be a Buffer"); if (n || (n = 0), i || 0 === i || (i = this.length), e >= t.length && (e = t.length), e || (e = 0), 0 < i && i < n && (i = n), i === n) return 0; if (0 === t.length || 0 === this.length) return 0; if (e < 0) throw new RangeError("targetStart out of bounds"); if (n < 0 || n >= this.length) throw new RangeError("Index out of range"); if (i < 0) throw new RangeError("sourceEnd out of bounds"); i > this.length && (i = this.length), t.length - e < i - n && (i = t.length - e + n); var r = i - n; if (this === t && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(e, n, i); else if (this === t && n < e && e < i) for (var o = r - 1; 0 <= o; --o)t[o + e] = this[o + n]; else Uint8Array.prototype.set.call(t, this.subarray(n, i), e); return r }, p.prototype.fill = function (t, e, n, i) { if ("string" == typeof t) { if ("string" == typeof e ? (i = e, e = 0, n = this.length) : "string" == typeof n && (i = n, n = this.length), void 0 !== i && "string" != typeof i) throw new TypeError("encoding must be a string"); if ("string" == typeof i && !p.isEncoding(i)) throw new TypeError("Unknown encoding: " + i); if (1 === t.length) { var r = t.charCodeAt(0); ("utf8" === i && r < 128 || "latin1" === i) && (t = r) } } else "number" == typeof t && (t &= 255); if (e < 0 || this.length < e || this.length < n) throw new RangeError("Out of range index"); if (n <= e) return this; var o; if (e >>>= 0, n = void 0 === n ? this.length : n >>> 0, t || (t = 0), "number" == typeof t) for (o = e; o < n; ++o)this[o] = t; else { var a = p.isBuffer(t) ? t : p.from(t, i), s = a.length; if (0 === s) throw new TypeError('The value "' + t + '" is invalid for argument "value"'); for (o = 0; o < n - e; ++o)this[o + e] = a[o % s] } return this }; var e = /[^+/0-9A-Za-z-_]/g; function R(t) { return t < 16 ? "0" + t.toString(16) : t.toString(16) } function L(t, e) { var n; e = e || 1 / 0; for (var i = t.length, r = null, o = [], a = 0; a < i; ++a) { if (55295 < (n = t.charCodeAt(a)) && n < 57344) { if (!r) { if (56319 < n) { -1 < (e -= 3) && o.push(239, 191, 189); continue } if (a + 1 === i) { -1 < (e -= 3) && o.push(239, 191, 189); continue } r = n; continue } if (n < 56320) { -1 < (e -= 3) && o.push(239, 191, 189), r = n; continue } n = 65536 + (r - 55296 << 10 | n - 56320) } else r && -1 < (e -= 3) && o.push(239, 191, 189); if (r = null, n < 128) { if ((e -= 1) < 0) break; o.push(n) } else if (n < 2048) { if ((e -= 2) < 0) break; o.push(n >> 6 | 192, 63 & n | 128) } else if (n < 65536) { if ((e -= 3) < 0) break; o.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128) } else { if (!(n < 1114112)) throw new Error("Invalid code point"); if ((e -= 4) < 0) break; o.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128) } } return o } function C(t) { return i.toByteArray(function (t) { if ((t = (t = t.split("=")[0]).trim().replace(e, "")).length < 2) return ""; for (; t.length % 4 != 0;)t += "="; return t }(t)) } function M(t, e, n, i) { for (var r = 0; r < i && !(r + n >= e.length || r >= t.length); ++r)e[r + n] = t[r]; return r } function D(t, e) { return t instanceof e || null != t && null != t.constructor && null != t.constructor.name && t.constructor.name === e.name } function P(t) { return t != t } }).call(this, t("buffer").Buffer) }, { "base64-js": 51, buffer: 56, ieee754: 63 }], 57: [function (t, e, n) { e.exports = { 100: "Continue", 101: "Switching Protocols", 102: "Processing", 200: "OK", 201: "Created", 202: "Accepted", 203: "Non-Authoritative Information", 204: "No Content", 205: "Reset Content", 206: "Partial Content", 207: "Multi-Status", 208: "Already Reported", 226: "IM Used", 300: "Multiple Choices", 301: "Moved Permanently", 302: "Found", 303: "See Other", 304: "Not Modified", 305: "Use Proxy", 307: "Temporary Redirect", 308: "Permanent Redirect", 400: "Bad Request", 401: "Unauthorized", 402: "Payment Required", 403: "Forbidden", 404: "Not Found", 405: "Method Not Allowed", 406: "Not Acceptable", 407: "Proxy Authentication Required", 408: "Request Timeout", 409: "Conflict", 410: "Gone", 411: "Length Required", 412: "Precondition Failed", 413: "Payload Too Large", 414: "URI Too Long", 415: "Unsupported Media Type", 416: "Range Not Satisfiable", 417: "Expectation Failed", 418: "I'm a teapot", 421: "Misdirected Request", 422: "Unprocessable Entity", 423: "Locked", 424: "Failed Dependency", 425: "Unordered Collection", 426: "Upgrade Required", 428: "Precondition Required", 429: "Too Many Requests", 431: "Request Header Fields Too Large", 451: "Unavailable For Legal Reasons", 500: "Internal Server Error", 501: "Not Implemented", 502: "Bad Gateway", 503: "Service Unavailable", 504: "Gateway Timeout", 505: "HTTP Version Not Supported", 506: "Variant Also Negotiates", 507: "Insufficient Storage", 508: "Loop Detected", 509: "Bandwidth Limit Exceeded", 510: "Not Extended", 511: "Network Authentication Required" } }, {}], 58: [function (t, e, n) { (function (t) { function e(t) { return Object.prototype.toString.call(t) } n.isArray = function (t) { return Array.isArray ? Array.isArray(t) : "[object Array]" === e(t) }, n.isBoolean = function (t) { return "boolean" == typeof t }, n.isNull = function (t) { return null === t }, n.isNullOrUndefined = function (t) { return null == t }, n.isNumber = function (t) { return "number" == typeof t }, n.isString = function (t) { return "string" == typeof t }, n.isSymbol = function (t) { return "symbol" == typeof t }, n.isUndefined = function (t) { return void 0 === t }, n.isRegExp = function (t) { return "[object RegExp]" === e(t) }, n.isObject = function (t) { return "object" == typeof t && null !== t }, n.isDate = function (t) { return "[object Date]" === e(t) }, n.isError = function (t) { return "[object Error]" === e(t) || t instanceof Error }, n.isFunction = function (t) { return "function" == typeof t }, n.isPrimitive = function (t) { return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || void 0 === t }, n.isBuffer = t.isBuffer }).call(this, { isBuffer: t("../../is-buffer/index.js") }) }, { "../../is-buffer/index.js": 65 }], 59: [function (t, e, n) { var l = Object.create || function (t) { var e = function () { }; return e.prototype = t, new e }, a = Object.keys || function (t) { var e = []; for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n); return n }, o = Function.prototype.bind || function (t) { var e = this; return function () { return e.apply(t, arguments) } }; function i() { this._events && Object.prototype.hasOwnProperty.call(this, "_events") || (this._events = l(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0 } ((e.exports = i).EventEmitter = i).prototype._events = void 0, i.prototype._maxListeners = void 0; var r, s = 10; try { var c = {}; Object.defineProperty && Object.defineProperty(c, "x", { value: 0 }), r = 0 === c.x } catch (t) { r = !1 } function u(t) { return void 0 === t._maxListeners ? i.defaultMaxListeners : t._maxListeners } function p(t, e, n, i) { var r, o, a; if ("function" != typeof n) throw new TypeError('"listener" argument must be a function'); if ((o = t._events) ? (o.newListener && (t.emit("newListener", e, n.listener ? n.listener : n), o = t._events), a = o[e]) : (o = t._events = l(null), t._eventsCount = 0), a) { if ("function" == typeof a ? a = o[e] = i ? [n, a] : [a, n] : i ? a.unshift(n) : a.push(n), !a.warned && (r = u(t)) && 0 < r && a.length > r) { a.warned = !0; var s = new Error("Possible EventEmitter memory leak detected. " + a.length + ' "' + String(e) + '" listeners added. Use emitter.setMaxListeners() to increase limit.'); s.name = "MaxListenersExceededWarning", s.emitter = t, s.type = e, s.count = a.length, "object" == typeof console && console.warn && console.warn("%s: %s", s.name, s.message) } } else a = o[e] = n, ++t._eventsCount; return t } function d() { if (!this.fired) switch (this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length) { case 0: return this.listener.call(this.target); case 1: return this.listener.call(this.target, arguments[0]); case 2: return this.listener.call(this.target, arguments[0], arguments[1]); case 3: return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]); default: for (var t = new Array(arguments.length), e = 0; e < t.length; ++e)t[e] = arguments[e]; this.listener.apply(this.target, t) } } function f(t, e, n) { var i = { fired: !1, wrapFn: void 0, target: t, type: e, listener: n }, r = o.call(d, i); return r.listener = n, i.wrapFn = r } function h(t, e, n) { var i = t._events; if (!i) return []; var r = i[e]; return r ? "function" == typeof r ? n ? [r.listener || r] : [r] : n ? function (t) { for (var e = new Array(t.length), n = 0; n < e.length; ++n)e[n] = t[n].listener || t[n]; return e }(r) : g(r, r.length) : [] } function m(t) { var e = this._events; if (e) { var n = e[t]; if ("function" == typeof n) return 1; if (n) return n.length } return 0 } function g(t, e) { for (var n = new Array(e), i = 0; i < e; ++i)n[i] = t[i]; return n } r ? Object.defineProperty(i, "defaultMaxListeners", { enumerable: !0, get: function () { return s }, set: function (t) { if ("number" != typeof t || t < 0 || t != t) throw new TypeError('"defaultMaxListeners" must be a positive number'); s = t } }) : i.defaultMaxListeners = s, i.prototype.setMaxListeners = function (t) { if ("number" != typeof t || t < 0 || isNaN(t)) throw new TypeError('"n" argument must be a positive number'); return this._maxListeners = t, this }, i.prototype.getMaxListeners = function () { return u(this) }, i.prototype.emit = function (t) { var e, n, i, r, o, a, s = "error" === t; if (a = this._events) s = s && null == a.error; else if (!s) return !1; if (s) { if (1 < arguments.length && (e = arguments[1]), e instanceof Error) throw e; var l = new Error('Unhandled "error" event. (' + e + ")"); throw l.context = e, l } if (!(n = a[t])) return !1; var c = "function" == typeof n; switch (i = arguments.length) { case 1: !function (t, e, n) { if (e) t.call(n); else for (var i = t.length, r = g(t, i), o = 0; o < i; ++o)r[o].call(n) }(n, c, this); break; case 2: !function (t, e, n, i) { if (e) t.call(n, i); else for (var r = t.length, o = g(t, r), a = 0; a < r; ++a)o[a].call(n, i) }(n, c, this, arguments[1]); break; case 3: !function (t, e, n, i, r) { if (e) t.call(n, i, r); else for (var o = t.length, a = g(t, o), s = 0; s < o; ++s)a[s].call(n, i, r) }(n, c, this, arguments[1], arguments[2]); break; case 4: !function (t, e, n, i, r, o) { if (e) t.call(n, i, r, o); else for (var a = t.length, s = g(t, a), l = 0; l < a; ++l)s[l].call(n, i, r, o) }(n, c, this, arguments[1], arguments[2], arguments[3]); break; default: for (r = new Array(i - 1), o = 1; o < i; o++)r[o - 1] = arguments[o]; !function (t, e, n, i) { if (e) t.apply(n, i); else for (var r = t.length, o = g(t, r), a = 0; a < r; ++a)o[a].apply(n, i) }(n, c, this, r) }return !0 }, i.prototype.on = i.prototype.addListener = function (t, e) { return p(this, t, e, !1) }, i.prototype.prependListener = function (t, e) { return p(this, t, e, !0) }, i.prototype.once = function (t, e) { if ("function" != typeof e) throw new TypeError('"listener" argument must be a function'); return this.on(t, f(this, t, e)), this }, i.prototype.prependOnceListener = function (t, e) { if ("function" != typeof e) throw new TypeError('"listener" argument must be a function'); return this.prependListener(t, f(this, t, e)), this }, i.prototype.removeListener = function (t, e) { var n, i, r, o, a; if ("function" != typeof e) throw new TypeError('"listener" argument must be a function'); if (!(i = this._events)) return this; if (!(n = i[t])) return this; if (n === e || n.listener === e) 0 == --this._eventsCount ? this._events = l(null) : (delete i[t], i.removeListener && this.emit("removeListener", t, n.listener || e)); else if ("function" != typeof n) { for (r = -1, o = n.length - 1; 0 <= o; o--)if (n[o] === e || n[o].listener === e) { a = n[o].listener, r = o; break } if (r < 0) return this; 0 === r ? n.shift() : function (t, e) { for (var n = e, i = n + 1, r = t.length; i < r; n += 1, i += 1)t[n] = t[i]; t.pop() }(n, r), 1 === n.length && (i[t] = n[0]), i.removeListener && this.emit("removeListener", t, a || e) } return this }, i.prototype.removeAllListeners = function (t) { var e, n, i; if (!(n = this._events)) return this; if (!n.removeListener) return 0 === arguments.length ? (this._events = l(null), this._eventsCount = 0) : n[t] && (0 == --this._eventsCount ? this._events = l(null) : delete n[t]), this; if (0 === arguments.length) { var r, o = a(n); for (i = 0; i < o.length; ++i)"removeListener" !== (r = o[i]) && this.removeAllListeners(r); return this.removeAllListeners("removeListener"), this._events = l(null), this._eventsCount = 0, this } if ("function" == typeof (e = n[t])) this.removeListener(t, e); else if (e) for (i = e.length - 1; 0 <= i; i--)this.removeListener(t, e[i]); return this }, i.prototype.listeners = function (t) { return h(this, t, !0) }, i.prototype.rawListeners = function (t) { return h(this, t, !1) }, i.listenerCount = function (t, e) { return "function" == typeof t.listenerCount ? t.listenerCount(e) : m.call(t, e) }, i.prototype.listenerCount = m, i.prototype.eventNames = function () { return 0 < this._eventsCount ? Reflect.ownKeys(this._events) : [] } }, {}], 60: [function (t, e, n) { "use strict"; var r = Object.prototype.hasOwnProperty, o = Object.prototype.toString, i = Object.defineProperty, a = Object.getOwnPropertyDescriptor, p = function (t) { return "function" == typeof Array.isArray ? Array.isArray(t) : "[object Array]" === o.call(t) }, d = function (t) { if (!t || "[object Object]" !== o.call(t)) return !1; var e, n = r.call(t, "constructor"), i = t.constructor && t.constructor.prototype && r.call(t.constructor.prototype, "isPrototypeOf"); if (t.constructor && !n && !i) return !1; for (e in t); return void 0 === e || r.call(t, e) }, f = function (t, e) { i && "__proto__" === e.name ? i(t, e.name, { enumerable: !0, configurable: !0, value: e.newValue, writable: !0 }) : t[e.name] = e.newValue }, h = function (t, e) { if ("__proto__" === e) { if (!r.call(t, e)) return; if (a) return a(t, e).value } return t[e] }; e.exports = function t() { var e, n, i, r, o, a, s = arguments[0], l = 1, c = arguments.length, u = !1; for ("boolean" == typeof s && (u = s, s = arguments[1] || {}, l = 2), (null == s || "object" != typeof s && "function" != typeof s) && (s = {}); l < c; ++l)if (null != (e = arguments[l])) for (n in e) i = h(s, n), s !== (r = h(e, n)) && (u && r && (d(r) || (o = p(r))) ? (o ? (o = !1, a = i && p(i) ? i : []) : a = i && d(i) ? i : {}, f(s, { name: n, newValue: t(u, a, r) })) : void 0 !== r && f(s, { name: n, newValue: r })); return s } }, {}], 61: [function (t, e, n) { "use strict"; var s = t("safe-buffer").Buffer, i = t("stream").Transform; function r(t) { i.call(this), this._block = s.allocUnsafe(t), this._blockSize = t, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1 } t("inherits")(r, i), r.prototype._transform = function (t, e, n) { var i = null; try { this.update(t, e) } catch (t) { i = t } n(i) }, r.prototype._flush = function (t) { var e = null; try { this.push(this.digest()) } catch (t) { e = t } t(e) }, r.prototype.update = function (t, e) { if (function (t, e) { if (!s.isBuffer(t) && "string" != typeof t) throw new TypeError(e + " must be a string or a buffer") }(t, "Data"), this._finalized) throw new Error("Digest already called"); s.isBuffer(t) || (t = s.from(t, e)); for (var n = this._block, i = 0; this._blockOffset + t.length - i >= this._blockSize;) { for (var r = this._blockOffset; r < this._blockSize;)n[r++] = t[i++]; this._update(), this._blockOffset = 0 } for (; i < t.length;)n[this._blockOffset++] = t[i++]; for (var o = 0, a = 8 * t.length; 0 < a; ++o)this._length[o] += a, 0 < (a = this._length[o] / 4294967296 | 0) && (this._length[o] -= 4294967296 * a); return this }, r.prototype._update = function () { throw new Error("_update is not implemented") }, r.prototype.digest = function (t) { if (this._finalized) throw new Error("Digest already called"); this._finalized = !0; var e = this._digest(); void 0 !== t && (e = e.toString(t)), this._block.fill(0); for (var n = this._blockOffset = 0; n < 4; ++n)this._length[n] = 0; return e }, r.prototype._digest = function () { throw new Error("_digest is not implemented") }, e.exports = r }, { inherits: 64, "safe-buffer": 86, stream: 88 }], 62: [function (t, e, n) { var i = t("http"), r = t("url"), o = e.exports; for (var a in i) i.hasOwnProperty(a) && (o[a] = i[a]); function s(t) { if ("string" == typeof t && (t = r.parse(t)), t.protocol || (t.protocol = "https:"), "https:" !== t.protocol) throw new Error('Protocol "' + t.protocol + '" not supported. Expected "https:"'); return t } o.request = function (t, e) { return t = s(t), i.request.call(this, t, e) }, o.get = function (t, e) { return t = s(t), i.get.call(this, t, e) } }, { http: 89, url: 112 }], 63: [function (t, e, n) { n.read = function (t, e, n, i, r) { var o, a, s = 8 * r - i - 1, l = (1 << s) - 1, c = l >> 1, u = -7, p = n ? r - 1 : 0, d = n ? -1 : 1, f = t[e + p]; for (p += d, o = f & (1 << -u) - 1, f >>= -u, u += s; 0 < u; o = 256 * o + t[e + p], p += d, u -= 8); for (a = o & (1 << -u) - 1, o >>= -u, u += i; 0 < u; a = 256 * a + t[e + p], p += d, u -= 8); if (0 === o) o = 1 - c; else { if (o === l) return a ? NaN : 1 / 0 * (f ? -1 : 1); a += Math.pow(2, i), o -= c } return (f ? -1 : 1) * a * Math.pow(2, o - i) }, n.write = function (t, e, n, i, r, o) { var a, s, l, c = 8 * o - r - 1, u = (1 << c) - 1, p = u >> 1, d = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f = i ? 0 : o - 1, h = i ? 1 : -1, m = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0; for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (s = isNaN(e) ? 1 : 0, a = u) : (a = Math.floor(Math.log(e) / Math.LN2), e * (l = Math.pow(2, -a)) < 1 && (a--, l *= 2), 2 <= (e += 1 <= a + p ? d / l : d * Math.pow(2, 1 - p)) * l && (a++, l /= 2), u <= a + p ? (s = 0, a = u) : 1 <= a + p ? (s = (e * l - 1) * Math.pow(2, r), a += p) : (s = e * Math.pow(2, p - 1) * Math.pow(2, r), a = 0)); 8 <= r; t[n + f] = 255 & s, f += h, s /= 256, r -= 8); for (a = a << r | s, c += r; 0 < c; t[n + f] = 255 & a, f += h, a /= 256, c -= 8); t[n + f - h] |= 128 * m } }, {}], 64: [function (t, e, n) { "function" == typeof Object.create ? e.exports = function (t, e) { e && (t.super_ = e, t.prototype = Object.create(e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })) } : e.exports = function (t, e) { if (e) { t.super_ = e; var n = function () { }; n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t } } }, {}], 65: [function (t, e, n) { function i(t) { return !!t.constructor && "function" == typeof t.constructor.isBuffer && t.constructor.isBuffer(t) } e.exports = function (t) { return null != t && (i(t) || "function" == typeof (e = t).readFloatLE && "function" == typeof e.slice && i(e.slice(0, 0)) || !!t._isBuffer); var e } }, {}], 66: [function (t, e, n) { var i = {}.toString; e.exports = Array.isArray || function (t) { return "[object Array]" == i.call(t) } }, {}], 67: [function (t, e, n) { "use strict"; var i = t("util"), l = t("jsonparse"); function r() { return this.internalParser = new l, this.originalOnToken = this.internalParser.onToken, this.internalParser.onToken = o.bind(this), this.internalParser } e.exports, i.inherits(r, l); var o = function (t, e) { var n, i, r, o = this, a = !1; if ((t === l.C.STRING || t === l.C.NUMBER || t === l.C.TRUE || t === l.C.FALSE || t === l.C.NULL) && "number" == typeof e && -1 != this.internalParser.string.indexOf(".") && parseInt(this.internalParser.string) === e && this.internalParser.mode !== l.C.ARRAY) { var s = this.internalParser.key + "@odata.type"; this.internalParser.value && (this.internalParser.value[s] = "Edm.Double"), n = s, i = "Edm.Double", r = o.internalParser.key, o.internalParser.key = n, o.internalParser.onValue(i), o.internalParser.key = r, a = this.internalParser.string !== e.toString() } a ? this.originalOnToken.call(this.internalParser, t, this.internalParser.string) : this.originalOnToken.call(this.internalParser, t, e) }; r.C = l.C, e.exports = r }, { jsonparse: 68, util: 117 }], 68: [function (t, e, n) { (function (s) { var o = {}, l = o.LEFT_BRACE = 1, c = o.RIGHT_BRACE = 2, u = o.LEFT_BRACKET = 3, p = o.RIGHT_BRACKET = 4, d = o.COLON = 5, f = o.COMMA = 6, h = o.TRUE = 7, m = o.FALSE = 8, g = o.NULL = 9, v = o.STRING = 10, _ = o.NUMBER = 11, E = o.START = 17, n = o.STOP = 18, b = o.TRUE1 = 33, y = o.TRUE2 = 34, T = o.TRUE3 = 35, x = o.FALSE1 = 49, S = o.FALSE2 = 50, w = o.FALSE3 = 51, A = o.FALSE4 = 52, I = o.NULL1 = 65, N = o.NULL2 = 66, O = o.NULL3 = 67, R = o.NUMBER1 = 81, L = o.NUMBER3 = 83, C = o.STRING1 = 97, M = o.STRING2 = 98, D = o.STRING3 = 99, P = o.STRING4 = 100, k = o.STRING5 = 101, B = o.STRING6 = 102, i = o.VALUE = 113, r = o.KEY = 114, a = o.OBJECT = 129, U = o.ARRAY = 130; function F() { this.tState = E, this.value = void 0, this.string = void 0, this.unicode = void 0, this.key = void 0, this.mode = void 0, this.stack = [], this.state = i, this.bytes_remaining = 0, this.bytes_in_sequence = 0, this.temp_buffs = { 2: new s(2), 3: new s(3), 4: new s(4) }, this.offset = -1 } F.toknam = function (t) { for (var e = Object.keys(o), n = 0, i = e.length; n < i; n++) { var r = e[n]; if (o[r] === t) return r } return t && "0x" + t.toString(16) }; var t = F.prototype; t.onError = function (t) { throw t }, t.charError = function (t, e) { this.tState = n, this.onError(new Error("Unexpected " + JSON.stringify(String.fromCharCode(t[e])) + " at position " + e + " in state " + F.toknam(this.tState))) }, t.write = function (t) { var e; "string" == typeof t && (t = new s(t)); for (var n = 0, i = t.length; n < i; n++)if (this.tState === E) { if (e = t[n], this.offset++, 123 === e) this.onToken(l, "{"); else if (125 === e) this.onToken(c, "}"); else if (91 === e) this.onToken(u, "["); else if (93 === e) this.onToken(p, "]"); else if (58 === e) this.onToken(d, ":"); else if (44 === e) this.onToken(f, ","); else if (116 === e) this.tState = b; else if (102 === e) this.tState = x; else if (110 === e) this.tState = I; else if (34 === e) this.string = "", this.tState = C; else if (45 === e) this.string = "-", this.tState = R; else if (48 <= e && e < 64) this.string = String.fromCharCode(e), this.tState = L; else if (32 !== e && 9 !== e && 10 !== e && 13 !== e) return this.charError(t, n) } else if (this.tState === C) if (e = t[n], 0 < this.bytes_remaining) { for (var r = 0; r < this.bytes_remaining; r++)this.temp_buffs[this.bytes_in_sequence][this.bytes_in_sequence - this.bytes_remaining + r] = t[r]; this.string += this.temp_buffs[this.bytes_in_sequence].toString(), this.bytes_in_sequence = this.bytes_remaining = 0, n = n + r - 1 } else if (0 === this.bytes_remaining && 128 <= e) { if (e <= 193 || 244 < e) return this.onError(new Error("Invalid UTF-8 character at position " + n + " in state " + F.toknam(this.tState))); if (194 <= e && e <= 223 && (this.bytes_in_sequence = 2), 224 <= e && e <= 239 && (this.bytes_in_sequence = 3), 240 <= e && e <= 244 && (this.bytes_in_sequence = 4), this.bytes_in_sequence + n > t.length) { for (var o = 0; o <= t.length - 1 - n; o++)this.temp_buffs[this.bytes_in_sequence][o] = t[n + o]; this.bytes_remaining = n + this.bytes_in_sequence - t.length, n = t.length - 1 } else this.string += t.slice(n, n + this.bytes_in_sequence).toString(), n = n + this.bytes_in_sequence - 1 } else if (34 === e) this.tState = E, this.onToken(v, this.string), this.offset += s.byteLength(this.string, "utf8") + 1, this.string = void 0; else if (92 === e) this.tState = M; else { if (!(32 <= e)) return this.charError(t, n); this.string += String.fromCharCode(e) } else if (this.tState === M) if (34 === (e = t[n])) this.string += '"', this.tState = C; else if (92 === e) this.string += "\\", this.tState = C; else if (47 === e) this.string += "/", this.tState = C; else if (98 === e) this.string += "\b", this.tState = C; else if (102 === e) this.string += "\f", this.tState = C; else if (110 === e) this.string += "\n", this.tState = C; else if (114 === e) this.string += "\r", this.tState = C; else if (116 === e) this.string += "\t", this.tState = C; else { if (117 !== e) return this.charError(t, n); this.unicode = "", this.tState = D } else if (this.tState === D || this.tState === P || this.tState === k || this.tState === B) { if (!(48 <= (e = t[n]) && e < 64 || 64 < e && e <= 70 || 96 < e && e <= 102)) return this.charError(t, n); this.unicode += String.fromCharCode(e), this.tState++ === B && (this.string += String.fromCharCode(parseInt(this.unicode, 16)), this.unicode = void 0, this.tState = C) } else if (this.tState === R || this.tState === L) switch (e = t[n]) { case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 46: case 101: case 69: case 43: case 45: this.string += String.fromCharCode(e), this.tState = L; break; default: this.tState = E; var a = Number(this.string); if (isNaN(a)) return this.charError(t, n); this.string.match(/[0-9]+/) == this.string && a.toString() != this.string ? this.onToken(v, this.string) : this.onToken(_, a), this.offset += this.string.length - 1, this.string = void 0, n-- } else if (this.tState === b) { if (114 !== t[n]) return this.charError(t, n); this.tState = y } else if (this.tState === y) { if (117 !== t[n]) return this.charError(t, n); this.tState = T } else if (this.tState === T) { if (101 !== t[n]) return this.charError(t, n); this.tState = E, this.onToken(h, !0), this.offset += 3 } else if (this.tState === x) { if (97 !== t[n]) return this.charError(t, n); this.tState = S } else if (this.tState === S) { if (108 !== t[n]) return this.charError(t, n); this.tState = w } else if (this.tState === w) { if (115 !== t[n]) return this.charError(t, n); this.tState = A } else if (this.tState === A) { if (101 !== t[n]) return this.charError(t, n); this.tState = E, this.onToken(m, !1), this.offset += 4 } else if (this.tState === I) { if (117 !== t[n]) return this.charError(t, n); this.tState = N } else if (this.tState === N) { if (108 !== t[n]) return this.charError(t, n); this.tState = O } else if (this.tState === O) { if (108 !== t[n]) return this.charError(t, n); this.tState = E, this.onToken(g, null), this.offset += 3 } }, t.onToken = function (t, e) { }, t.parseError = function (t, e) { this.tState = n, this.onError(new Error("Unexpected " + F.toknam(t) + (e ? "(" + JSON.stringify(e) + ")" : "") + " in state " + F.toknam(this.state))) }, t.push = function () { this.stack.push({ value: this.value, key: this.key, mode: this.mode }) }, t.pop = function () { var t = this.value, e = this.stack.pop(); this.value = e.value, this.key = e.key, this.mode = e.mode, this.emit(t), this.mode || (this.state = i) }, t.emit = function (t) { this.mode && (this.state = f), this.onValue(t) }, t.onValue = function (t) { }, t.onToken = function (t, e) { if (this.state === i) if (t === v || t === _ || t === h || t === m || t === g) this.value && (this.value[this.key] = e), this.emit(e); else if (t === l) this.push(), this.value ? this.value = this.value[this.key] = {} : this.value = {}, this.key = void 0, this.state = r, this.mode = a; else if (t === u) this.push(), this.value ? this.value = this.value[this.key] = [] : this.value = [], this.key = 0, this.mode = U, this.state = i; else if (t === c) { if (this.mode !== a) return this.parseError(t, e); this.pop() } else { if (t !== p) return this.parseError(t, e); if (this.mode !== U) return this.parseError(t, e); this.pop() } else if (this.state === r) if (t === v) this.key = e, this.state = d; else { if (t !== c) return this.parseError(t, e); this.pop() } else if (this.state === d) { if (t !== d) return this.parseError(t, e); this.state = i } else { if (this.state !== f) return this.parseError(t, e); if (t === f) this.mode === U ? (this.key++, this.state = i) : this.mode === a && (this.state = r); else { if (!(t === p && this.mode === U || t === c && this.mode === a)) return this.parseError(t, e); this.pop() } } }, F.C = o, e.exports = F }).call(this, t("buffer").Buffer) }, { buffer: 56 }], 69: [function (r, o, t) { (function (e) { "use strict"; var t = r("inherits"), n = r("hash-base"), a = new Array(16); function i() { n.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878 } function s(t, e) { return t << e | t >>> 32 - e } function l(t, e, n, i, r, o, a) { return s(t + (e & n | ~e & i) + r + o | 0, a) + e | 0 } function c(t, e, n, i, r, o, a) { return s(t + (e & i | n & ~i) + r + o | 0, a) + e | 0 } function u(t, e, n, i, r, o, a) { return s(t + (e ^ n ^ i) + r + o | 0, a) + e | 0 } function p(t, e, n, i, r, o, a) { return s(t + (n ^ (e | ~i)) + r + o | 0, a) + e | 0 } t(i, n), i.prototype._update = function () { for (var t = a, e = 0; e < 16; ++e)t[e] = this._block.readInt32LE(4 * e); var n = this._a, i = this._b, r = this._c, o = this._d; i = p(i = p(i = p(i = p(i = u(i = u(i = u(i = u(i = c(i = c(i = c(i = c(i = l(i = l(i = l(i = l(i, r = l(r, o = l(o, n = l(n, i, r, o, t[0], 3614090360, 7), i, r, t[1], 3905402710, 12), n, i, t[2], 606105819, 17), o, n, t[3], 3250441966, 22), r = l(r, o = l(o, n = l(n, i, r, o, t[4], 4118548399, 7), i, r, t[5], 1200080426, 12), n, i, t[6], 2821735955, 17), o, n, t[7], 4249261313, 22), r = l(r, o = l(o, n = l(n, i, r, o, t[8], 1770035416, 7), i, r, t[9], 2336552879, 12), n, i, t[10], 4294925233, 17), o, n, t[11], 2304563134, 22), r = l(r, o = l(o, n = l(n, i, r, o, t[12], 1804603682, 7), i, r, t[13], 4254626195, 12), n, i, t[14], 2792965006, 17), o, n, t[15], 1236535329, 22), r = c(r, o = c(o, n = c(n, i, r, o, t[1], 4129170786, 5), i, r, t[6], 3225465664, 9), n, i, t[11], 643717713, 14), o, n, t[0], 3921069994, 20), r = c(r, o = c(o, n = c(n, i, r, o, t[5], 3593408605, 5), i, r, t[10], 38016083, 9), n, i, t[15], 3634488961, 14), o, n, t[4], 3889429448, 20), r = c(r, o = c(o, n = c(n, i, r, o, t[9], 568446438, 5), i, r, t[14], 3275163606, 9), n, i, t[3], 4107603335, 14), o, n, t[8], 1163531501, 20), r = c(r, o = c(o, n = c(n, i, r, o, t[13], 2850285829, 5), i, r, t[2], 4243563512, 9), n, i, t[7], 1735328473, 14), o, n, t[12], 2368359562, 20), r = u(r, o = u(o, n = u(n, i, r, o, t[5], 4294588738, 4), i, r, t[8], 2272392833, 11), n, i, t[11], 1839030562, 16), o, n, t[14], 4259657740, 23), r = u(r, o = u(o, n = u(n, i, r, o, t[1], 2763975236, 4), i, r, t[4], 1272893353, 11), n, i, t[7], 4139469664, 16), o, n, t[10], 3200236656, 23), r = u(r, o = u(o, n = u(n, i, r, o, t[13], 681279174, 4), i, r, t[0], 3936430074, 11), n, i, t[3], 3572445317, 16), o, n, t[6], 76029189, 23), r = u(r, o = u(o, n = u(n, i, r, o, t[9], 3654602809, 4), i, r, t[12], 3873151461, 11), n, i, t[15], 530742520, 16), o, n, t[2], 3299628645, 23), r = p(r, o = p(o, n = p(n, i, r, o, t[0], 4096336452, 6), i, r, t[7], 1126891415, 10), n, i, t[14], 2878612391, 15), o, n, t[5], 4237533241, 21), r = p(r, o = p(o, n = p(n, i, r, o, t[12], 1700485571, 6), i, r, t[3], 2399980690, 10), n, i, t[10], 4293915773, 15), o, n, t[1], 2240044497, 21), r = p(r, o = p(o, n = p(n, i, r, o, t[8], 1873313359, 6), i, r, t[15], 4264355552, 10), n, i, t[6], 2734768916, 15), o, n, t[13], 1309151649, 21), r = p(r, o = p(o, n = p(n, i, r, o, t[4], 4149444226, 6), i, r, t[11], 3174756917, 10), n, i, t[2], 718787259, 15), o, n, t[9], 3951481745, 21), this._a = this._a + n | 0, this._b = this._b + i | 0, this._c = this._c + r | 0, this._d = this._d + o | 0 }, i.prototype._digest = function () { this._block[this._blockOffset++] = 128, 56 < this._blockOffset && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); var t = new e(16); return t.writeInt32LE(this._a, 0), t.writeInt32LE(this._b, 4), t.writeInt32LE(this._c, 8), t.writeInt32LE(this._d, 12), t }, o.exports = i }).call(this, r("buffer").Buffer) }, { buffer: 56, "hash-base": 61, inherits: 64 }], 70: [function (t, e, n) { n.endianness = function () { return "LE" }, n.hostname = function () { return "undefined" != typeof location ? location.hostname : "" }, n.loadavg = function () { return [] }, n.uptime = function () { return 0 }, n.freemem = function () { return Number.MAX_VALUE }, n.totalmem = function () { return Number.MAX_VALUE }, n.cpus = function () { return [] }, n.type = function () { return "Browser" }, n.release = function () { return "undefined" != typeof navigator ? navigator.appVersion : "" }, n.networkInterfaces = n.getNetworkInterfaces = function () { return {} }, n.arch = function () { return "javascript" }, n.platform = function () { return "browser" }, n.tmpdir = n.tmpDir = function () { return "/tmp" }, n.EOL = "\n", n.homedir = function () { return "/" } }, {}], 71: [function (t, e, n) { (function (s) { "use strict"; !s.version || 0 === s.version.indexOf("v0.") || 0 === s.version.indexOf("v1.") && 0 !== s.version.indexOf("v1.8.") ? e.exports = function (t, e, n, i) { if ("function" != typeof t) throw new TypeError('"callback" argument must be a function'); var r, o, a = arguments.length; switch (a) { case 0: case 1: return s.nextTick(t); case 2: return s.nextTick(function () { t.call(null, e) }); case 3: return s.nextTick(function () { t.call(null, e, n) }); case 4: return s.nextTick(function () { t.call(null, e, n, i) }); default: for (r = new Array(a - 1), o = 0; o < r.length;)r[o++] = arguments[o]; return s.nextTick(function () { t.apply(null, r) }) } } : e.exports = s.nextTick }).call(this, t("_process")) }, { _process: 72 }], 72: [function (t, e, n) { var i, r, o = e.exports = {}; function a() { throw new Error("setTimeout has not been defined") } function s() { throw new Error("clearTimeout has not been defined") } function l(e) { if (i === setTimeout) return setTimeout(e, 0); if ((i === a || !i) && setTimeout) return i = setTimeout, setTimeout(e, 0); try { return i(e, 0) } catch (t) { try { return i.call(null, e, 0) } catch (t) { return i.call(this, e, 0) } } } !function () { try { i = "function" == typeof setTimeout ? setTimeout : a } catch (t) { i = a } try { r = "function" == typeof clearTimeout ? clearTimeout : s } catch (t) { r = s } }(); var c, u = [], p = !1, d = -1; function f() { p && c && (p = !1, c.length ? u = c.concat(u) : d = -1, u.length && h()) } function h() { if (!p) { var t = l(f); p = !0; for (var e = u.length; e;) { for (c = u, u = []; ++d < e;)c && c[d].run(); d = -1, e = u.length } c = null, p = !1, function (e) { if (r === clearTimeout) return clearTimeout(e); if ((r === s || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); try { r(e) } catch (t) { try { return r.call(null, e) } catch (t) { return r.call(this, e) } } }(t) } } function m(t, e) { this.fun = t, this.array = e } function g() { } o.nextTick = function (t) { var e = new Array(arguments.length - 1); if (1 < arguments.length) for (var n = 1; n < arguments.length; n++)e[n - 1] = arguments[n]; u.push(new m(t, e)), 1 !== u.length || p || l(h) }, m.prototype.run = function () { this.fun.apply(null, this.array) }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = g, o.addListener = g, o.once = g, o.off = g, o.removeListener = g, o.removeAllListeners = g, o.emit = g, o.prependListener = g, o.prependOnceListener = g, o.listeners = function (t) { return [] }, o.binding = function (t) { throw new Error("process.binding is not supported") }, o.cwd = function () { return "/" }, o.chdir = function (t) { throw new Error("process.chdir is not supported") }, o.umask = function () { return 0 } }, {}], 73: [function (t, e, n) { "use strict"; e.exports = function (t, e, n, i) { e = e || "&", n = n || "="; var r = {}; if ("string" != typeof t || 0 === t.length) return r; var o = /\+/g; t = t.split(e); var a = 1e3; i && "number" == typeof i.maxKeys && (a = i.maxKeys); var s, l, c = t.length; 0 < a && a < c && (c = a); for (var u = 0; u < c; ++u) { var p, d, f, h, m = t[u].replace(o, "%20"), g = m.indexOf(n); 0 <= g ? (p = m.substr(0, g), d = m.substr(g + 1)) : (p = m, d = ""), f = decodeURIComponent(p), h = decodeURIComponent(d), s = r, l = f, Object.prototype.hasOwnProperty.call(s, l) ? v(r[f]) ? r[f].push(h) : r[f] = [r[f], h] : r[f] = h } return r }; var v = Array.isArray || function (t) { return "[object Array]" === Object.prototype.toString.call(t) } }, {}], 74: [function (t, e, n) { "use strict"; var o = function (t) { switch (typeof t) { case "string": return t; case "boolean": return t ? "true" : "false"; case "number": return isFinite(t) ? t : ""; default: return "" } }; e.exports = function (n, i, r, t) { return i = i || "&", r = r || "=", null === n && (n = void 0), "object" == typeof n ? s(l(n), function (t) { var e = encodeURIComponent(o(t)) + r; return a(n[t]) ? s(n[t], function (t) { return e + encodeURIComponent(o(t)) }).join(i) : e + encodeURIComponent(o(n[t])) }).join(i) : t ? encodeURIComponent(o(t)) + r + encodeURIComponent(o(n)) : "" }; var a = Array.isArray || function (t) { return "[object Array]" === Object.prototype.toString.call(t) }; function s(t, e) { if (t.map) return t.map(e); for (var n = [], i = 0; i < t.length; i++)n.push(e(t[i], i)); return n } var l = Object.keys || function (t) { var e = []; for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n); return e } }, {}], 75: [function (t, e, n) { "use strict"; n.decode = n.parse = t("./decode"), n.encode = n.stringify = t("./encode") }, { "./decode": 73, "./encode": 74 }], 76: [function (t, e, n) { e.exports = t("./lib/_stream_duplex.js") }, { "./lib/_stream_duplex.js": 77 }], 77: [function (t, e, n) { "use strict"; var i = Object.keys || function (t) { var e = []; for (var n in t) e.push(n); return e }; e.exports = p; var r = t("process-nextick-args"), o = t("core-util-is"); o.inherits = t("inherits"); var a = t("./_stream_readable"), s = t("./_stream_writable"); o.inherits(p, a); for (var l = i(s.prototype), c = 0; c < l.length; c++) { var u = l[c]; p.prototype[u] || (p.prototype[u] = s.prototype[u]) } function p(t) { if (!(this instanceof p)) return new p(t); a.call(this, t), s.call(this, t), t && !1 === t.readable && (this.readable = !1), t && !1 === t.writable && (this.writable = !1), this.allowHalfOpen = !0, t && !1 === t.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", d) } function d() { this.allowHalfOpen || this._writableState.ended || r(f, this) } function f(t) { t.end() } }, { "./_stream_readable": 79, "./_stream_writable": 81, "core-util-is": 58, inherits: 64, "process-nextick-args": 71 }], 78: [function (t, e, n) { "use strict"; e.exports = o; var i = t("./_stream_transform"), r = t("core-util-is"); function o(t) { if (!(this instanceof o)) return new o(t); i.call(this, t) } r.inherits = t("inherits"), r.inherits(o, i), o.prototype._transform = function (t, e, n) { n(null, t) } }, { "./_stream_transform": 80, "core-util-is": 58, inherits: 64 }], 79: [function (w, A, t) { (function (g) { "use strict"; A.exports = i; var v = w("process-nextick-args"), _ = w("isarray"), d = w("buffer").Buffer; i.ReadableState = n; w("events"); var r, E = function (t, e) { return t.listeners(e).length }; !function () { try { r = w("stream") } catch (t) { } finally { r || (r = w("events").EventEmitter) } }(); d = w("buffer").Buffer; var t = w("core-util-is"); t.inherits = w("inherits"); var o, a, e = w("util"), b = void 0; function n(t, e) { a = a || w("./_stream_duplex"), t = t || {}, this.objectMode = !!t.objectMode, e instanceof a && (this.objectMode = this.objectMode || !!t.readableObjectMode); var n = t.highWaterMark, i = this.objectMode ? 16 : 16384; this.highWaterMark = n || 0 === n ? n : i, this.highWaterMark = ~~this.highWaterMark, this.buffer = [], this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.defaultEncoding = t.defaultEncoding || "utf8", this.ranOut = !1, this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, t.encoding && (o || (o = w("string_decoder/").StringDecoder), this.decoder = new o(t.encoding), this.encoding = t.encoding) } function i(t) { if (a = a || w("./_stream_duplex"), !(this instanceof i)) return new i(t); this._readableState = new n(t, this), this.readable = !0, t && "function" == typeof t.read && (this._read = t.read), r.call(this) } function s(t, e, n, i, r) { var o, a, s, l = function (t, e) { var n = null; d.isBuffer(e) || "string" == typeof e || null == e || t.objectMode || (n = new TypeError("Invalid non-string/buffer chunk")); return n }(e, n); if (l) t.emit("error", l); else if (null === n) e.reading = !1, function (t, e) { if (e.ended) return; if (e.decoder) { var n = e.decoder.end(); n && n.length && (e.buffer.push(n), e.length += e.objectMode ? 1 : n.length) } e.ended = !0, p(t) }(t, e); else if (e.objectMode || n && 0 < n.length) if (e.ended && !r) { var c = new Error("stream.push() after EOF"); t.emit("error", c) } else if (e.endEmitted && r) { c = new Error("stream.unshift() after end event"); t.emit("error", c) } else { var u; !e.decoder || r || i || (n = e.decoder.write(n), u = !e.objectMode && 0 === n.length), r || (e.reading = !1), u || (e.flowing && 0 === e.length && !e.sync ? (t.emit("data", n), t.read(0)) : (e.length += e.objectMode ? 1 : n.length, r ? e.buffer.unshift(n) : e.buffer.push(n), e.needReadable && p(t))), o = t, (a = e).readingMore || (a.readingMore = !0, v(f, o, a)) } else r || (e.reading = !1); return !(s = e).ended && (s.needReadable || s.length < s.highWaterMark || 0 === s.length) } b = e && e.debuglog ? e.debuglog("stream") : function () { }, t.inherits(i, r), i.prototype.push = function (t, e) { var n = this._readableState; return n.objectMode || "string" != typeof t || (e = e || n.defaultEncoding) !== n.encoding && (t = new d(t, e), e = ""), s(this, n, t, e, !1) }, i.prototype.unshift = function (t) { return s(this, this._readableState, t, "", !0) }, i.prototype.isPaused = function () { return !1 === this._readableState.flowing }, i.prototype.setEncoding = function (t) { return o || (o = w("string_decoder/").StringDecoder), this._readableState.decoder = new o(t), this._readableState.encoding = t, this }; var l = 8388608; function c(t, e) { return 0 === e.length && e.ended ? 0 : e.objectMode ? 0 === t ? 0 : 1 : null === t || isNaN(t) ? e.flowing && e.buffer.length ? e.buffer[0].length : e.length : t <= 0 ? 0 : (t > e.highWaterMark && (e.highWaterMark = (l <= (n = t) ? n = l : (n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++), n)), t > e.length ? e.ended ? e.length : (e.needReadable = !0, 0) : t); var n } function p(t) { var e = t._readableState; e.needReadable = !1, e.emittedReadable || (b("emitReadable", e.flowing), e.emittedReadable = !0, e.sync ? v(u, t) : u(t)) } function u(t) { b("emit readable"), t.emit("readable"), y(t) } function f(t, e) { for (var n = e.length; !e.reading && !e.flowing && !e.ended && e.length < e.highWaterMark && (b("maybeReadMore read 0"), t.read(0), n !== e.length);)n = e.length; e.readingMore = !1 } function h(t) { b("readable nexttick read 0"), t.read(0) } function m(t, e) { e.reading || (b("resume read 0"), t.read(0)), e.resumeScheduled = !1, t.emit("resume"), y(t), e.flowing && !e.reading && t.read(0) } function y(t) { var e = t._readableState; if (b("flow", e.flowing), e.flowing) do { var n = t.read() } while (null !== n && e.flowing) } function T(t, e) { var n, i = e.buffer, r = e.length, o = !!e.decoder, a = !!e.objectMode; if (0 === i.length) return null; if (0 === r) n = null; else if (a) n = i.shift(); else if (!t || r <= t) n = o ? i.join("") : 1 === i.length ? i[0] : d.concat(i, r), i.length = 0; else { if (t < i[0].length) n = (u = i[0]).slice(0, t), i[0] = u.slice(t); else if (t === i[0].length) n = i.shift(); else { n = o ? "" : new d(t); for (var s = 0, l = 0, c = i.length; l < c && s < t; l++) { var u = i[0], p = Math.min(t - s, u.length); o ? n += u.slice(0, p) : u.copy(n, s, 0, p), p < u.length ? i[0] = u.slice(p) : i.shift(), s += p } } } return n } function x(t) { var e = t._readableState; if (0 < e.length) throw new Error("endReadable called on non-empty stream"); e.endEmitted || (e.ended = !0, v(S, e, t)) } function S(t, e) { t.endEmitted || 0 !== t.length || (t.endEmitted = !0, e.readable = !1, e.emit("end")) } i.prototype.read = function (t) { b("read", t); var e = this._readableState, n = t; if (("number" != typeof t || 0 < t) && (e.emittedReadable = !1), 0 === t && e.needReadable && (e.length >= e.highWaterMark || e.ended)) return b("read: emitReadable", e.length, e.ended), 0 === e.length && e.ended ? x(this) : p(this), null; if (0 === (t = c(t, e)) && e.ended) return 0 === e.length && x(this), null; var i, r = e.needReadable; return b("need readable", r), (0 === e.length || e.length - t < e.highWaterMark) && b("length less than watermark", r = !0), (e.ended || e.reading) && b("reading or ended", r = !1), r && (b("do read"), e.reading = !0, e.sync = !0, 0 === e.length && (e.needReadable = !0), this._read(e.highWaterMark), e.sync = !1), r && !e.reading && (t = c(n, e)), null === (i = 0 < t ? T(t, e) : null) && (e.needReadable = !0, t = 0), e.length -= t, 0 !== e.length || e.ended || (e.needReadable = !0), n !== t && e.ended && 0 === e.length && x(this), null !== i && this.emit("data", i), i }, i.prototype._read = function (t) { this.emit("error", new Error("not implemented")) }, i.prototype.pipe = function (e, t) { var n = this, i = this._readableState; switch (i.pipesCount) { case 0: i.pipes = e; break; case 1: i.pipes = [i.pipes, e]; break; default: i.pipes.push(e) }i.pipesCount += 1, b("pipe count=%d opts=%j", i.pipesCount, t); var r = (!t || !1 !== t.end) && e !== g.stdout && e !== g.stderr ? a : u; function o(t) { b("onunpipe"), t === n && u() } function a() { b("onend"), e.end() } i.endEmitted ? v(r) : n.once("end", r), e.on("unpipe", o); var s, l = (s = n, function () { var t = s._readableState; b("pipeOnDrain", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && E(s, "data") && (t.flowing = !0, y(s)) }); e.on("drain", l); var c = !1; function u() { b("cleanup"), e.removeListener("close", f), e.removeListener("finish", h), e.removeListener("drain", l), e.removeListener("error", d), e.removeListener("unpipe", o), n.removeListener("end", a), n.removeListener("end", u), n.removeListener("data", p), c = !0, !i.awaitDrain || e._writableState && !e._writableState.needDrain || l() } function p(t) { b("ondata"), !1 === e.write(t) && (1 !== i.pipesCount || i.pipes[0] !== e || 1 !== n.listenerCount("data") || c || (b("false write response, pause", n._readableState.awaitDrain), n._readableState.awaitDrain++), n.pause()) } function d(t) { b("onerror", t), m(), e.removeListener("error", d), 0 === E(e, "error") && e.emit("error", t) } function f() { e.removeListener("finish", h), m() } function h() { b("onfinish"), e.removeListener("close", f), m() } function m() { b("unpipe"), n.unpipe(e) } return n.on("data", p), e._events && e._events.error ? _(e._events.error) ? e._events.error.unshift(d) : e._events.error = [d, e._events.error] : e.on("error", d), e.once("close", f), e.once("finish", h), e.emit("pipe", n), i.flowing || (b("pipe resume"), n.resume()), e }, i.prototype.unpipe = function (t) { var e = this._readableState; if (0 === e.pipesCount) return this; if (1 === e.pipesCount) return t && t !== e.pipes || (t || (t = e.pipes), e.pipes = null, e.pipesCount = 0, e.flowing = !1, t && t.emit("unpipe", this)), this; if (!t) { var n = e.pipes, i = e.pipesCount; e.pipes = null, e.pipesCount = 0, e.flowing = !1; for (var r = 0; r < i; r++)n[r].emit("unpipe", this); return this } var o = function (t, e) { for (var n = 0, i = t.length; n < i; n++)if (t[n] === e) return n; return -1 }(e.pipes, t); return -1 === o || (e.pipes.splice(o, 1), e.pipesCount -= 1, 1 === e.pipesCount && (e.pipes = e.pipes[0]), t.emit("unpipe", this)), this }, i.prototype.addListener = i.prototype.on = function (t, e) { var n = r.prototype.on.call(this, t, e); if ("data" === t && !1 !== this._readableState.flowing && this.resume(), "readable" === t && !this._readableState.endEmitted) { var i = this._readableState; i.readableListening || (i.readableListening = !0, i.emittedReadable = !1, i.needReadable = !0, i.reading ? i.length && p(this) : v(h, this)) } return n }, i.prototype.resume = function () { var t, e, n = this._readableState; return n.flowing || (b("resume"), n.flowing = !0, t = this, (e = n).resumeScheduled || (e.resumeScheduled = !0, v(m, t, e))), this }, i.prototype.pause = function () { return b("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (b("pause"), this._readableState.flowing = !1, this.emit("pause")), this }, i.prototype.wrap = function (e) { var n = this._readableState, i = !1, r = this; for (var t in e.on("end", function () { if (b("wrapped end"), n.decoder && !n.ended) { var t = n.decoder.end(); t && t.length && r.push(t) } r.push(null) }), e.on("data", function (t) { (b("wrapped data"), n.decoder && (t = n.decoder.write(t)), n.objectMode && null == t) || (n.objectMode || t && t.length) && (r.push(t) || (i = !0, e.pause())) }), e) void 0 === this[t] && "function" == typeof e[t] && (this[t] = function (t) { return function () { return e[t].apply(e, arguments) } }(t)); return function (t, e) { for (var n = 0, i = t.length; n < i; n++)e(t[n], n) }(["error", "close", "destroy", "pause", "resume"], function (t) { e.on(t, r.emit.bind(r, t)) }), r._read = function (t) { b("wrapped _read", t), i && (i = !1, e.resume()) }, r }, i._fromList = T }).call(this, w("_process")) }, { "./_stream_duplex": 77, _process: 72, buffer: 56, "core-util-is": 58, events: 59, inherits: 64, isarray: 66, "process-nextick-args": 71, "string_decoder/": 109, util: 52 }], 80: [function (t, e, n) { "use strict"; e.exports = a; var i = t("./_stream_duplex"), r = t("core-util-is"); function o(n) { this.afterTransform = function (t, e) { return function (t, e, n) { var i = t._transformState; i.transforming = !1; var r = i.writecb; if (!r) return t.emit("error", new Error("no writecb in Transform class")); i.writechunk = null, (i.writecb = null) != n && t.push(n); r(e); var o = t._readableState; o.reading = !1, (o.needReadable || o.length < o.highWaterMark) && t._read(o.highWaterMark) }(n, t, e) }, this.needTransform = !1, this.transforming = !1, this.writecb = null, this.writechunk = null, this.writeencoding = null } function a(t) { if (!(this instanceof a)) return new a(t); i.call(this, t), this._transformState = new o(this); var e = this; this._readableState.needReadable = !0, this._readableState.sync = !1, t && ("function" == typeof t.transform && (this._transform = t.transform), "function" == typeof t.flush && (this._flush = t.flush)), this.once("prefinish", function () { "function" == typeof this._flush ? this._flush(function (t) { s(e, t) }) : s(e) }) } function s(t, e) { if (e) return t.emit("error", e); var n = t._writableState, i = t._transformState; if (n.length) throw new Error("calling transform done when ws.length != 0"); if (i.transforming) throw new Error("calling transform done when still transforming"); return t.push(null) } r.inherits = t("inherits"), r.inherits(a, i), a.prototype.push = function (t, e) { return this._transformState.needTransform = !1, i.prototype.push.call(this, t, e) }, a.prototype._transform = function (t, e, n) { throw new Error("not implemented") }, a.prototype._write = function (t, e, n) { var i = this._transformState; if (i.writecb = n, i.writechunk = t, i.writeencoding = e, !i.transforming) { var r = this._readableState; (i.needTransform || r.needReadable || r.length < r.highWaterMark) && this._read(r.highWaterMark) } }, a.prototype._read = function (t) { var e = this._transformState; null !== e.writechunk && e.writecb && !e.transforming ? (e.transforming = !0, this._transform(e.writechunk, e.writeencoding, e.afterTransform)) : e.needTransform = !0 } }, { "./_stream_duplex": 77, "core-util-is": 58, inherits: 64 }], 81: [function (b, y, t) { (function (t, e) { "use strict"; y.exports = u; var l = b("process-nextick-args"), s = !t.browser && -1 < ["v0.10", "v0.9."].indexOf(t.version.slice(0, 5)) ? e : l, p = b("buffer").Buffer; u.WritableState = a; var n = b("core-util-is"); n.inherits = b("inherits"); var i, r = { deprecate: b("util-deprecate") }; !function () { try { i = b("stream") } catch (t) { } finally { i || (i = b("events").EventEmitter) } }(); var o; p = b("buffer").Buffer; function c() { } function d(t, e, n) { this.chunk = t, this.encoding = e, this.callback = n, this.next = null } function a(t, e) { o = o || b("./_stream_duplex"), t = t || {}, this.objectMode = !!t.objectMode, e instanceof o && (this.objectMode = this.objectMode || !!t.writableObjectMode); var n = t.highWaterMark, i = this.objectMode ? 16 : 16384; this.highWaterMark = n || 0 === n ? n : i, this.highWaterMark = ~~this.highWaterMark, this.needDrain = !1, this.ending = !1, this.ended = !1; var r = (this.finished = !1) === t.decodeStrings; this.decodeStrings = !r, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (t) { !function (t, e) { var n = t._writableState, i = n.sync, r = n.writecb; if (a = n, a.writing = !1, a.writecb = null, a.length -= a.writelen, a.writelen = 0, e) !function (t, e, n, i, r) { --e.pendingcb, n ? l(r, i) : r(i); t._writableState.errorEmitted = !0, t.emit("error", i) }(t, n, i, e, r); else { var o = g(n); o || n.corked || n.bufferProcessing || !n.bufferedRequest || m(t, n), i ? s(h, t, n, o, r) : h(t, n, o, r) } var a }(e, t) }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new E(this), this.corkedRequestsFree.next = new E(this) } function u(t) { if (o = o || b("./_stream_duplex"), !(this instanceof u || this instanceof o)) return new u(t); this._writableState = new a(t, this), this.writable = !0, t && ("function" == typeof t.write && (this._write = t.write), "function" == typeof t.writev && (this._writev = t.writev)), i.call(this) } function f(t, e, n, i, r, o, a) { e.writelen = i, e.writecb = a, e.writing = !0, e.sync = !0, n ? t._writev(r, e.onwrite) : t._write(r, o, e.onwrite), e.sync = !1 } function h(t, e, n, i) { var r, o; n || (r = t, 0 === (o = e).length && o.needDrain && (o.needDrain = !1, r.emit("drain"))), e.pendingcb--, i(), _(t, e) } function m(t, e) { e.bufferProcessing = !0; var n = e.bufferedRequest; if (t._writev && n && n.next) { var i = e.bufferedRequestCount, r = new Array(i), o = e.corkedRequestsFree; o.entry = n; for (var a = 0; n;)n = (r[a] = n).next, a += 1; f(t, e, !0, e.length, r, "", o.finish), e.pendingcb++, e.lastBufferedRequest = null, e.corkedRequestsFree = o.next, o.next = null } else { for (; n;) { var s = n.chunk, l = n.encoding, c = n.callback; if (f(t, e, !1, e.objectMode ? 1 : s.length, s, l, c), n = n.next, e.writing) break } null === n && (e.lastBufferedRequest = null) } e.bufferedRequestCount = 0, e.bufferedRequest = n, e.bufferProcessing = !1 } function g(t) { return t.ending && 0 === t.length && null === t.bufferedRequest && !t.finished && !t.writing } function v(t, e) { e.prefinished || (e.prefinished = !0, t.emit("prefinish")) } function _(t, e) { var n = g(e); return n && (0 === e.pendingcb ? (v(t, e), e.finished = !0, t.emit("finish")) : v(t, e)), n } function E(i) { var r = this; this.next = null, this.entry = null, this.finish = function (t) { var e = r.entry; for (r.entry = null; e;) { var n = e.callback; i.pendingcb--, n(t), e = e.next } i.corkedRequestsFree ? i.corkedRequestsFree.next = r : i.corkedRequestsFree = r } } n.inherits(u, i), a.prototype.getBuffer = function () { for (var t = this.bufferedRequest, e = []; t;)e.push(t), t = t.next; return e }, function () { try { Object.defineProperty(a.prototype, "buffer", { get: r.deprecate(function () { return this.getBuffer() }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.") }) } catch (t) { } }(), u.prototype.pipe = function () { this.emit("error", new Error("Cannot pipe. Not readable.")) }, u.prototype.write = function (t, e, n) { var i, r, o, a = this._writableState, s = !1; return "function" == typeof e && (n = e, e = null), p.isBuffer(t) ? e = "buffer" : e || (e = a.defaultEncoding), "function" != typeof n && (n = c), a.ended ? (i = this, r = n, o = new Error("write after end"), i.emit("error", o), l(r, o)) : function (t, e, n, i) { var r = !0; if (!p.isBuffer(n) && "string" != typeof n && null != n && !e.objectMode) { var o = new TypeError("Invalid non-string/buffer chunk"); t.emit("error", o), l(i, o), r = !1 } return r }(this, a, t, n) && (a.pendingcb++, s = function (t, e, n, i, r) { o = e, a = n, s = i, o.objectMode || !1 === o.decodeStrings || "string" != typeof a || (a = new p(a, s)), n = a, p.isBuffer(n) && (i = "buffer"); var o, a, s; var l = e.objectMode ? 1 : n.length; e.length += l; var c = e.length < e.highWaterMark; c || (e.needDrain = !0); if (e.writing || e.corked) { var u = e.lastBufferedRequest; e.lastBufferedRequest = new d(n, i, r), u ? u.next = e.lastBufferedRequest : e.bufferedRequest = e.lastBufferedRequest, e.bufferedRequestCount += 1 } else f(t, e, !1, l, n, i, r); return c }(this, a, t, e, n)), s }, u.prototype.cork = function () { this._writableState.corked++ }, u.prototype.uncork = function () { var t = this._writableState; t.corked && (t.corked--, t.writing || t.corked || t.finished || t.bufferProcessing || !t.bufferedRequest || m(this, t)) }, u.prototype.setDefaultEncoding = function (t) { if ("string" == typeof t && (t = t.toLowerCase()), !(-1 < ["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((t + "").toLowerCase()))) throw new TypeError("Unknown encoding: " + t); this._writableState.defaultEncoding = t }, u.prototype._write = function (t, e, n) { n(new Error("not implemented")) }, u.prototype._writev = null, u.prototype.end = function (t, e, n) { var i = this._writableState; "function" == typeof t ? (n = t, e = t = null) : "function" == typeof e && (n = e, e = null), null != t && this.write(t, e), i.corked && (i.corked = 1, this.uncork()), i.ending || i.finished || function (t, e, n) { e.ending = !0, _(t, e), n && (e.finished ? l(n) : t.once("finish", n)); e.ended = !0, t.writable = !1 }(this, i, n) } }).call(this, b("_process"), b("timers").setImmediate) }, { "./_stream_duplex": 77, _process: 72, buffer: 56, "core-util-is": 58, events: 59, inherits: 64, "process-nextick-args": 71, timers: 110, "util-deprecate": 114 }], 82: [function (t, e, n) { e.exports = t("./lib/_stream_passthrough.js") }, { "./lib/_stream_passthrough.js": 78 }], 83: [function (t, e, n) { var i = function () { try { return t("stream") } catch (t) { } }(); (n = e.exports = t("./lib/_stream_readable.js")).Stream = i || n, (n.Readable = n).Writable = t("./lib/_stream_writable.js"), n.Duplex = t("./lib/_stream_duplex.js"), n.Transform = t("./lib/_stream_transform.js"), n.PassThrough = t("./lib/_stream_passthrough.js") }, { "./lib/_stream_duplex.js": 77, "./lib/_stream_passthrough.js": 78, "./lib/_stream_readable.js": 79, "./lib/_stream_transform.js": 80, "./lib/_stream_writable.js": 81 }], 84: [function (t, e, n) { e.exports = t("./lib/_stream_transform.js") }, { "./lib/_stream_transform.js": 80 }], 85: [function (t, e, n) { e.exports = t("./lib/_stream_writable.js") }, { "./lib/_stream_writable.js": 81 }], 86: [function (t, e, n) { var i = t("buffer"), r = i.Buffer; function o(t, e) { for (var n in t) e[n] = t[n] } function a(t, e, n) { return r(t, e, n) } r.from && r.alloc && r.allocUnsafe && r.allocUnsafeSlow ? e.exports = i : (o(i, n), n.Buffer = a), a.prototype = Object.create(r.prototype), o(r, a), a.from = function (t, e, n) { if ("number" == typeof t) throw new TypeError("Argument must not be a number"); return r(t, e, n) }, a.alloc = function (t, e, n) { if ("number" != typeof t) throw new TypeError("Argument must be a number"); var i = r(t); return void 0 !== e ? "string" == typeof n ? i.fill(e, n) : i.fill(e) : i.fill(0), i }, a.allocUnsafe = function (t) { if ("number" != typeof t) throw new TypeError("Argument must be a number"); return r(t) }, a.allocUnsafeSlow = function (t) { if ("number" != typeof t) throw new TypeError("Argument must be a number"); return i.SlowBuffer(t) } }, { buffer: 56 }], 87: [function (B, t, e) { (function (k) { !function (l) { l.parser = function (t, e) { return new i(t, e) }, l.SAXParser = i, l.SAXStream = a, l.createStream = function (t, e) { return new a(t, e) }, l.MAX_BUFFER_LENGTH = 65536; var c = ["comment", "sgmlDecl", "textNode", "tagName", "doctype", "procInstName", "procInstBody", "entity", "attribName", "attribValue", "cdata", "script"]; function i(t, e) { if (!(this instanceof i)) return new i(t, e); var n = this; !function (t) { for (var e = 0, n = c.length; e < n; e++)t[c[e]] = "" }(n), n.q = n.c = "", n.bufferCheckPosition = l.MAX_BUFFER_LENGTH, n.opt = e || {}, n.opt.lowercase = n.opt.lowercase || n.opt.lowercasetags, n.looseCase = n.opt.lowercase ? "toLowerCase" : "toUpperCase", n.tags = [], n.closed = n.closedRoot = n.sawRoot = !1, n.tag = n.error = null, n.strict = !!t, n.noscript = !(!t && !n.opt.noscript), n.state = T.BEGIN, n.ENTITIES = Object.create(l.ENTITIES), n.attribList = [], n.opt.xmlns && (n.ns = Object.create(v)), n.trackPosition = !1 !== n.opt.position, n.trackPosition && (n.position = n.line = n.column = 0), x(n, "onready") } l.EVENTS = ["text", "processinginstruction", "sgmldeclaration", "doctype", "comment", "attribute", "opentag", "closetag", "opencdata", "cdata", "closecdata", "error", "end", "ready", "script", "opennamespace", "closenamespace"], Object.create || (Object.create = function (t) { function e() { this.__proto__ = t } return e.prototype = t, new e }), Object.getPrototypeOf || (Object.getPrototypeOf = function (t) { return t.__proto__ }), Object.keys || (Object.keys = function (t) { var e = []; for (var n in t) t.hasOwnProperty(n) && e.push(n); return e }), i.prototype = { end: function () { N(this) }, write: function (t) { var e = this; if (this.error) throw this.error; if (e.closed) return I(e, "Cannot write after close. Assign an onready handler."); if (null === t) return N(e); var n = 0, i = ""; for (; e.c = i = t.charAt(n++);)switch (e.trackPosition && (e.position++, "\n" === i ? (e.line++, e.column = 0) : e.column++), e.state) { case T.BEGIN: "<" === i ? (e.state = T.OPEN_WAKA, e.startTagPosition = e.position) : y(u, i) && (O(e, "Non-whitespace before first tag."), e.textNode = i, e.state = T.TEXT); continue; case T.TEXT: if (e.sawRoot && !e.closedRoot) { for (var r = n - 1; i && "<" !== i && "&" !== i;)(i = t.charAt(n++)) && e.trackPosition && (e.position++, "\n" === i ? (e.line++, e.column = 0) : e.column++); e.textNode += t.substring(r, n - 1) } "<" === i ? (e.state = T.OPEN_WAKA, e.startTagPosition = e.position) : (!y(u, i) || e.sawRoot && !e.closedRoot || O(e, "Text data outside of root node."), "&" === i ? e.state = T.TEXT_ENTITY : e.textNode += i); continue; case T.SCRIPT: "<" === i ? e.state = T.SCRIPT_ENDING : e.script += i; continue; case T.SCRIPT_ENDING: "/" === i ? e.state = T.CLOSE_TAG : (e.script += "<" + i, e.state = T.SCRIPT); continue; case T.OPEN_WAKA: if ("!" === i) e.state = T.SGML_DECL, e.sgmlDecl = ""; else if (b(u, i)); else if (b(_, i)) e.state = T.OPEN_TAG, e.tagName = i; else if ("/" === i) e.state = T.CLOSE_TAG, e.tagName = ""; else if ("?" === i) e.state = T.PROC_INST, e.procInstName = e.procInstBody = ""; else { if (O(e, "Unencoded <"), e.startTagPosition + 1 < e.position) { var o = e.position - e.startTagPosition; i = new Array(o).join(" ") + i } e.textNode += "<" + i, e.state = T.TEXT } continue; case T.SGML_DECL: (e.sgmlDecl + i).toUpperCase() === h ? (S(e, "onopencdata"), e.state = T.CDATA, e.sgmlDecl = "", e.cdata = "") : e.sgmlDecl + i === "--" ? (e.state = T.COMMENT, e.comment = "", e.sgmlDecl = "") : (e.sgmlDecl + i).toUpperCase() === m ? (e.state = T.DOCTYPE, (e.doctype || e.sawRoot) && O(e, "Inappropriately located doctype declaration"), e.doctype = "", e.sgmlDecl = "") : ">" === i ? (S(e, "onsgmldeclaration", e.sgmlDecl), e.sgmlDecl = "", e.state = T.TEXT) : (b(p, i) && (e.state = T.SGML_DECL_QUOTED), e.sgmlDecl += i); continue; case T.SGML_DECL_QUOTED: i === e.q && (e.state = T.SGML_DECL, e.q = ""), e.sgmlDecl += i; continue; case T.DOCTYPE: ">" === i ? (e.state = T.TEXT, S(e, "ondoctype", e.doctype), e.doctype = !0) : (e.doctype += i, "[" === i ? e.state = T.DOCTYPE_DTD : b(p, i) && (e.state = T.DOCTYPE_QUOTED, e.q = i)); continue; case T.DOCTYPE_QUOTED: e.doctype += i, i === e.q && (e.q = "", e.state = T.DOCTYPE); continue; case T.DOCTYPE_DTD: e.doctype += i, "]" === i ? e.state = T.DOCTYPE : b(p, i) && (e.state = T.DOCTYPE_DTD_QUOTED, e.q = i); continue; case T.DOCTYPE_DTD_QUOTED: e.doctype += i, i === e.q && (e.state = T.DOCTYPE_DTD, e.q = ""); continue; case T.COMMENT: "-" === i ? e.state = T.COMMENT_ENDING : e.comment += i; continue; case T.COMMENT_ENDING: "-" === i ? (e.state = T.COMMENT_ENDED, e.comment = A(e.opt, e.comment), e.comment && S(e, "oncomment", e.comment), e.comment = "") : (e.comment += "-" + i, e.state = T.COMMENT); continue; case T.COMMENT_ENDED: ">" !== i ? (O(e, "Malformed comment"), e.comment += "--" + i, e.state = T.COMMENT) : e.state = T.TEXT; continue; case T.CDATA: "]" === i ? e.state = T.CDATA_ENDING : e.cdata += i; continue; case T.CDATA_ENDING: "]" === i ? e.state = T.CDATA_ENDING_2 : (e.cdata += "]" + i, e.state = T.CDATA); continue; case T.CDATA_ENDING_2: ">" === i ? (e.cdata && S(e, "oncdata", e.cdata), S(e, "onclosecdata"), e.cdata = "", e.state = T.TEXT) : "]" === i ? e.cdata += "]" : (e.cdata += "]]" + i, e.state = T.CDATA); continue; case T.PROC_INST: "?" === i ? e.state = T.PROC_INST_ENDING : b(u, i) ? e.state = T.PROC_INST_BODY : e.procInstName += i; continue; case T.PROC_INST_BODY: if (!e.procInstBody && b(u, i)) continue; "?" === i ? e.state = T.PROC_INST_ENDING : e.procInstBody += i; continue; case T.PROC_INST_ENDING: ">" === i ? (S(e, "onprocessinginstruction", { name: e.procInstName, body: e.procInstBody }), e.procInstName = e.procInstBody = "", e.state = T.TEXT) : (e.procInstBody += "?" + i, e.state = T.PROC_INST_BODY); continue; case T.OPEN_TAG: b(E, i) ? e.tagName += i : (R(e), ">" === i ? M(e) : "/" === i ? e.state = T.OPEN_TAG_SLASH : (y(u, i) && O(e, "Invalid character in tag name"), e.state = T.ATTRIB)); continue; case T.OPEN_TAG_SLASH: ">" === i ? (M(e, !0), D(e)) : (O(e, "Forward-slash in opening tag not followed by >"), e.state = T.ATTRIB); continue; case T.ATTRIB: if (b(u, i)) continue; ">" === i ? M(e) : "/" === i ? e.state = T.OPEN_TAG_SLASH : b(_, i) ? (e.attribName = i, e.attribValue = "", e.state = T.ATTRIB_NAME) : O(e, "Invalid attribute name"); continue; case T.ATTRIB_NAME: "=" === i ? e.state = T.ATTRIB_VALUE : ">" === i ? (O(e, "Attribute without value"), e.attribValue = e.attribName, C(e), M(e)) : b(u, i) ? e.state = T.ATTRIB_NAME_SAW_WHITE : b(E, i) ? e.attribName += i : O(e, "Invalid attribute name"); continue; case T.ATTRIB_NAME_SAW_WHITE: if ("=" === i) e.state = T.ATTRIB_VALUE; else { if (b(u, i)) continue; O(e, "Attribute without value"), e.tag.attributes[e.attribName] = "", e.attribValue = "", S(e, "onattribute", { name: e.attribName, value: "" }), e.attribName = "", ">" === i ? M(e) : b(_, i) ? (e.attribName = i, e.state = T.ATTRIB_NAME) : (O(e, "Invalid attribute name"), e.state = T.ATTRIB) } continue; case T.ATTRIB_VALUE: if (b(u, i)) continue; b(p, i) ? (e.q = i, e.state = T.ATTRIB_VALUE_QUOTED) : (O(e, "Unquoted attribute value"), e.state = T.ATTRIB_VALUE_UNQUOTED, e.attribValue = i); continue; case T.ATTRIB_VALUE_QUOTED: if (i !== e.q) { "&" === i ? e.state = T.ATTRIB_VALUE_ENTITY_Q : e.attribValue += i; continue } C(e), e.q = "", e.state = T.ATTRIB_VALUE_CLOSED; continue; case T.ATTRIB_VALUE_CLOSED: b(u, i) ? e.state = T.ATTRIB : ">" === i ? M(e) : "/" === i ? e.state = T.OPEN_TAG_SLASH : b(_, i) ? (O(e, "No whitespace between attributes"), e.attribName = i, e.attribValue = "", e.state = T.ATTRIB_NAME) : O(e, "Invalid attribute name"); continue; case T.ATTRIB_VALUE_UNQUOTED: if (y(f, i)) { "&" === i ? e.state = T.ATTRIB_VALUE_ENTITY_U : e.attribValue += i; continue } C(e), ">" === i ? M(e) : e.state = T.ATTRIB; continue; case T.CLOSE_TAG: if (e.tagName) ">" === i ? D(e) : b(E, i) ? e.tagName += i : e.script ? (e.script += "</" + e.tagName, e.tagName = "", e.state = T.SCRIPT) : (y(u, i) && O(e, "Invalid tagname in closing tag"), e.state = T.CLOSE_TAG_SAW_WHITE); else { if (b(u, i)) continue; y(_, i) ? e.script ? (e.script += "</" + i, e.state = T.SCRIPT) : O(e, "Invalid tagname in closing tag.") : e.tagName = i } continue; case T.CLOSE_TAG_SAW_WHITE: if (b(u, i)) continue; ">" === i ? D(e) : O(e, "Invalid characters in closing tag"); continue; case T.TEXT_ENTITY: case T.ATTRIB_VALUE_ENTITY_Q: case T.ATTRIB_VALUE_ENTITY_U: switch (e.state) { case T.TEXT_ENTITY: var a = T.TEXT, s = "textNode"; break; case T.ATTRIB_VALUE_ENTITY_Q: var a = T.ATTRIB_VALUE_QUOTED, s = "attribValue"; break; case T.ATTRIB_VALUE_ENTITY_U: var a = T.ATTRIB_VALUE_UNQUOTED, s = "attribValue" }";" === i ? (e[s] += P(e), e.entity = "", e.state = a) : b(d, i) ? e.entity += i : (O(e, "Invalid character entity"), e[s] += "&" + e.entity + i, e.entity = "", e.state = a); continue; default: throw new Error(e, "Unknown state: " + e.state) }e.position >= e.bufferCheckPosition && function (t) { for (var e = Math.max(l.MAX_BUFFER_LENGTH, 10), n = 0, i = 0, r = c.length; i < r; i++) { var o = t[c[i]].length; if (e < o) switch (c[i]) { case "textNode": w(t); break; case "cdata": S(t, "oncdata", t.cdata), t.cdata = ""; break; case "script": S(t, "onscript", t.script), t.script = ""; break; default: I(t, "Max buffer length exceeded: " + c[i]) }n = Math.max(n, o) } t.bufferCheckPosition = l.MAX_BUFFER_LENGTH - n + t.position }(e); return e }, resume: function () { return this.error = null, this }, close: function () { return this.write(null) }, flush: function () { var t; w(t = this), "" !== t.cdata && (S(t, "oncdata", t.cdata), t.cdata = ""), "" !== t.script && (S(t, "onscript", t.script), t.script = "") } }; try { var r = B("stream").Stream } catch (t) { r = function () { } } var o = l.EVENTS.filter(function (t) { return "error" !== t && "end" !== t }); function a(t, e) { if (!(this instanceof a)) return new a(t, e); r.apply(this), this._parser = new i(t, e), this.writable = !0, this.readable = !0; var n = this; this._parser.onend = function () { n.emit("end") }, this._parser.onerror = function (t) { n.emit("error", t), n._parser.error = null }, this._decoder = null, o.forEach(function (e) { Object.defineProperty(n, "on" + e, { get: function () { return n._parser["on" + e] }, set: function (t) { if (!t) return n.removeAllListeners(e), n._parser["on" + e] = t; n.on(e, t) }, enumerable: !0, configurable: !1 }) }) } (a.prototype = Object.create(r.prototype, { constructor: { value: a } })).write = function (t) { if ("function" == typeof k && "function" == typeof k.isBuffer && k.isBuffer(t)) { if (!this._decoder) { var e = B("string_decoder").StringDecoder; this._decoder = new e("utf8") } t = this._decoder.write(t) } return this._parser.write(t.toString()), this.emit("data", t), !0 }, a.prototype.end = function (t) { return t && t.length && this.write(t), this._parser.end(), !0 }, a.prototype.on = function (e, t) { var n = this; return n._parser["on" + e] || -1 === o.indexOf(e) || (n._parser["on" + e] = function () { var t = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments); t.splice(0, 0, e), n.emit.apply(n, t) }), r.prototype.on.call(n, e, t) }; var u = "\r\n\t ", t = "0124356789", e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", p = "'\"", d = t + e + "#", f = u + ">", h = "[CDATA[", m = "DOCTYPE", s = "http://www.w3.org/XML/1998/namespace", g = "http://www.w3.org/2000/xmlns/", v = { xml: s, xmlns: g }; u = n(u), t = n(t), e = n(e); var _ = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, E = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/; function n(t) { return t.split("").reduce(function (t, e) { return t[e] = !0, t }, {}) } function b(t, e) { return n = t, "[object RegExp]" === Object.prototype.toString.call(n) ? !!e.match(t) : t[e]; var n } function y(t, e) { return !b(t, e) } p = n(p), d = n(d), f = n(f); var T = 0; for (var T in l.STATE = { BEGIN: T++, TEXT: T++, TEXT_ENTITY: T++, OPEN_WAKA: T++, SGML_DECL: T++, SGML_DECL_QUOTED: T++, DOCTYPE: T++, DOCTYPE_QUOTED: T++, DOCTYPE_DTD: T++, DOCTYPE_DTD_QUOTED: T++, COMMENT_STARTING: T++, COMMENT: T++, COMMENT_ENDING: T++, COMMENT_ENDED: T++, CDATA: T++, CDATA_ENDING: T++, CDATA_ENDING_2: T++, PROC_INST: T++, PROC_INST_BODY: T++, PROC_INST_ENDING: T++, OPEN_TAG: T++, OPEN_TAG_SLASH: T++, ATTRIB: T++, ATTRIB_NAME: T++, ATTRIB_NAME_SAW_WHITE: T++, ATTRIB_VALUE: T++, ATTRIB_VALUE_QUOTED: T++, ATTRIB_VALUE_CLOSED: T++, ATTRIB_VALUE_UNQUOTED: T++, ATTRIB_VALUE_ENTITY_Q: T++, ATTRIB_VALUE_ENTITY_U: T++, CLOSE_TAG: T++, CLOSE_TAG_SAW_WHITE: T++, SCRIPT: T++, SCRIPT_ENDING: T++ }, l.ENTITIES = { amp: "&", gt: ">", lt: "<", quot: '"', apos: "'", AElig: 198, Aacute: 193, Acirc: 194, Agrave: 192, Aring: 197, Atilde: 195, Auml: 196, Ccedil: 199, ETH: 208, Eacute: 201, Ecirc: 202, Egrave: 200, Euml: 203, Iacute: 205, Icirc: 206, Igrave: 204, Iuml: 207, Ntilde: 209, Oacute: 211, Ocirc: 212, Ograve: 210, Oslash: 216, Otilde: 213, Ouml: 214, THORN: 222, Uacute: 218, Ucirc: 219, Ugrave: 217, Uuml: 220, Yacute: 221, aacute: 225, acirc: 226, aelig: 230, agrave: 224, aring: 229, atilde: 227, auml: 228, ccedil: 231, eacute: 233, ecirc: 234, egrave: 232, eth: 240, euml: 235, iacute: 237, icirc: 238, igrave: 236, iuml: 239, ntilde: 241, oacute: 243, ocirc: 244, ograve: 242, oslash: 248, otilde: 245, ouml: 246, szlig: 223, thorn: 254, uacute: 250, ucirc: 251, ugrave: 249, uuml: 252, yacute: 253, yuml: 255, copy: 169, reg: 174, nbsp: 160, iexcl: 161, cent: 162, pound: 163, curren: 164, yen: 165, brvbar: 166, sect: 167, uml: 168, ordf: 170, laquo: 171, not: 172, shy: 173, macr: 175, deg: 176, plusmn: 177, sup1: 185, sup2: 178, sup3: 179, acute: 180, micro: 181, para: 182, middot: 183, cedil: 184, ordm: 186, raquo: 187, frac14: 188, frac12: 189, frac34: 190, iquest: 191, times: 215, divide: 247, OElig: 338, oelig: 339, Scaron: 352, scaron: 353, Yuml: 376, fnof: 402, circ: 710, tilde: 732, Alpha: 913, Beta: 914, Gamma: 915, Delta: 916, Epsilon: 917, Zeta: 918, Eta: 919, Theta: 920, Iota: 921, Kappa: 922, Lambda: 923, Mu: 924, Nu: 925, Xi: 926, Omicron: 927, Pi: 928, Rho: 929, Sigma: 931, Tau: 932, Upsilon: 933, Phi: 934, Chi: 935, Psi: 936, Omega: 937, alpha: 945, beta: 946, gamma: 947, delta: 948, epsilon: 949, zeta: 950, eta: 951, theta: 952, iota: 953, kappa: 954, lambda: 955, mu: 956, nu: 957, xi: 958, omicron: 959, pi: 960, rho: 961, sigmaf: 962, sigma: 963, tau: 964, upsilon: 965, phi: 966, chi: 967, psi: 968, omega: 969, thetasym: 977, upsih: 978, piv: 982, ensp: 8194, emsp: 8195, thinsp: 8201, zwnj: 8204, zwj: 8205, lrm: 8206, rlm: 8207, ndash: 8211, mdash: 8212, lsquo: 8216, rsquo: 8217, sbquo: 8218, ldquo: 8220, rdquo: 8221, bdquo: 8222, dagger: 8224, Dagger: 8225, bull: 8226, hellip: 8230, permil: 8240, prime: 8242, Prime: 8243, lsaquo: 8249, rsaquo: 8250, oline: 8254, frasl: 8260, euro: 8364, image: 8465, weierp: 8472, real: 8476, trade: 8482, alefsym: 8501, larr: 8592, uarr: 8593, rarr: 8594, darr: 8595, harr: 8596, crarr: 8629, lArr: 8656, uArr: 8657, rArr: 8658, dArr: 8659, hArr: 8660, forall: 8704, part: 8706, exist: 8707, empty: 8709, nabla: 8711, isin: 8712, notin: 8713, ni: 8715, prod: 8719, sum: 8721, minus: 8722, lowast: 8727, radic: 8730, prop: 8733, infin: 8734, ang: 8736, and: 8743, or: 8744, cap: 8745, cup: 8746, int: 8747, there4: 8756, sim: 8764, cong: 8773, asymp: 8776, ne: 8800, equiv: 8801, le: 8804, ge: 8805, sub: 8834, sup: 8835, nsub: 8836, sube: 8838, supe: 8839, oplus: 8853, otimes: 8855, perp: 8869, sdot: 8901, lceil: 8968, rceil: 8969, lfloor: 8970, rfloor: 8971, lang: 9001, rang: 9002, loz: 9674, spades: 9824, clubs: 9827, hearts: 9829, diams: 9830 }, Object.keys(l.ENTITIES).forEach(function (t) { var e = l.ENTITIES[t], n = "number" == typeof e ? String.fromCharCode(e) : e; l.ENTITIES[t] = n }), l.STATE) l.STATE[l.STATE[T]] = T; function x(t, e, n) { t[e] && t[e](n) } function S(t, e, n) { t.textNode && w(t), x(t, e, n) } function w(t) { t.textNode = A(t.opt, t.textNode), t.textNode && x(t, "ontext", t.textNode), t.textNode = "" } function A(t, e) { return t.trim && (e = e.trim()), t.normalize && (e = e.replace(/\s+/g, " ")), e } function I(t, e) { return w(t), t.trackPosition && (e += "\nLine: " + t.line + "\nColumn: " + t.column + "\nChar: " + t.c), e = new Error(e), t.error = e, x(t, "onerror", e), t } function N(t) { return t.closedRoot || O(t, "Unclosed root tag"), t.state !== T.BEGIN && t.state !== T.TEXT && I(t, "Unexpected end"), w(t), t.c = "", t.closed = !0, x(t, "onend"), i.call(t, t.strict, t.opt), t } function O(t, e) { if ("object" != typeof t || !(t instanceof i)) throw new Error("bad call to strictFail"); t.strict && I(t, e) } function R(t) { t.strict || (t.tagName = t.tagName[t.looseCase]()); var e = t.tags[t.tags.length - 1] || t, n = t.tag = { name: t.tagName, attributes: {} }; t.opt.xmlns && (n.ns = e.ns), t.attribList.length = 0 } function L(t, e) { var n = t.indexOf(":") < 0 ? ["", t] : t.split(":"), i = n[0], r = n[1]; return e && "xmlns" === t && (i = "xmlns", r = ""), { prefix: i, local: r } } function C(t) { if (t.strict || (t.attribName = t.attribName[t.looseCase]()), -1 !== t.attribList.indexOf(t.attribName) || t.tag.attributes.hasOwnProperty(t.attribName)) return t.attribName = t.attribValue = ""; if (t.opt.xmlns) { var e = L(t.attribName, !0), n = e.prefix, i = e.local; if ("xmlns" === n) if ("xml" === i && t.attribValue !== s) O(t, "xml: prefix must be bound to " + s + "\nActual: " + t.attribValue); else if ("xmlns" === i && t.attribValue !== g) O(t, "xmlns: prefix must be bound to " + g + "\nActual: " + t.attribValue); else { var r = t.tag, o = t.tags[t.tags.length - 1] || t; r.ns === o.ns && (r.ns = Object.create(o.ns)), r.ns[i] = t.attribValue } t.attribList.push([t.attribName, t.attribValue]) } else t.tag.attributes[t.attribName] = t.attribValue, S(t, "onattribute", { name: t.attribName, value: t.attribValue }); t.attribName = t.attribValue = "" } function M(e, t) { if (e.opt.xmlns) { var n = e.tag, i = L(e.tagName); n.prefix = i.prefix, n.local = i.local, n.uri = n.ns[i.prefix] || "", n.prefix && !n.uri && (O(e, "Unbound namespace prefix: " + JSON.stringify(e.tagName)), n.uri = i.prefix); var r = e.tags[e.tags.length - 1] || e; n.ns && r.ns !== n.ns && Object.keys(n.ns).forEach(function (t) { S(e, "onopennamespace", { prefix: t, uri: n.ns[t] }) }); for (var o = 0, a = e.attribList.length; o < a; o++) { var s = e.attribList[o], l = s[0], c = s[1], u = L(l, !0), p = u.prefix, d = u.local, f = "" == p ? "" : n.ns[p] || "", h = { name: l, value: c, prefix: p, local: d, uri: f }; p && "xmlns" != p && !f && (O(e, "Unbound namespace prefix: " + JSON.stringify(p)), h.uri = p), e.tag.attributes[l] = h, S(e, "onattribute", h) } e.attribList.length = 0 } e.tag.isSelfClosing = !!t, e.sawRoot = !0, e.tags.push(e.tag), S(e, "onopentag", e.tag), t || (e.noscript || "script" !== e.tagName.toLowerCase() ? e.state = T.TEXT : e.state = T.SCRIPT, e.tag = null, e.tagName = ""), e.attribName = e.attribValue = "", e.attribList.length = 0 } function D(n) { if (!n.tagName) return O(n, "Weird empty close tag."), n.textNode += "</>", void (n.state = T.TEXT); if (n.script) { if ("script" !== n.tagName) return n.script += "</" + n.tagName + ">", n.tagName = "", void (n.state = T.SCRIPT); S(n, "onscript", n.script), n.script = "" } var t = n.tags.length, e = n.tagName; n.strict || (e = e[n.looseCase]()); for (var i = e; t--;) { if (n.tags[t].name === i) break; O(n, "Unexpected close tag") } if (t < 0) return O(n, "Unmatched closing tag: " + n.tagName), n.textNode += "</" + n.tagName + ">", void (n.state = T.TEXT); n.tagName = e; for (var r = n.tags.length; r-- > t;) { var o = n.tag = n.tags.pop(); n.tagName = n.tag.name, S(n, "onclosetag", n.tagName); var a = {}; for (var s in o.ns) a[s] = o.ns[s]; var l = n.tags[n.tags.length - 1] || n; n.opt.xmlns && o.ns !== l.ns && Object.keys(o.ns).forEach(function (t) { var e = o.ns[t]; S(n, "onclosenamespace", { prefix: t, uri: e }) }) } 0 === t && (n.closedRoot = !0), n.tagName = n.attribValue = n.attribName = "", n.attribList.length = 0, n.state = T.TEXT } function P(t) { var e, n = t.entity, i = n.toLowerCase(), r = ""; return t.ENTITIES[n] ? t.ENTITIES[n] : t.ENTITIES[i] ? t.ENTITIES[i] : ("#" === (n = i).charAt(0) && ("x" === n.charAt(1) ? (n = n.slice(2), r = (e = parseInt(n, 16)).toString(16)) : (n = n.slice(1), r = (e = parseInt(n, 10)).toString(10))), n = n.replace(/^0+/, ""), r.toLowerCase() !== n ? (O(t, "Invalid character entity"), "&" + t.entity + ";") : String.fromCharCode(e)) } T = l.STATE }(void 0 === e ? sax = {} : e) }).call(this, B("buffer").Buffer) }, { buffer: 56, stream: 88, string_decoder: 55 }], 88: [function (t, e, n) { e.exports = i; var u = t("events").EventEmitter; function i() { u.call(this) } t("inherits")(i, u), i.Readable = t("readable-stream/readable.js"), i.Writable = t("readable-stream/writable.js"), i.Duplex = t("readable-stream/duplex.js"), i.Transform = t("readable-stream/transform.js"), i.PassThrough = t("readable-stream/passthrough.js"), (i.Stream = i).prototype.pipe = function (e, t) { var n = this; function i(t) { e.writable && !1 === e.write(t) && n.pause && n.pause() } function r() { n.readable && n.resume && n.resume() } n.on("data", i), e.on("drain", r), e._isStdio || t && !1 === t.end || (n.on("end", a), n.on("close", s)); var o = !1; function a() { o || (o = !0, e.end()) } function s() { o || (o = !0, "function" == typeof e.destroy && e.destroy()) } function l(t) { if (c(), 0 === u.listenerCount(this, "error")) throw t } function c() { n.removeListener("data", i), e.removeListener("drain", r), n.removeListener("end", a), n.removeListener("close", s), n.removeListener("error", l), e.removeListener("error", l), n.removeListener("end", c), n.removeListener("close", c), e.removeListener("close", c) } return n.on("error", l), e.on("error", l), n.on("end", c), n.on("close", c), e.on("close", c), e.emit("pipe", n), e } }, { events: 59, inherits: 64, "readable-stream/duplex.js": 76, "readable-stream/passthrough.js": 82, "readable-stream/readable.js": 83, "readable-stream/transform.js": 84, "readable-stream/writable.js": 85 }], 89: [function (n, t, r) { (function (l) { var c = n("./lib/request"), t = n("./lib/response"), u = n("xtend"), e = n("builtin-status-codes"), p = n("url"), i = r; i.request = function (t, e) { t = "string" == typeof t ? p.parse(t) : u(t); var n = -1 === l.location.protocol.search(/^https?:$/) ? "http:" : "", i = t.protocol || n, r = t.hostname || t.host, o = t.port, a = t.path || "/"; r && -1 !== r.indexOf(":") && (r = "[" + r + "]"), t.url = (r ? i + "//" + r : "") + (o ? ":" + o : "") + a, t.method = (t.method || "GET").toUpperCase(), t.headers = t.headers || {}; var s = new c(t); return e && s.on("response", e), s }, i.get = function (t, e) { var n = i.request(t, e); return n.end(), n }, i.ClientRequest = c, i.IncomingMessage = t.IncomingMessage, i.Agent = function () { }, i.Agent.defaultMaxSockets = 4, i.globalAgent = new i.Agent, i.STATUS_CODES = e, i.METHODS = ["CHECKOUT", "CONNECT", "COPY", "DELETE", "GET", "HEAD", "LOCK", "M-SEARCH", "MERGE", "MKACTIVITY", "MKCOL", "MOVE", "NOTIFY", "OPTIONS", "PATCH", "POST", "PROPFIND", "PROPPATCH", "PURGE", "PUT", "REPORT", "SEARCH", "SUBSCRIBE", "TRACE", "UNLOCK", "UNSUBSCRIBE"] }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./lib/request": 91, "./lib/response": 92, "builtin-status-codes": 57, url: 112, xtend: 217 }], 90: [function (t, e, o) { (function (t) { var e; function n() { if (void 0 !== e) return e; if (t.XMLHttpRequest) { e = new t.XMLHttpRequest; try { e.open("GET", t.XDomainRequest ? "/" : "https://example.com") } catch (t) { e = null } } else e = null; return e } function i(t) { var e = n(); if (!e) return !1; try { return e.responseType = t, e.responseType === t } catch (t) { } return !1 } function r(t) { return "function" == typeof t } o.fetch = r(t.fetch) && r(t.ReadableStream), o.writableStream = r(t.WritableStream), o.abortController = r(t.AbortController), o.arraybuffer = o.fetch || i("arraybuffer"), o.msstream = !o.fetch && i("ms-stream"), o.mozchunkedarraybuffer = !o.fetch && i("moz-chunked-arraybuffer"), o.overrideMimeType = o.fetch || !!n() && r(n().overrideMimeType), e = null }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 91: [function (o, d, t) { (function (l, c, a) { var u = o("./capability"), t = o("inherits"), e = o("./response"), s = o("readable-stream"), n = e.IncomingMessage, p = e.readyStates; var i = d.exports = function (e) { var t, n = this; s.Writable.call(n), n._opts = e, n._body = [], n._headers = {}, e.auth && n.setHeader("Authorization", "Basic " + a.from(e.auth).toString("base64")), Object.keys(e.headers).forEach(function (t) { n.setHeader(t, e.headers[t]) }); var i, r, o = !0; if ("disable-fetch" === e.mode || "requestTimeout" in e && !u.abortController) t = !(o = !1); else if ("prefer-streaming" === e.mode) t = !1; else if ("allow-wrong-content-type" === e.mode) t = !u.overrideMimeType; else { if (e.mode && "default" !== e.mode && "prefer-fast" !== e.mode) throw new Error("Invalid value for opts.mode"); t = !0 } n._mode = (i = t, r = o, u.fetch && r ? "fetch" : u.mozchunkedarraybuffer ? "moz-chunked-arraybuffer" : u.msstream ? "ms-stream" : u.arraybuffer && i ? "arraybuffer" : "text"), n._fetchTimer = null, n.on("finish", function () { n._onFinish() }) }; t(i, s.Writable), i.prototype.setHeader = function (t, e) { var n = t.toLowerCase(); -1 === r.indexOf(n) && (this._headers[n] = { name: t, value: e }) }, i.prototype.getHeader = function (t) { var e = this._headers[t.toLowerCase()]; return e ? e.value : null }, i.prototype.removeHeader = function (t) { delete this._headers[t.toLowerCase()] }, i.prototype._onFinish = function () { var e = this; if (!e._destroyed) { var t = e._opts, i = e._headers, n = null; "GET" !== t.method && "HEAD" !== t.method && (n = new Blob(e._body, { type: (i["content-type"] || {}).value || "" })); var r = []; if (Object.keys(i).forEach(function (t) { var e = i[t].name, n = i[t].value; Array.isArray(n) ? n.forEach(function (t) { r.push([e, t]) }) : r.push([e, n]) }), "fetch" === e._mode) { var o = null; if (u.abortController) { var a = new AbortController; o = a.signal, e._fetchAbortController = a, "requestTimeout" in t && 0 !== t.requestTimeout && (e._fetchTimer = c.setTimeout(function () { e.emit("requestTimeout"), e._fetchAbortController && e._fetchAbortController.abort() }, t.requestTimeout)) } c.fetch(e._opts.url, { method: e._opts.method, headers: r, body: n || void 0, mode: "cors", credentials: t.withCredentials ? "include" : "same-origin", signal: o }).then(function (t) { e._fetchResponse = t, e._connect() }, function (t) { c.clearTimeout(e._fetchTimer), e._destroyed || e.emit("error", t) }) } else { var s = e._xhr = new c.XMLHttpRequest; try { s.open(e._opts.method, e._opts.url, !0) } catch (t) { return void l.nextTick(function () { e.emit("error", t) }) } "responseType" in s && (s.responseType = e._mode), "withCredentials" in s && (s.withCredentials = !!t.withCredentials), "text" === e._mode && "overrideMimeType" in s && s.overrideMimeType("text/plain; charset=x-user-defined"), "requestTimeout" in t && (s.timeout = t.requestTimeout, s.ontimeout = function () { e.emit("requestTimeout") }), r.forEach(function (t) { s.setRequestHeader(t[0], t[1]) }), e._response = null, s.onreadystatechange = function () { switch (s.readyState) { case p.LOADING: case p.DONE: e._onXHRProgress() } }, "moz-chunked-arraybuffer" === e._mode && (s.onprogress = function () { e._onXHRProgress() }), s.onerror = function () { e._destroyed || e.emit("error", new Error("XHR error")) }; try { s.send(n) } catch (t) { return void l.nextTick(function () { e.emit("error", t) }) } } } }, i.prototype._onXHRProgress = function () { (function (t) { try { var e = t.status; return null !== e && 0 !== e } catch (t) { return !1 } })(this._xhr) && !this._destroyed && (this._response || this._connect(), this._response._onXHRProgress()) }, i.prototype._connect = function () { var e = this; e._destroyed || (e._response = new n(e._xhr, e._fetchResponse, e._mode, e._fetchTimer), e._response.on("error", function (t) { e.emit("error", t) }), e.emit("response", e._response)) }, i.prototype._write = function (t, e, n) { this._body.push(t), n() }, i.prototype.abort = i.prototype.destroy = function () { this._destroyed = !0, c.clearTimeout(this._fetchTimer), this._response && (this._response._destroyed = !0), this._xhr ? this._xhr.abort() : this._fetchAbortController && this._fetchAbortController.abort() }, i.prototype.end = function (t, e, n) { "function" == typeof t && (n = t, t = void 0), s.Writable.prototype.end.call(this, t, e, n) }, i.prototype.flushHeaders = function () { }, i.prototype.setTimeout = function () { }, i.prototype.setNoDelay = function () { }, i.prototype.setSocketKeepAlive = function () { }; var r = ["accept-charset", "accept-encoding", "access-control-request-headers", "access-control-request-method", "connection", "content-length", "cookie", "cookie2", "date", "dnt", "expect", "host", "keep-alive", "origin", "referer", "te", "trailer", "transfer-encoding", "upgrade", "via"] }).call(this, o("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, o("buffer").Buffer) }, { "./capability": 90, "./response": 92, _process: 72, buffer: 56, inherits: 64, "readable-stream": 107 }], 92: [function (n, t, i) { (function (c, u, p) { var d = n("./capability"), t = n("inherits"), f = n("readable-stream"), s = i.readyStates = { UNSENT: 0, OPENED: 1, HEADERS_RECEIVED: 2, LOADING: 3, DONE: 4 }, e = i.IncomingMessage = function (t, e, n, i) { var r = this; if (f.Readable.call(r), r._mode = n, r.headers = {}, r.rawHeaders = [], r.trailers = {}, r.rawTrailers = [], r.on("end", function () { c.nextTick(function () { r.emit("close") }) }), "fetch" === n) { if (r._fetchResponse = e, r.url = e.url, r.statusCode = e.status, r.statusMessage = e.statusText, e.headers.forEach(function (t, e) { r.headers[e.toLowerCase()] = t, r.rawHeaders.push(e, t) }), d.writableStream) { var o = new WritableStream({ write: function (n) { return new Promise(function (t, e) { r._destroyed ? e() : r.push(p.from(n)) ? t() : r._resumeFetch = t }) }, close: function () { u.clearTimeout(i), r._destroyed || r.push(null) }, abort: function (t) { r._destroyed || r.emit("error", t) } }); try { return void e.body.pipeTo(o).catch(function (t) { u.clearTimeout(i), r._destroyed || r.emit("error", t) }) } catch (t) { } } var a = e.body.getReader(); !function e() { a.read().then(function (t) { if (!r._destroyed) { if (t.done) return u.clearTimeout(i), void r.push(null); r.push(p.from(t.value)), e() } }).catch(function (t) { u.clearTimeout(i), r._destroyed || r.emit("error", t) }) }() } else { if (r._xhr = t, r._pos = 0, r.url = t.responseURL, r.statusCode = t.status, r.statusMessage = t.statusText, t.getAllResponseHeaders().split(/\r?\n/).forEach(function (t) { var e = t.match(/^([^:]+):\s*(.*)/); if (e) { var n = e[1].toLowerCase(); "set-cookie" === n ? (void 0 === r.headers[n] && (r.headers[n] = []), r.headers[n].push(e[2])) : void 0 !== r.headers[n] ? r.headers[n] += ", " + e[2] : r.headers[n] = e[2], r.rawHeaders.push(e[1], e[2]) } }), r._charset = "x-user-defined", !d.overrideMimeType) { var s = r.rawHeaders["mime-type"]; if (s) { var l = s.match(/;\s*charset=([^;])(;|$)/); l && (r._charset = l[1].toLowerCase()) } r._charset || (r._charset = "utf-8") } } }; t(e, f.Readable), e.prototype._read = function () { var t = this._resumeFetch; t && (this._resumeFetch = null, t()) }, e.prototype._onXHRProgress = function () { var t = this, e = t._xhr, n = null; switch (t._mode) { case "text": if ((n = e.responseText).length > t._pos) { var i = n.substr(t._pos); if ("x-user-defined" === t._charset) { for (var r = p.alloc(i.length), o = 0; o < i.length; o++)r[o] = 255 & i.charCodeAt(o); t.push(r) } else t.push(i, t._charset); t._pos = n.length } break; case "arraybuffer": if (e.readyState !== s.DONE || !e.response) break; n = e.response, t.push(p.from(new Uint8Array(n))); break; case "moz-chunked-arraybuffer": if (n = e.response, e.readyState !== s.LOADING || !n) break; t.push(p.from(new Uint8Array(n))); break; case "ms-stream": if (n = e.response, e.readyState !== s.LOADING) break; var a = new u.MSStreamReader; a.onprogress = function () { a.result.byteLength > t._pos && (t.push(p.from(new Uint8Array(a.result.slice(t._pos)))), t._pos = a.result.byteLength) }, a.onload = function () { t.push(null) }, a.readAsArrayBuffer(n) }t._xhr.readyState === s.DONE && "ms-stream" !== t._mode && t.push(null) } }).call(this, n("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, n("buffer").Buffer) }, { "./capability": 90, _process: 72, buffer: 56, inherits: 64, "readable-stream": 107 }], 93: [function (t, e, n) { "use strict"; var i = {}; function r(t, s, e) { e || (e = Error); var n = function (a) { var t, e; function n(t, e, n) { return a.call(this, (i = t, r = e, o = n, "string" == typeof s ? s : s(i, r, o))) || this; var i, r, o } return e = a, (t = n).prototype = Object.create(e.prototype), (t.prototype.constructor = t).__proto__ = e, n }(e); n.prototype.name = e.name, n.prototype.code = t, i[t] = n } function h(t, e) { if (Array.isArray(t)) { var n = t.length; return t = t.map(function (t) { return String(t) }), 2 < n ? "one of ".concat(e, " ").concat(t.slice(0, n - 1).join(", "), ", or ") + t[n - 1] : 2 === n ? "one of ".concat(e, " ").concat(t[0], " or ").concat(t[1]) : "of ".concat(e, " ").concat(t[0]) } return "of ".concat(e, " ").concat(String(t)) } r("ERR_INVALID_OPT_VALUE", function (t, e) { return 'The value "' + e + '" is invalid for option "' + t + '"' }, TypeError), r("ERR_INVALID_ARG_TYPE", function (t, e, n) { var i, r, o, a, s, l, c, u, p, d; if ("string" == typeof e && (r = "not ", e.substr(!o || o < 0 ? 0 : +o, r.length) === r) ? (i = "must not be", e = e.replace(/^not /, "")) : i = "must be", u = t, p = " argument", (void 0 === d || d > u.length) && (d = u.length), u.substring(d - p.length, d) === p) a = "The ".concat(t, " ").concat(i, " ").concat(h(e, "type")); else { var f = ("number" != typeof c && (c = 0), c + (l = ".").length > (s = t).length || -1 === s.indexOf(l, c) ? "argument" : "property"); a = 'The "'.concat(t, '" ').concat(f, " ").concat(i, " ").concat(h(e, "type")) } return a += ". Received type ".concat(typeof n) }, TypeError), r("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), r("ERR_METHOD_NOT_IMPLEMENTED", function (t) { return "The " + t + " method is not implemented" }), r("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), r("ERR_STREAM_DESTROYED", function (t) { return "Cannot call " + t + " after a stream was destroyed" }), r("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"), r("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), r("ERR_STREAM_WRITE_AFTER_END", "write after end"), r("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError), r("ERR_UNKNOWN_ENCODING", function (t) { return "Unknown encoding: " + t }, TypeError), r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"), e.exports.codes = i }, {}], 94: [function (t, e, n) { (function (n) { "use strict"; var i = new Set; e.exports.emitExperimentalWarning = n.emitWarning ? function (t) { if (!i.has(t)) { var e = t + " is an experimental feature. This feature could change at any time"; i.add(t), n.emitWarning(e, "ExperimentalWarning") } } : function () { } }).call(this, t("_process")) }, { _process: 72 }], 95: [function (u, p, t) { (function (t) { "use strict"; var e = Object.keys || function (t) { var e = []; for (var n in t) e.push(n); return e }; p.exports = s; var n = u("./_stream_readable"), i = u("./_stream_writable"); u("inherits")(s, n); for (var r = e(i.prototype), o = 0; o < r.length; o++) { var a = r[o]; s.prototype[a] || (s.prototype[a] = i.prototype[a]) } function s(t) { if (!(this instanceof s)) return new s(t); n.call(this, t), i.call(this, t), this.allowHalfOpen = !0, t && (!1 === t.readable && (this.readable = !1), !1 === t.writable && (this.writable = !1), !1 === t.allowHalfOpen && (this.allowHalfOpen = !1, this.once("end", l))) } function l() { this._writableState.ended || t.nextTick(c, this) } function c(t) { t.end() } Object.defineProperty(s.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), Object.defineProperty(s.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(s.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(s.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) }, set: function (t) { void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = t, this._writableState.destroyed = t) } }) }).call(this, u("_process")) }, { "./_stream_readable": 97, "./_stream_writable": 99, _process: 72, inherits: 64 }], 96: [function (t, e, n) { "use strict"; e.exports = r; var i = t("./_stream_transform"); function r(t) { if (!(this instanceof r)) return new r(t); i.call(this, t) } t("inherits")(r, i), r.prototype._transform = function (t, e, n) { n(null, t) } }, { "./_stream_transform": 98, inherits: 64 }], 97: [function (F, j, t) { (function (m, t) { "use strict"; var i; (j.exports = T).ReadableState = y; F("events").EventEmitter; var g = function (t, e) { return t.listeners(e).length }, r = F("./internal/streams/stream"), l = F("buffer").Buffer, c = t.Uint8Array || function () { }; var v, e = F("util"); v = e && e.debuglog ? e.debuglog("stream") : function () { }; var o, n, a = F("./internal/streams/buffer_list"), s = F("./internal/streams/destroy"), u = F("./internal/streams/state").getHighWaterMark, p = F("../errors").codes, d = p.ERR_INVALID_ARG_TYPE, f = p.ERR_STREAM_PUSH_AFTER_EOF, h = p.ERR_METHOD_NOT_IMPLEMENTED, _ = p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT, E = F("../experimentalWarning").emitExperimentalWarning; F("inherits")(T, r); var b = ["error", "close", "destroy", "pause", "resume"]; function y(t, e, n) { i = i || F("./_stream_duplex"), t = t || {}, "boolean" != typeof n && (n = e instanceof i), this.objectMode = !!t.objectMode, n && (this.objectMode = this.objectMode || !!t.readableObjectMode), this.highWaterMark = u(this, t, "readableHighWaterMark", n), this.buffer = new a, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.paused = !0, this.emitClose = !1 !== t.emitClose, this.destroyed = !1, this.defaultEncoding = t.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, t.encoding && (o || (o = F("string_decoder/").StringDecoder), this.decoder = new o(t.encoding), this.encoding = t.encoding) } function T(t) { if (i = i || F("./_stream_duplex"), !(this instanceof T)) return new T(t); var e = this instanceof i; this._readableState = new y(t, this, e), this.readable = !0, t && ("function" == typeof t.read && (this._read = t.read), "function" == typeof t.destroy && (this._destroy = t.destroy)), r.call(this) } function x(t, e, n, i, r) { v("readableAddChunk", e); var o, a, s = t._readableState; if (null === e) s.reading = !1, function (t, e) { if (e.ended) return; if (e.decoder) { var n = e.decoder.end(); n && n.length && (e.buffer.push(n), e.length += e.objectMode ? 1 : n.length) } e.ended = !0, e.sync ? I(t) : (e.needReadable = !1, e.emittedReadable || (e.emittedReadable = !0, N(t))) }(t, s); else if (r || (o = function (t, e) { var n; i = e, l.isBuffer(i) || i instanceof c || "string" == typeof e || void 0 === e || t.objectMode || (n = new d("chunk", ["string", "Buffer", "Uint8Array"], e)); var i; return n }(s, e)), o) t.emit("error", o); else if (s.objectMode || e && 0 < e.length) if ("string" == typeof e || s.objectMode || Object.getPrototypeOf(e) === l.prototype || (a = e, e = l.from(a)), i) s.endEmitted ? t.emit("error", new _) : S(t, s, e, !0); else if (s.ended) t.emit("error", new f); else { if (s.destroyed) return !1; s.reading = !1, s.decoder && !n ? (e = s.decoder.write(e), s.objectMode || 0 !== e.length ? S(t, s, e, !1) : O(t, s)) : S(t, s, e, !1) } else i || (s.reading = !1, O(t, s)); return !s.ended && (s.length < s.highWaterMark || 0 === s.length) } function S(t, e, n, i) { e.flowing && 0 === e.length && !e.sync ? (e.awaitDrain = 0, t.emit("data", n)) : (e.length += e.objectMode ? 1 : n.length, i ? e.buffer.unshift(n) : e.buffer.push(n), e.needReadable && I(t)), O(t, e) } Object.defineProperty(T.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && this._readableState.destroyed }, set: function (t) { this._readableState && (this._readableState.destroyed = t) } }), T.prototype.destroy = s.destroy, T.prototype._undestroy = s.undestroy, T.prototype._destroy = function (t, e) { e(t) }, T.prototype.push = function (t, e) { var n, i = this._readableState; return i.objectMode ? n = !0 : "string" == typeof t && ((e = e || i.defaultEncoding) !== i.encoding && (t = l.from(t, e), e = ""), n = !0), x(this, t, e, !1, n) }, T.prototype.unshift = function (t) { return x(this, t, null, !0, !1) }, T.prototype.isPaused = function () { return !1 === this._readableState.flowing }, T.prototype.setEncoding = function (t) { return o || (o = F("string_decoder/").StringDecoder), this._readableState.decoder = new o(t), this._readableState.encoding = this._readableState.decoder.encoding, this }; var w = 8388608; function A(t, e) { return t <= 0 || 0 === e.length && e.ended ? 0 : e.objectMode ? 1 : t != t ? e.flowing && e.length ? e.buffer.head.data.length : e.length : (t > e.highWaterMark && (e.highWaterMark = (w <= (n = t) ? n = w : (n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++), n)), t <= e.length ? t : e.ended ? e.length : (e.needReadable = !0, 0)); var n } function I(t) { var e = t._readableState; e.needReadable = !1, e.emittedReadable || (v("emitReadable", e.flowing), e.emittedReadable = !0, m.nextTick(N, t)) } function N(t) { var e = t._readableState; v("emitReadable_", e.destroyed, e.length, e.ended), e.destroyed || !e.length && !e.ended || t.emit("readable"), e.needReadable = !e.flowing && !e.ended && e.length <= e.highWaterMark, D(t) } function O(t, e) { e.readingMore || (e.readingMore = !0, m.nextTick(R, t, e)) } function R(t, e) { for (; !e.reading && !e.ended && (e.length < e.highWaterMark || e.flowing && 0 === e.length);) { var n = e.length; if (v("maybeReadMore read 0"), t.read(0), n === e.length) break } e.readingMore = !1 } function L(t) { var e = t._readableState; e.readableListening = 0 < t.listenerCount("readable"), e.resumeScheduled && !e.paused ? e.flowing = !0 : 0 < t.listenerCount("data") && t.resume() } function C(t) { v("readable nexttick read 0"), t.read(0) } function M(t, e) { v("resume", e.reading), e.reading || t.read(0), e.resumeScheduled = !1, t.emit("resume"), D(t), e.flowing && !e.reading && t.read(0) } function D(t) { var e = t._readableState; for (v("flow", e.flowing); e.flowing && null !== t.read();); } function P(t, e) { return 0 === e.length ? null : (e.objectMode ? n = e.buffer.shift() : !t || t >= e.length ? (n = e.decoder ? e.buffer.join("") : 1 === e.buffer.length ? e.buffer.first() : e.buffer.concat(e.length), e.buffer.clear()) : n = e.buffer.consume(t, e.decoder), n); var n } function k(t) { var e = t._readableState; v("endReadable", e.endEmitted), e.endEmitted || (e.ended = !0, m.nextTick(B, e, t)) } function B(t, e) { v("endReadableNT", t.endEmitted, t.length), t.endEmitted || 0 !== t.length || (t.endEmitted = !0, e.readable = !1, e.emit("end")) } function U(t, e) { for (var n = 0, i = t.length; n < i; n++)if (t[n] === e) return n; return -1 } T.prototype.read = function (t) { v("read", t), t = parseInt(t, 10); var e = this._readableState, n = t; if (0 !== t && (e.emittedReadable = !1), 0 === t && e.needReadable && ((0 !== e.highWaterMark ? e.length >= e.highWaterMark : 0 < e.length) || e.ended)) return v("read: emitReadable", e.length, e.ended), 0 === e.length && e.ended ? k(this) : I(this), null; if (0 === (t = A(t, e)) && e.ended) return 0 === e.length && k(this), null; var i, r = e.needReadable; return v("need readable", r), (0 === e.length || e.length - t < e.highWaterMark) && v("length less than watermark", r = !0), e.ended || e.reading ? v("reading or ended", r = !1) : r && (v("do read"), e.reading = !0, e.sync = !0, 0 === e.length && (e.needReadable = !0), this._read(e.highWaterMark), e.sync = !1, e.reading || (t = A(n, e))), null === (i = 0 < t ? P(t, e) : null) ? (e.needReadable = !0, t = 0) : (e.length -= t, e.awaitDrain = 0), 0 === e.length && (e.ended || (e.needReadable = !0), n !== t && e.ended && k(this)), null !== i && this.emit("data", i), i }, T.prototype._read = function (t) { this.emit("error", new h("_read()")) }, T.prototype.pipe = function (n, t) { var i = this, r = this._readableState; switch (r.pipesCount) { case 0: r.pipes = n; break; case 1: r.pipes = [r.pipes, n]; break; default: r.pipes.push(n) }r.pipesCount += 1, v("pipe count=%d opts=%j", r.pipesCount, t); var e = (!t || !1 !== t.end) && n !== m.stdout && n !== m.stderr ? a : h; function o(t, e) { v("onunpipe"), t === i && e && !1 === e.hasUnpiped && (e.hasUnpiped = !0, v("cleanup"), n.removeListener("close", d), n.removeListener("finish", f), n.removeListener("drain", l), n.removeListener("error", p), n.removeListener("unpipe", o), i.removeListener("end", a), i.removeListener("end", h), i.removeListener("data", u), c = !0, !r.awaitDrain || n._writableState && !n._writableState.needDrain || l()) } function a() { v("onend"), n.end() } r.endEmitted ? m.nextTick(e) : i.once("end", e), n.on("unpipe", o); var s, l = (s = i, function () { var t = s._readableState; v("pipeOnDrain", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && g(s, "data") && (t.flowing = !0, D(s)) }); n.on("drain", l); var c = !1; function u(t) { v("ondata"); var e = n.write(t); v("dest.write", e), !1 === e && ((1 === r.pipesCount && r.pipes === n || 1 < r.pipesCount && -1 !== U(r.pipes, n)) && !c && (v("false write response, pause", r.awaitDrain), r.awaitDrain++), i.pause()) } function p(t) { v("onerror", t), h(), n.removeListener("error", p), 0 === g(n, "error") && n.emit("error", t) } function d() { n.removeListener("finish", f), h() } function f() { v("onfinish"), n.removeListener("close", d), h() } function h() { v("unpipe"), i.unpipe(n) } return i.on("data", u), function (t, e, n) { if ("function" == typeof t.prependListener) return t.prependListener(e, n); t._events && t._events[e] ? Array.isArray(t._events[e]) ? t._events[e].unshift(n) : t._events[e] = [n, t._events[e]] : t.on(e, n) }(n, "error", p), n.once("close", d), n.once("finish", f), n.emit("pipe", i), r.flowing || (v("pipe resume"), i.resume()), n }, T.prototype.unpipe = function (t) { var e = this._readableState, n = { hasUnpiped: !1 }; if (0 === e.pipesCount) return this; if (1 === e.pipesCount) return t && t !== e.pipes || (t || (t = e.pipes), e.pipes = null, e.pipesCount = 0, e.flowing = !1, t && t.emit("unpipe", this, n)), this; if (!t) { var i = e.pipes, r = e.pipesCount; e.pipes = null, e.pipesCount = 0, e.flowing = !1; for (var o = 0; o < r; o++)i[o].emit("unpipe", this, { hasUnpiped: !1 }); return this } var a = U(e.pipes, t); return -1 === a || (e.pipes.splice(a, 1), e.pipesCount -= 1, 1 === e.pipesCount && (e.pipes = e.pipes[0]), t.emit("unpipe", this, n)), this }, T.prototype.addListener = T.prototype.on = function (t, e) { var n = r.prototype.on.call(this, t, e), i = this._readableState; return "data" === t ? (i.readableListening = 0 < this.listenerCount("readable"), !1 !== i.flowing && this.resume()) : "readable" === t && (i.endEmitted || i.readableListening || (i.readableListening = i.needReadable = !0, i.flowing = !1, i.emittedReadable = !1, v("on readable", i.length, i.reading), i.length ? I(this) : i.reading || m.nextTick(C, this))), n }, T.prototype.removeListener = function (t, e) { var n = r.prototype.removeListener.call(this, t, e); return "readable" === t && m.nextTick(L, this), n }, T.prototype.removeAllListeners = function (t) { var e = r.prototype.removeAllListeners.apply(this, arguments); return "readable" !== t && void 0 !== t || m.nextTick(L, this), e }, T.prototype.resume = function () { var t, e, n = this._readableState; return n.flowing || (v("resume"), n.flowing = !n.readableListening, t = this, (e = n).resumeScheduled || (e.resumeScheduled = !0, m.nextTick(M, t, e))), n.paused = !1, this }, T.prototype.pause = function () { return v("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (v("pause"), this._readableState.flowing = !1, this.emit("pause")), this._readableState.paused = !0, this }, T.prototype.wrap = function (e) { var n = this, i = this._readableState, r = !1; for (var t in e.on("end", function () { if (v("wrapped end"), i.decoder && !i.ended) { var t = i.decoder.end(); t && t.length && n.push(t) } n.push(null) }), e.on("data", function (t) { (v("wrapped data"), i.decoder && (t = i.decoder.write(t)), i.objectMode && null == t) || (i.objectMode || t && t.length) && (n.push(t) || (r = !0, e.pause())) }), e) void 0 === this[t] && "function" == typeof e[t] && (this[t] = function (t) { return function () { return e[t].apply(e, arguments) } }(t)); for (var o = 0; o < b.length; o++)e.on(b[o], this.emit.bind(this, b[o])); return this._read = function (t) { v("wrapped _read", t), r && (r = !1, e.resume()) }, this }, "function" == typeof Symbol && (T.prototype[Symbol.asyncIterator] = function () { return E("Readable[Symbol.asyncIterator]"), void 0 === n && (n = F("./internal/streams/async_iterator")), n(this) }), Object.defineProperty(T.prototype, "readableHighWaterMark", { enumerable: !1, get: function () { return this._readableState.highWaterMark } }), Object.defineProperty(T.prototype, "readableBuffer", { enumerable: !1, get: function () { return this._readableState && this._readableState.buffer } }), Object.defineProperty(T.prototype, "readableFlowing", { enumerable: !1, get: function () { return this._readableState.flowing }, set: function (t) { this._readableState && (this._readableState.flowing = t) } }), T._fromList = P, Object.defineProperty(T.prototype, "readableLength", { enumerable: !1, get: function () { return this._readableState.length } }) }).call(this, F("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 93, "../experimentalWarning": 94, "./_stream_duplex": 95, "./internal/streams/async_iterator": 100, "./internal/streams/buffer_list": 101, "./internal/streams/destroy": 102, "./internal/streams/state": 105, "./internal/streams/stream": 106, _process: 72, buffer: 56, events: 59, inherits: 64, "string_decoder/": 108, util: 52 }], 98: [function (t, e, n) { "use strict"; e.exports = c; var i = t("../errors").codes, r = i.ERR_METHOD_NOT_IMPLEMENTED, o = i.ERR_MULTIPLE_CALLBACK, a = i.ERR_TRANSFORM_ALREADY_TRANSFORMING, s = i.ERR_TRANSFORM_WITH_LENGTH_0, l = t("./_stream_duplex"); function c(t) { if (!(this instanceof c)) return new c(t); l.call(this, t), this._transformState = { afterTransform: function (t, e) { var n = this._transformState; n.transforming = !1; var i = n.writecb; if (null === i) return this.emit("error", new o); n.writechunk = null, (n.writecb = null) != e && this.push(e), i(t); var r = this._readableState; r.reading = !1, (r.needReadable || r.length < r.highWaterMark) && this._read(r.highWaterMark) }.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null }, this._readableState.needReadable = !0, this._readableState.sync = !1, t && ("function" == typeof t.transform && (this._transform = t.transform), "function" == typeof t.flush && (this._flush = t.flush)), this.on("prefinish", u) } function u() { var n = this; "function" != typeof this._flush || this._readableState.destroyed ? p(this, null, null) : this._flush(function (t, e) { p(n, t, e) }) } function p(t, e, n) { if (e) return t.emit("error", e); if (null != n && t.push(n), t._writableState.length) throw new s; if (t._transformState.transforming) throw new a; return t.push(null) } t("inherits")(c, l), c.prototype.push = function (t, e) { return this._transformState.needTransform = !1, l.prototype.push.call(this, t, e) }, c.prototype._transform = function (t, e, n) { n(new r("_transform()")) }, c.prototype._write = function (t, e, n) { var i = this._transformState; if (i.writecb = n, i.writechunk = t, i.writeencoding = e, !i.transforming) { var r = this._readableState; (i.needTransform || r.needReadable || r.length < r.highWaterMark) && this._read(r.highWaterMark) } }, c.prototype._read = function (t) { var e = this._transformState; null === e.writechunk || e.transforming ? e.needTransform = !0 : (e.transforming = !0, this._transform(e.writechunk, e.writeencoding, e.afterTransform)) }, c.prototype._destroy = function (t, e) { l.prototype._destroy.call(this, t, function (t) { e(t) }) } }, { "../errors": 93, "./_stream_duplex": 95, inherits: 64 }], 99: [function (O, R, t) { (function (g, t) { "use strict"; function p(t) { var e = this; this.next = null, this.entry = null, this.finish = function () { !function (t, e, n) { var i = t.entry; t.entry = null; for (; i;) { var r = i.callback; e.pendingcb--, r(n), i = i.next } e.corkedRequestsFree.next = t }(e, t) } } var r; (R.exports = m).WritableState = h; var e = { deprecate: O("util-deprecate") }, n = O("./internal/streams/stream"), v = O("buffer").Buffer, _ = t.Uint8Array || function () { }; var i, o = O("./internal/streams/destroy"), a = O("./internal/streams/state").getHighWaterMark, s = O("../errors").codes, E = s.ERR_INVALID_ARG_TYPE, l = s.ERR_METHOD_NOT_IMPLEMENTED, d = s.ERR_MULTIPLE_CALLBACK, c = s.ERR_STREAM_CANNOT_PIPE, u = s.ERR_STREAM_DESTROYED, b = s.ERR_STREAM_NULL_VALUES, y = s.ERR_STREAM_WRITE_AFTER_END, f = s.ERR_UNKNOWN_ENCODING; function T() { } function h(t, e, n) { r = r || O("./_stream_duplex"), t = t || {}, "boolean" != typeof n && (n = e instanceof r), this.objectMode = !!t.objectMode, n && (this.objectMode = this.objectMode || !!t.writableObjectMode), this.highWaterMark = a(this, t, "writableHighWaterMark", n), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1; var i = (this.destroyed = !1) === t.decodeStrings; this.decodeStrings = !i, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (t) { !function (t, e) { var n = t._writableState, i = n.sync, r = n.writecb; if ("function" != typeof r) throw new d; if (p = n, p.writing = !1, p.writecb = null, p.length -= p.writelen, p.writelen = 0, e) a = t, s = n, l = i, c = e, u = r, --s.pendingcb, l ? (g.nextTick(u, c), g.nextTick(N, a, s), a._writableState.errorEmitted = !0, a.emit("error", c)) : (u(c), a._writableState.errorEmitted = !0, a.emit("error", c), N(a, s)); else { var o = A(n) || t.destroyed; o || n.corked || n.bufferProcessing || !n.bufferedRequest || w(t, n), i ? g.nextTick(S, t, n, o, r) : S(t, n, o, r) } var a, s, l, c, u; var p }(e, t) }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !1 !== t.emitClose, this.bufferedRequestCount = 0, this.corkedRequestsFree = new p(this) } function m(t) { var e = this instanceof (r = r || O("./_stream_duplex")); if (!e && !i.call(m, this)) return new m(t); this._writableState = new h(t, this, e), this.writable = !0, t && ("function" == typeof t.write && (this._write = t.write), "function" == typeof t.writev && (this._writev = t.writev), "function" == typeof t.destroy && (this._destroy = t.destroy), "function" == typeof t.final && (this._final = t.final)), n.call(this) } function x(t, e, n, i, r, o, a) { e.writelen = i, e.writecb = a, e.writing = !0, e.sync = !0, e.destroyed ? e.onwrite(new u("write")) : n ? t._writev(r, e.onwrite) : t._write(r, o, e.onwrite), e.sync = !1 } function S(t, e, n, i) { var r, o; n || (r = t, 0 === (o = e).length && o.needDrain && (o.needDrain = !1, r.emit("drain"))), e.pendingcb--, i(), N(t, e) } function w(t, e) { e.bufferProcessing = !0; var n = e.bufferedRequest; if (t._writev && n && n.next) { var i = e.bufferedRequestCount, r = new Array(i), o = e.corkedRequestsFree; o.entry = n; for (var a = 0, s = !0; n;)(r[a] = n).isBuf || (s = !1), n = n.next, a += 1; r.allBuffers = s, x(t, e, !0, e.length, r, "", o.finish), e.pendingcb++, e.lastBufferedRequest = null, o.next ? (e.corkedRequestsFree = o.next, o.next = null) : e.corkedRequestsFree = new p(e), e.bufferedRequestCount = 0 } else { for (; n;) { var l = n.chunk, c = n.encoding, u = n.callback; if (x(t, e, !1, e.objectMode ? 1 : l.length, l, c, u), n = n.next, e.bufferedRequestCount--, e.writing) break } null === n && (e.lastBufferedRequest = null) } e.bufferedRequest = n, e.bufferProcessing = !1 } function A(t) { return t.ending && 0 === t.length && null === t.bufferedRequest && !t.finished && !t.writing } function I(e, n) { e._final(function (t) { n.pendingcb--, t && e.emit("error", t), n.prefinished = !0, e.emit("prefinish"), N(e, n) }) } function N(t, e) { var n, i, r = A(e); return r && (n = t, (i = e).prefinished || i.finalCalled || ("function" != typeof n._final || i.destroyed ? (i.prefinished = !0, n.emit("prefinish")) : (i.pendingcb++, i.finalCalled = !0, g.nextTick(I, n, i))), 0 === e.pendingcb && (e.finished = !0, t.emit("finish"))), r } O("inherits")(m, n), h.prototype.getBuffer = function () { for (var t = this.bufferedRequest, e = []; t;)e.push(t), t = t.next; return e }, function () { try { Object.defineProperty(h.prototype, "buffer", { get: e.deprecate(function () { return this.getBuffer() }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }) } catch (t) { } }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (i = Function.prototype[Symbol.hasInstance], Object.defineProperty(m, Symbol.hasInstance, { value: function (t) { return !!i.call(this, t) || this === m && (t && t._writableState instanceof h) } })) : i = function (t) { return t instanceof this }, m.prototype.pipe = function () { this.emit("error", new c) }, m.prototype.write = function (t, e, n) { var i, r, o, a, s, l, c, u, p, d, f = this._writableState, h = !1, m = !f.objectMode && (i = t, v.isBuffer(i) || i instanceof _); return m && !v.isBuffer(t) && (r = t, t = v.from(r)), "function" == typeof e && (n = e, e = null), m ? e = "buffer" : e || (e = f.defaultEncoding), "function" != typeof n && (n = T), f.ending ? (u = this, p = n, d = new y, u.emit("error", d), g.nextTick(p, d)) : (m || (o = this, a = f, l = n, null === (s = t) ? c = new b : "string" == typeof s || a.objectMode || (c = new E("chunk", ["string", "Buffer"], s)), !c || (o.emit("error", c), g.nextTick(l, c), 0))) && (f.pendingcb++, h = function (t, e, n, i, r, o) { if (!n) { var a = function (t, e, n) { t.objectMode || !1 === t.decodeStrings || "string" != typeof e || (e = v.from(e, n)); return e }(e, i, r); i !== a && (n = !0, r = "buffer", i = a) } var s = e.objectMode ? 1 : i.length; e.length += s; var l = e.length < e.highWaterMark; l || (e.needDrain = !0); if (e.writing || e.corked) { var c = e.lastBufferedRequest; e.lastBufferedRequest = { chunk: i, encoding: r, isBuf: n, callback: o, next: null }, c ? c.next = e.lastBufferedRequest : e.bufferedRequest = e.lastBufferedRequest, e.bufferedRequestCount += 1 } else x(t, e, !1, s, i, r, o); return l }(this, f, m, t, e, n)), h }, m.prototype.cork = function () { this._writableState.corked++ }, m.prototype.uncork = function () { var t = this._writableState; t.corked && (t.corked--, t.writing || t.corked || t.bufferProcessing || !t.bufferedRequest || w(this, t)) }, m.prototype.setDefaultEncoding = function (t) { if ("string" == typeof t && (t = t.toLowerCase()), !(-1 < ["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((t + "").toLowerCase()))) throw new f(t); return this._writableState.defaultEncoding = t, this }, Object.defineProperty(m.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(m.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), m.prototype._write = function (t, e, n) { n(new l("_write()")) }, m.prototype._writev = null, m.prototype.end = function (t, e, n) { var i = this._writableState; return "function" == typeof t ? (n = t, e = t = null) : "function" == typeof e && (n = e, e = null), null != t && this.write(t, e), i.corked && (i.corked = 1, this.uncork()), i.ending || function (t, e, n) { e.ending = !0, N(t, e), n && (e.finished ? g.nextTick(n) : t.once("finish", n)); e.ended = !0, t.writable = !1 }(this, i, n), this }, Object.defineProperty(m.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(m.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._writableState && this._writableState.destroyed }, set: function (t) { this._writableState && (this._writableState.destroyed = t) } }), m.prototype.destroy = o.destroy, m.prototype._undestroy = o.undestroy, m.prototype._destroy = function (t, e) { e(t) } }).call(this, O("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 93, "./_stream_duplex": 95, "./internal/streams/destroy": 102, "./internal/streams/state": 105, "./internal/streams/stream": 106, _process: 72, buffer: 56, inherits: 64, "util-deprecate": 114 }], 100: [function (i, g, t) { (function (s) { "use strict"; var t; function n(t, e, n) { return e in t ? Object.defineProperty(t, e, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = n, t } var r = i("./end-of-stream"), o = Symbol("lastResolve"), a = Symbol("lastReject"), l = Symbol("error"), c = Symbol("ended"), u = Symbol("lastPromise"), p = Symbol("handlePromise"), d = Symbol("stream"); function f(t, e) { return { value: t, done: e } } function h(t) { var e = t[o]; if (null !== e) { var n = t[d].read(); null !== n && (t[u] = null, t[o] = null, t[a] = null, e(f(n, !1))) } } var e = Object.getPrototypeOf(function () { }), m = Object.setPrototypeOf((n(t = { get stream() { return this[d] }, next: function () { var n = this, t = this[l]; if (null !== t) return Promise.reject(t); if (this[c]) return Promise.resolve(f(void 0, !0)); if (this[d].destroyed) return new Promise(function (t, e) { s.nextTick(function () { n[l] ? e(n[l]) : t(f(void 0, !0)) }) }); var e, i, r, o = this[u]; if (o) e = new Promise((i = o, r = this, function (t, e) { i.then(function () { r[c] ? t(f(void 0, !0)) : r[p](t, e) }, e) })); else { var a = this[d].read(); if (null !== a) return Promise.resolve(f(a, !1)); e = new Promise(this[p]) } return this[u] = e } }, Symbol.asyncIterator, function () { return this }), n(t, "return", function () { var t = this; return new Promise(function (e, n) { t[d].destroy(null, function (t) { t ? n(t) : e(f(void 0, !0)) }) }) }), t), e); g.exports = function (t) { var e, i = Object.create(m, (n(e = {}, d, { value: t, writable: !0 }), n(e, o, { value: null, writable: !0 }), n(e, a, { value: null, writable: !0 }), n(e, l, { value: null, writable: !0 }), n(e, c, { value: t._readableState.endEmitted, writable: !0 }), n(e, p, { value: function (t, e) { var n = i[d].read(); n ? (i[u] = null, i[o] = null, i[a] = null, t(f(n, !1))) : (i[o] = t, i[a] = e) }, writable: !0 }), e)); return i[u] = null, r(t, function (t) { if (t && "ERR_STREAM_PREMATURE_CLOSE" !== t.code) { var e = i[a]; return null !== e && (i[u] = null, i[o] = null, i[a] = null, e(t)), void (i[l] = t) } var n = i[o]; null !== n && (i[u] = null, i[o] = null, n(f(void 0, !(i[a] = null)))), i[c] = !0 }), t.on("readable", function (t) { s.nextTick(h, t) }.bind(null, i)), i } }).call(this, i("_process")) }, { "./end-of-stream": 103, _process: 72 }], 101: [function (t, e, n) { "use strict"; var s = t("buffer").Buffer, i = t("util").inspect, r = i && i.custom || "inspect"; e.exports = function () { function t() { this.head = null, this.tail = null, this.length = 0 } var e = t.prototype; return e.push = function (t) { var e = { data: t, next: null }; 0 < this.length ? this.tail.next = e : this.head = e, this.tail = e, ++this.length }, e.unshift = function (t) { var e = { data: t, next: this.head }; 0 === this.length && (this.tail = e), this.head = e, ++this.length }, e.shift = function () { if (0 !== this.length) { var t = this.head.data; return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, t } }, e.clear = function () { this.head = this.tail = null, this.length = 0 }, e.join = function (t) { if (0 === this.length) return ""; for (var e = this.head, n = "" + e.data; e = e.next;)n += t + e.data; return n }, e.concat = function (t) { if (0 === this.length) return s.alloc(0); for (var e, n, i, r = s.allocUnsafe(t >>> 0), o = this.head, a = 0; o;)e = o.data, n = r, i = a, s.prototype.copy.call(e, n, i), a += o.data.length, o = o.next; return r }, e.consume = function (t, e) { var n; return t < this.head.data.length ? (n = this.head.data.slice(0, t), this.head.data = this.head.data.slice(t)) : n = t === this.head.data.length ? this.shift() : e ? this._getString(t) : this._getBuffer(t), n }, e.first = function () { return this.head.data }, e._getString = function (t) { var e = this.head, n = 1, i = e.data; for (t -= i.length; e = e.next;) { var r = e.data, o = t > r.length ? r.length : t; if (o === r.length ? i += r : i += r.slice(0, t), 0 === (t -= o)) { o === r.length ? (++n, e.next ? this.head = e.next : this.head = this.tail = null) : (this.head = e).data = r.slice(o); break } ++n } return this.length -= n, i }, e._getBuffer = function (t) { var e = s.allocUnsafe(t), n = this.head, i = 1; for (n.data.copy(e), t -= n.data.length; n = n.next;) { var r = n.data, o = t > r.length ? r.length : t; if (r.copy(e, e.length - t, 0, o), 0 === (t -= o)) { o === r.length ? (++i, n.next ? this.head = n.next : this.head = this.tail = null) : (this.head = n).data = r.slice(o); break } ++i } return this.length -= i, e }, e[r] = function (t, e) { return i(this, function (r) { for (var t = 1; t < arguments.length; t++) { var o = null != arguments[t] ? arguments[t] : {}, e = Object.keys(o); "function" == typeof Object.getOwnPropertySymbols && (e = e.concat(Object.getOwnPropertySymbols(o).filter(function (t) { return Object.getOwnPropertyDescriptor(o, t).enumerable }))), e.forEach(function (t) { var e, n, i; e = r, i = o[n = t], n in e ? Object.defineProperty(e, n, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = i }) } return r }({}, e, { depth: 0, customInspect: !1 })) }, t }() }, { buffer: 56, util: 52 }], 102: [function (t, e, n) { (function (o) { "use strict"; function a(t, e) { l(t, e), s(t) } function s(t) { t._writableState && !t._writableState.emitClose || t._readableState && !t._readableState.emitClose || t.emit("close") } function l(t, e) { t.emit("error", e) } e.exports = { destroy: function (t, e) { var n = this, i = this._readableState && this._readableState.destroyed, r = this._writableState && this._writableState.destroyed; return i || r ? e ? e(t) : !t || this._writableState && this._writableState.errorEmitted || o.nextTick(l, this, t) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(t || null, function (t) { !e && t ? (o.nextTick(a, n, t), n._writableState && (n._writableState.errorEmitted = !0)) : e ? (o.nextTick(s, n), e(t)) : o.nextTick(s, n) })), this }, undestroy: function () { this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finalCalled = !1, this._writableState.prefinished = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) } } }).call(this, t("_process")) }, { _process: 72 }], 103: [function (t, e, n) { "use strict"; var v = t("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE; function _() { } e.exports = function t(e, n, i) { if ("function" == typeof n) return t(e, null, n); var r, o; n || (n = {}), r = i || _, o = !1, i = function () { if (!o) { o = !0; for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++)e[n] = arguments[n]; r.apply(this, e) } }; var a, s = n.readable || !1 !== n.readable && e.readable, l = n.writable || !1 !== n.writable && e.writable, c = function () { e.writable || p() }, u = e._writableState && e._writableState.finished, p = function () { u = !(l = !1), s || i.call(e) }, d = e._readableState && e._readableState.endEmitted, f = function () { d = !(s = !1), l || i.call(e) }, h = function (t) { i.call(e, t) }, m = function () { var t; return s && !d ? (e._readableState && e._readableState.ended || (t = new v), i.call(e, t)) : l && !u ? (e._writableState && e._writableState.ended || (t = new v), i.call(e, t)) : void 0 }, g = function () { e.req.on("finish", p) }; return (a = e).setHeader && "function" == typeof a.abort ? (e.on("complete", p), e.on("abort", m), e.req ? g() : e.on("request", g)) : l && !e._writableState && (e.on("end", c), e.on("close", c)), e.on("end", f), e.on("finish", p), !1 !== n.error && e.on("error", h), e.on("close", m), function () { e.removeListener("complete", p), e.removeListener("abort", m), e.removeListener("request", g), e.req && e.req.removeListener("finish", p), e.removeListener("end", c), e.removeListener("close", c), e.removeListener("finish", p), e.removeListener("end", f), e.removeListener("error", h), e.removeListener("close", m) } } }, { "../../../errors": 93 }], 104: [function (l, t, e) { "use strict"; var c; var n = l("../../../errors").codes, s = n.ERR_MISSING_ARGS, u = n.ERR_STREAM_DESTROYED; function p(t) { if (t) throw t } function d(t) { t() } function f(t, e) { return t.pipe(e) } t.exports = function () { for (var t = arguments.length, i = new Array(t), e = 0; e < t; e++)i[e] = arguments[e]; var n, r, o = (n = i).length ? "function" != typeof n[n.length - 1] ? p : n.pop() : p; if (Array.isArray(i[0]) && (i = i[0]), i.length < 2) throw new s("streams"); var a = i.map(function (t, e) { var n = e < i.length - 1; return function (n, t, e, i) { var r, o; r = i, o = !1; var a = !(i = function () { o || (o = !0, r.apply(void 0, arguments)) }); n.on("close", function () { a = !0 }), void 0 === c && (c = l("./end-of-stream")), c(n, { readable: t, writable: e }, function (t) { if (t) return i(t); a = !0, i() }); var s = !1; return function (t) { var e; if (!a && !s) return s = !0, (e = n).setHeader && "function" == typeof e.abort ? n.abort() : "function" == typeof n.destroy ? n.destroy() : void i(t || new u("pipe")) } }(t, n, 0 < e, function (t) { r || (r = t), t && a.forEach(d), n || (a.forEach(d), o(r)) }) }); return i.reduce(f) } }, { "../../../errors": 93, "./end-of-stream": 103 }], 105: [function (t, e, n) { "use strict"; var l = t("../../../errors").codes.ERR_INVALID_OPT_VALUE; e.exports = { getHighWaterMark: function (t, e, n, i) { var r, o, a, s = (o = i, a = n, null != (r = e).highWaterMark ? r.highWaterMark : o ? r[a] : null); if (null != s) { if (!isFinite(s) || Math.floor(s) !== s || s < 0) throw new l(i ? n : "highWaterMark", s); return Math.floor(s) } return t.objectMode ? 16 : 16384 } } }, { "../../../errors": 93 }], 106: [function (t, e, n) { e.exports = t("events").EventEmitter }, { events: 59 }], 107: [function (t, e, n) { (((n = e.exports = t("./lib/_stream_readable.js")).Stream = n).Readable = n).Writable = t("./lib/_stream_writable.js"), n.Duplex = t("./lib/_stream_duplex.js"), n.Transform = t("./lib/_stream_transform.js"), n.PassThrough = t("./lib/_stream_passthrough.js"), n.finished = t("./lib/internal/streams/end-of-stream.js"), n.pipeline = t("./lib/internal/streams/pipeline.js") }, { "./lib/_stream_duplex.js": 95, "./lib/_stream_passthrough.js": 96, "./lib/_stream_readable.js": 97, "./lib/_stream_transform.js": 98, "./lib/_stream_writable.js": 99, "./lib/internal/streams/end-of-stream.js": 103, "./lib/internal/streams/pipeline.js": 104 }], 108: [function (t, e, n) { arguments[4][55][0].apply(n, arguments) }, { dup: 55, "safe-buffer": 86 }], 109: [function (t, e, n) { var i = t("buffer").Buffer, r = i.isEncoding || function (t) { switch (t && t.toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": case "raw": return !0; default: return !1 } }; var o = n.StringDecoder = function (t) { switch (this.encoding = (t || "utf8").toLowerCase().replace(/[-_]/, ""), function (t) { if (t && !r(t)) throw new Error("Unknown encoding: " + t) }(t), this.encoding) { case "utf8": this.surrogateSize = 3; break; case "ucs2": case "utf16le": this.surrogateSize = 2, this.detectIncompleteChar = s; break; case "base64": this.surrogateSize = 3, this.detectIncompleteChar = l; break; default: return void (this.write = a) }this.charBuffer = new i(6), this.charReceived = 0, this.charLength = 0 }; function a(t) { return t.toString(this.encoding) } function s(t) { this.charReceived = t.length % 2, this.charLength = this.charReceived ? 2 : 0 } function l(t) { this.charReceived = t.length % 3, this.charLength = this.charReceived ? 3 : 0 } o.prototype.write = function (t) { for (var e = ""; this.charLength;) { var n = t.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : t.length; if (t.copy(this.charBuffer, this.charReceived, 0, n), this.charReceived += n, this.charReceived < this.charLength) return ""; if (t = t.slice(n, t.length), !(55296 <= (r = (e = this.charBuffer.slice(0, this.charLength).toString(this.encoding)).charCodeAt(e.length - 1)) && r <= 56319)) { if (this.charReceived = this.charLength = 0, 0 === t.length) return e; break } this.charLength += this.surrogateSize, e = "" } this.detectIncompleteChar(t); var i = t.length; this.charLength && (t.copy(this.charBuffer, 0, t.length - this.charReceived, i), i -= this.charReceived); var r; i = (e += t.toString(this.encoding, 0, i)).length - 1; if (55296 <= (r = e.charCodeAt(i)) && r <= 56319) { var o = this.surrogateSize; return this.charLength += o, this.charReceived += o, this.charBuffer.copy(this.charBuffer, o, 0, o), t.copy(this.charBuffer, 0, 0, o), e.substring(0, i) } return e }, o.prototype.detectIncompleteChar = function (t) { for (var e = 3 <= t.length ? 3 : t.length; 0 < e; e--) { var n = t[t.length - e]; if (1 == e && n >> 5 == 6) { this.charLength = 2; break } if (e <= 2 && n >> 4 == 14) { this.charLength = 3; break } if (e <= 3 && n >> 3 == 30) { this.charLength = 4; break } } this.charReceived = e }, o.prototype.end = function (t) { var e = ""; if (t && t.length && (e = this.write(t)), this.charReceived) { var n = this.charReceived, i = this.charBuffer, r = this.encoding; e += i.slice(0, n).toString(r) } return e } }, { buffer: 56 }], 110: [function (l, t, c) { (function (t, e) { var i = l("process/browser.js").nextTick, n = Function.prototype.apply, r = Array.prototype.slice, o = {}, a = 0; function s(t, e) { this._id = t, this._clearFn = e } c.setTimeout = function () { return new s(n.call(setTimeout, window, arguments), clearTimeout) }, c.setInterval = function () { return new s(n.call(setInterval, window, arguments), clearInterval) }, c.clearTimeout = c.clearInterval = function (t) { t.close() }, s.prototype.unref = s.prototype.ref = function () { }, s.prototype.close = function () { this._clearFn.call(window, this._id) }, c.enroll = function (t, e) { clearTimeout(t._idleTimeoutId), t._idleTimeout = e }, c.unenroll = function (t) { clearTimeout(t._idleTimeoutId), t._idleTimeout = -1 }, c._unrefActive = c.active = function (t) { clearTimeout(t._idleTimeoutId); var e = t._idleTimeout; 0 <= e && (t._idleTimeoutId = setTimeout(function () { t._onTimeout && t._onTimeout() }, e)) }, c.setImmediate = "function" == typeof t ? t : function (t) { var e = a++, n = !(arguments.length < 2) && r.call(arguments, 1); return o[e] = !0, i(function () { o[e] && (n ? t.apply(null, n) : t.call(null), c.clearImmediate(e)) }), e }, c.clearImmediate = "function" == typeof e ? e : function (t) { delete o[t] } }).call(this, l("timers").setImmediate, l("timers").clearImmediate) }, { "process/browser.js": 72, timers: 110 }], 111: [function (t, V, G) { (function () { var t = this, e = t._, i = Array.prototype, a = Object.prototype, n = Function.prototype, r = i.push, l = i.slice, p = a.toString, o = a.hasOwnProperty, s = Array.isArray, c = Object.keys, u = n.bind, d = Object.create, f = function () { }, h = function (t) { return t instanceof h ? t : this instanceof h ? void (this._wrapped = t) : new h(t) }; void 0 !== G ? (void 0 !== V && V.exports && (G = V.exports = h), G._ = h) : t._ = h, h.VERSION = "1.8.3"; var m = function (r, o, t) { if (void 0 === o) return r; switch (null == t ? 3 : t) { case 1: return function (t) { return r.call(o, t) }; case 2: return function (t, e) { return r.call(o, t, e) }; case 3: return function (t, e, n) { return r.call(o, t, e, n) }; case 4: return function (t, e, n, i) { return r.call(o, t, e, n, i) } }return function () { return r.apply(o, arguments) } }, g = function (t, e, n) { return null == t ? h.identity : h.isFunction(t) ? m(t, e, n) : h.isObject(t) ? h.matcher(t) : h.property(t) }; h.iteratee = function (t, e) { return g(t, e, 1 / 0) }; var v = function (l, c) { return function (t) { var e = arguments.length; if (e < 2 || null == t) return t; for (var n = 1; n < e; n++)for (var i = arguments[n], r = l(i), o = r.length, a = 0; a < o; a++) { var s = r[a]; c && void 0 !== t[s] || (t[s] = i[s]) } return t } }, _ = function (t) { if (!h.isObject(t)) return {}; if (d) return d(t); f.prototype = t; var e = new f; return f.prototype = null, e }, E = function (e) { return function (t) { return null == t ? void 0 : t[e] } }, b = Math.pow(2, 53) - 1, y = E("length"), T = function (t) { var e = y(t); return "number" == typeof e && 0 <= e && e <= b }; function x(s) { return function (t, e, n, i) { e = m(e, i, 4); var r = !T(t) && h.keys(t), o = (r || t).length, a = 0 < s ? 0 : o - 1; return arguments.length < 3 && (n = t[r ? r[a] : a], a += s), function (t, e, n, i, r, o) { for (; 0 <= r && r < o; r += s) { var a = i ? i[r] : r; n = e(n, t[a], a, t) } return n }(t, e, n, r, a, o) } } h.each = h.forEach = function (t, e, n) { var i, r; if (e = m(e, n), T(t)) for (i = 0, r = t.length; i < r; i++)e(t[i], i, t); else { var o = h.keys(t); for (i = 0, r = o.length; i < r; i++)e(t[o[i]], o[i], t) } return t }, h.map = h.collect = function (t, e, n) { e = g(e, n); for (var i = !T(t) && h.keys(t), r = (i || t).length, o = Array(r), a = 0; a < r; a++) { var s = i ? i[a] : a; o[a] = e(t[s], s, t) } return o }, h.reduce = h.foldl = h.inject = x(1), h.reduceRight = h.foldr = x(-1), h.find = h.detect = function (t, e, n) { var i; if (void 0 !== (i = T(t) ? h.findIndex(t, e, n) : h.findKey(t, e, n)) && -1 !== i) return t[i] }, h.filter = h.select = function (t, i, e) { var r = []; return i = g(i, e), h.each(t, function (t, e, n) { i(t, e, n) && r.push(t) }), r }, h.reject = function (t, e, n) { return h.filter(t, h.negate(g(e)), n) }, h.every = h.all = function (t, e, n) { e = g(e, n); for (var i = !T(t) && h.keys(t), r = (i || t).length, o = 0; o < r; o++) { var a = i ? i[o] : o; if (!e(t[a], a, t)) return !1 } return !0 }, h.some = h.any = function (t, e, n) { e = g(e, n); for (var i = !T(t) && h.keys(t), r = (i || t).length, o = 0; o < r; o++) { var a = i ? i[o] : o; if (e(t[a], a, t)) return !0 } return !1 }, h.contains = h.includes = h.include = function (t, e, n, i) { return T(t) || (t = h.values(t)), ("number" != typeof n || i) && (n = 0), 0 <= h.indexOf(t, e, n) }, h.invoke = function (t, n) { var i = l.call(arguments, 2), r = h.isFunction(n); return h.map(t, function (t) { var e = r ? n : t[n]; return null == e ? e : e.apply(t, i) }) }, h.pluck = function (t, e) { return h.map(t, h.property(e)) }, h.where = function (t, e) { return h.filter(t, h.matcher(e)) }, h.findWhere = function (t, e) { return h.find(t, h.matcher(e)) }, h.max = function (t, i, e) { var n, r, o = -1 / 0, a = -1 / 0; if (null == i && null != t) for (var s = 0, l = (t = T(t) ? t : h.values(t)).length; s < l; s++)n = t[s], o < n && (o = n); else i = g(i, e), h.each(t, function (t, e, n) { r = i(t, e, n), (a < r || r === -1 / 0 && o === -1 / 0) && (o = t, a = r) }); return o }, h.min = function (t, i, e) { var n, r, o = 1 / 0, a = 1 / 0; if (null == i && null != t) for (var s = 0, l = (t = T(t) ? t : h.values(t)).length; s < l; s++)(n = t[s]) < o && (o = n); else i = g(i, e), h.each(t, function (t, e, n) { ((r = i(t, e, n)) < a || r === 1 / 0 && o === 1 / 0) && (o = t, a = r) }); return o }, h.shuffle = function (t) { for (var e, n = T(t) ? t : h.values(t), i = n.length, r = Array(i), o = 0; o < i; o++)(e = h.random(0, o)) !== o && (r[o] = r[e]), r[e] = n[o]; return r }, h.sample = function (t, e, n) { return null == e || n ? (T(t) || (t = h.values(t)), t[h.random(t.length - 1)]) : h.shuffle(t).slice(0, Math.max(0, e)) }, h.sortBy = function (t, i, e) { return i = g(i, e), h.pluck(h.map(t, function (t, e, n) { return { value: t, index: e, criteria: i(t, e, n) } }).sort(function (t, e) { var n = t.criteria, i = e.criteria; if (n !== i) { if (i < n || void 0 === n) return 1; if (n < i || void 0 === i) return -1 } return t.index - e.index }), "value") }; var S = function (a) { return function (i, r, t) { var o = {}; return r = g(r, t), h.each(i, function (t, e) { var n = r(t, e, i); a(o, t, n) }), o } }; h.groupBy = S(function (t, e, n) { h.has(t, n) ? t[n].push(e) : t[n] = [e] }), h.indexBy = S(function (t, e, n) { t[n] = e }), h.countBy = S(function (t, e, n) { h.has(t, n) ? t[n]++ : t[n] = 1 }), h.toArray = function (t) { return t ? h.isArray(t) ? l.call(t) : T(t) ? h.map(t, h.identity) : h.values(t) : [] }, h.size = function (t) { return null == t ? 0 : T(t) ? t.length : h.keys(t).length }, h.partition = function (t, i, e) { i = g(i, e); var r = [], o = []; return h.each(t, function (t, e, n) { (i(t, e, n) ? r : o).push(t) }), [r, o] }, h.first = h.head = h.take = function (t, e, n) { if (null != t) return null == e || n ? t[0] : h.initial(t, t.length - e) }, h.initial = function (t, e, n) { return l.call(t, 0, Math.max(0, t.length - (null == e || n ? 1 : e))) }, h.last = function (t, e, n) { if (null != t) return null == e || n ? t[t.length - 1] : h.rest(t, Math.max(0, t.length - e)) }, h.rest = h.tail = h.drop = function (t, e, n) { return l.call(t, null == e || n ? 1 : e) }, h.compact = function (t) { return h.filter(t, h.identity) }; var w = function (t, e, n, i) { for (var r = [], o = 0, a = i || 0, s = y(t); a < s; a++) { var l = t[a]; if (T(l) && (h.isArray(l) || h.isArguments(l))) { e || (l = w(l, e, n)); var c = 0, u = l.length; for (r.length += u; c < u;)r[o++] = l[c++] } else n || (r[o++] = l) } return r }; function A(o) { return function (t, e, n) { e = g(e, n); for (var i = y(t), r = 0 < o ? 0 : i - 1; 0 <= r && r < i; r += o)if (e(t[r], r, t)) return r; return -1 } } function I(o, a, s) { return function (t, e, n) { var i = 0, r = y(t); if ("number" == typeof n) 0 < o ? i = 0 <= n ? n : Math.max(n + r, i) : r = 0 <= n ? Math.min(n + 1, r) : n + r + 1; else if (s && n && r) return t[n = s(t, e)] === e ? n : -1; if (e != e) return 0 <= (n = a(l.call(t, i, r), h.isNaN)) ? n + i : -1; for (n = 0 < o ? i : r - 1; 0 <= n && n < r; n += o)if (t[n] === e) return n; return -1 } } h.flatten = function (t, e) { return w(t, e, !1) }, h.without = function (t) { return h.difference(t, l.call(arguments, 1)) }, h.uniq = h.unique = function (t, e, n, i) { h.isBoolean(e) || (i = n, n = e, e = !1), null != n && (n = g(n, i)); for (var r = [], o = [], a = 0, s = y(t); a < s; a++) { var l = t[a], c = n ? n(l, a, t) : l; e ? (a && o === c || r.push(l), o = c) : n ? h.contains(o, c) || (o.push(c), r.push(l)) : h.contains(r, l) || r.push(l) } return r }, h.union = function () { return h.uniq(w(arguments, !0, !0)) }, h.intersection = function (t) { for (var e = [], n = arguments.length, i = 0, r = y(t); i < r; i++) { var o = t[i]; if (!h.contains(e, o)) { for (var a = 1; a < n && h.contains(arguments[a], o); a++); a === n && e.push(o) } } return e }, h.difference = function (t) { var e = w(arguments, !0, !0, 1); return h.filter(t, function (t) { return !h.contains(e, t) }) }, h.zip = function () { return h.unzip(arguments) }, h.unzip = function (t) { for (var e = t && h.max(t, y).length || 0, n = Array(e), i = 0; i < e; i++)n[i] = h.pluck(t, i); return n }, h.object = function (t, e) { for (var n = {}, i = 0, r = y(t); i < r; i++)e ? n[t[i]] = e[i] : n[t[i][0]] = t[i][1]; return n }, h.findIndex = A(1), h.findLastIndex = A(-1), h.sortedIndex = function (t, e, n, i) { for (var r = (n = g(n, i, 1))(e), o = 0, a = y(t); o < a;) { var s = Math.floor((o + a) / 2); n(t[s]) < r ? o = s + 1 : a = s } return o }, h.indexOf = I(1, h.findIndex, h.sortedIndex), h.lastIndexOf = I(-1, h.findLastIndex), h.range = function (t, e, n) { null == e && (e = t || 0, t = 0), n = n || 1; for (var i = Math.max(Math.ceil((e - t) / n), 0), r = Array(i), o = 0; o < i; o++, t += n)r[o] = t; return r }; var N = function (t, e, n, i, r) { if (!(i instanceof e)) return t.apply(n, r); var o = _(t.prototype), a = t.apply(o, r); return h.isObject(a) ? a : o }; h.bind = function (t, e) { if (u && t.bind === u) return u.apply(t, l.call(arguments, 1)); if (!h.isFunction(t)) throw new TypeError("Bind must be called on a function"); var n = l.call(arguments, 2), i = function () { return N(t, i, e, this, n.concat(l.call(arguments))) }; return i }, h.partial = function (r) { var o = l.call(arguments, 1), a = function () { for (var t = 0, e = o.length, n = Array(e), i = 0; i < e; i++)n[i] = o[i] === h ? arguments[t++] : o[i]; for (; t < arguments.length;)n.push(arguments[t++]); return N(r, a, this, this, n) }; return a }, h.bindAll = function (t) { var e, n, i = arguments.length; if (i <= 1) throw new Error("bindAll must be passed function names"); for (e = 1; e < i; e++)t[n = arguments[e]] = h.bind(t[n], t); return t }, h.memoize = function (i, r) { var o = function (t) { var e = o.cache, n = "" + (r ? r.apply(this, arguments) : t); return h.has(e, n) || (e[n] = i.apply(this, arguments)), e[n] }; return o.cache = {}, o }, h.delay = function (t, e) { var n = l.call(arguments, 2); return setTimeout(function () { return t.apply(null, n) }, e) }, h.defer = h.partial(h.delay, h, 1), h.throttle = function (n, i, r) { var o, a, s, l = null, c = 0; r || (r = {}); var u = function () { c = !1 === r.leading ? 0 : h.now(), l = null, s = n.apply(o, a), l || (o = a = null) }; return function () { var t = h.now(); c || !1 !== r.leading || (c = t); var e = i - (t - c); return o = this, a = arguments, e <= 0 || i < e ? (l && (clearTimeout(l), l = null), c = t, s = n.apply(o, a), l || (o = a = null)) : l || !1 === r.trailing || (l = setTimeout(u, e)), s } }, h.debounce = function (e, n, i) { var r, o, a, s, l, c = function () { var t = h.now() - s; t < n && 0 <= t ? r = setTimeout(c, n - t) : (r = null, i || (l = e.apply(a, o), r || (a = o = null))) }; return function () { a = this, o = arguments, s = h.now(); var t = i && !r; return r || (r = setTimeout(c, n)), t && (l = e.apply(a, o), a = o = null), l } }, h.wrap = function (t, e) { return h.partial(e, t) }, h.negate = function (t) { return function () { return !t.apply(this, arguments) } }, h.compose = function () { var n = arguments, i = n.length - 1; return function () { for (var t = i, e = n[i].apply(this, arguments); t--;)e = n[t].call(this, e); return e } }, h.after = function (t, e) { return function () { if (--t < 1) return e.apply(this, arguments) } }, h.before = function (t, e) { var n; return function () { return 0 < --t && (n = e.apply(this, arguments)), t <= 1 && (e = null), n } }, h.once = h.partial(h.before, 2); var O = !{ toString: null }.propertyIsEnumerable("toString"), R = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; function L(t, e) { var n = R.length, i = t.constructor, r = h.isFunction(i) && i.prototype || a, o = "constructor"; for (h.has(t, o) && !h.contains(e, o) && e.push(o); n--;)(o = R[n]) in t && t[o] !== r[o] && !h.contains(e, o) && e.push(o) } h.keys = function (t) { if (!h.isObject(t)) return []; if (c) return c(t); var e = []; for (var n in t) h.has(t, n) && e.push(n); return O && L(t, e), e }, h.allKeys = function (t) { if (!h.isObject(t)) return []; var e = []; for (var n in t) e.push(n); return O && L(t, e), e }, h.values = function (t) { for (var e = h.keys(t), n = e.length, i = Array(n), r = 0; r < n; r++)i[r] = t[e[r]]; return i }, h.mapObject = function (t, e, n) { e = g(e, n); for (var i, r = h.keys(t), o = r.length, a = {}, s = 0; s < o; s++)a[i = r[s]] = e(t[i], i, t); return a }, h.pairs = function (t) { for (var e = h.keys(t), n = e.length, i = Array(n), r = 0; r < n; r++)i[r] = [e[r], t[e[r]]]; return i }, h.invert = function (t) { for (var e = {}, n = h.keys(t), i = 0, r = n.length; i < r; i++)e[t[n[i]]] = n[i]; return e }, h.functions = h.methods = function (t) { var e = []; for (var n in t) h.isFunction(t[n]) && e.push(n); return e.sort() }, h.extend = v(h.allKeys), h.extendOwn = h.assign = v(h.keys), h.findKey = function (t, e, n) { e = g(e, n); for (var i, r = h.keys(t), o = 0, a = r.length; o < a; o++)if (e(t[i = r[o]], i, t)) return i }, h.pick = function (t, e, n) { var i, r, o = {}, a = t; if (null == a) return o; h.isFunction(e) ? (r = h.allKeys(a), i = m(e, n)) : (r = w(arguments, !1, !1, 1), i = function (t, e, n) { return e in n }, a = Object(a)); for (var s = 0, l = r.length; s < l; s++) { var c = r[s], u = a[c]; i(u, c, a) && (o[c] = u) } return o }, h.omit = function (t, e, n) { if (h.isFunction(e)) e = h.negate(e); else { var i = h.map(w(arguments, !1, !1, 1), String); e = function (t, e) { return !h.contains(i, e) } } return h.pick(t, e, n) }, h.defaults = v(h.allKeys, !0), h.create = function (t, e) { var n = _(t); return e && h.extendOwn(n, e), n }, h.clone = function (t) { return h.isObject(t) ? h.isArray(t) ? t.slice() : h.extend({}, t) : t }, h.tap = function (t, e) { return e(t), t }, h.isMatch = function (t, e) { var n = h.keys(e), i = n.length; if (null == t) return !i; for (var r = Object(t), o = 0; o < i; o++) { var a = n[o]; if (e[a] !== r[a] || !(a in r)) return !1 } return !0 }; var C = function (t, e, n, i) { if (t === e) return 0 !== t || 1 / t == 1 / e; if (null == t || null == e) return t === e; t instanceof h && (t = t._wrapped), e instanceof h && (e = e._wrapped); var r = p.call(t); if (r !== p.call(e)) return !1; switch (r) { case "[object RegExp]": case "[object String]": return "" + t == "" + e; case "[object Number]": return +t != +t ? +e != +e : 0 == +t ? 1 / +t == 1 / e : +t == +e; case "[object Date]": case "[object Boolean]": return +t == +e }var o = "[object Array]" === r; if (!o) { if ("object" != typeof t || "object" != typeof e) return !1; var a = t.constructor, s = e.constructor; if (a !== s && !(h.isFunction(a) && a instanceof a && h.isFunction(s) && s instanceof s) && "constructor" in t && "constructor" in e) return !1 } i = i || []; for (var l = (n = n || []).length; l--;)if (n[l] === t) return i[l] === e; if (n.push(t), i.push(e), o) { if ((l = t.length) !== e.length) return !1; for (; l--;)if (!C(t[l], e[l], n, i)) return !1 } else { var c, u = h.keys(t); if (l = u.length, h.keys(e).length !== l) return !1; for (; l--;)if (c = u[l], !h.has(e, c) || !C(t[c], e[c], n, i)) return !1 } return n.pop(), i.pop(), !0 }; h.isEqual = function (t, e) { return C(t, e) }, h.isEmpty = function (t) { return null == t || (T(t) && (h.isArray(t) || h.isString(t) || h.isArguments(t)) ? 0 === t.length : 0 === h.keys(t).length) }, h.isElement = function (t) { return !(!t || 1 !== t.nodeType) }, h.isArray = s || function (t) { return "[object Array]" === p.call(t) }, h.isObject = function (t) { var e = typeof t; return "function" === e || "object" === e && !!t }, h.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function (e) { h["is" + e] = function (t) { return p.call(t) === "[object " + e + "]" } }), h.isArguments(arguments) || (h.isArguments = function (t) { return h.has(t, "callee") }), "function" != typeof /./ && "object" != typeof Int8Array && (h.isFunction = function (t) { return "function" == typeof t || !1 }), h.isFinite = function (t) { return isFinite(t) && !isNaN(parseFloat(t)) }, h.isNaN = function (t) { return h.isNumber(t) && t !== +t }, h.isBoolean = function (t) { return !0 === t || !1 === t || "[object Boolean]" === p.call(t) }, h.isNull = function (t) { return null === t }, h.isUndefined = function (t) { return void 0 === t }, h.has = function (t, e) { return null != t && o.call(t, e) }, h.noConflict = function () { return t._ = e, this }, h.identity = function (t) { return t }, h.constant = function (t) { return function () { return t } }, h.noop = function () { }, h.property = E, h.propertyOf = function (e) { return null == e ? function () { } : function (t) { return e[t] } }, h.matcher = h.matches = function (e) { return e = h.extendOwn({}, e), function (t) { return h.isMatch(t, e) } }, h.times = function (t, e, n) { var i = Array(Math.max(0, t)); e = m(e, n, 1); for (var r = 0; r < t; r++)i[r] = e(r); return i }, h.random = function (t, e) { return null == e && (e = t, t = 0), t + Math.floor(Math.random() * (e - t + 1)) }, h.now = Date.now || function () { return (new Date).getTime() }; var M = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;" }, D = h.invert(M), P = function (e) { var n = function (t) { return e[t] }, t = "(?:" + h.keys(e).join("|") + ")", i = RegExp(t), r = RegExp(t, "g"); return function (t) { return t = null == t ? "" : "" + t, i.test(t) ? t.replace(r, n) : t } }; h.escape = P(M), h.unescape = P(D), h.result = function (t, e, n) { var i = null == t ? void 0 : t[e]; return void 0 === i && (i = n), h.isFunction(i) ? i.call(t) : i }; var k = 0; h.uniqueId = function (t) { var e = ++k + ""; return t ? t + e : e }, h.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g }; var B = /(.)^/, U = { "'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029" }, F = /\\|'|\r|\n|\u2028|\u2029/g, j = function (t) { return "\\" + U[t] }; h.template = function (o, t, e) { !t && e && (t = e), t = h.defaults({}, t, h.templateSettings); var n = RegExp([(t.escape || B).source, (t.interpolate || B).source, (t.evaluate || B).source].join("|") + "|$", "g"), a = 0, s = "__p+='"; o.replace(n, function (t, e, n, i, r) { return s += o.slice(a, r).replace(F, j), a = r + t.length, e ? s += "'+\n((__t=(" + e + "))==null?'':_.escape(__t))+\n'" : n ? s += "'+\n((__t=(" + n + "))==null?'':__t)+\n'" : i && (s += "';\n" + i + "\n__p+='"), t }), s += "';\n", t.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n"; try { var i = new Function(t.variable || "obj", "_", s) } catch (t) { throw t.source = s, t } var r = function (t) { return i.call(this, t, h) }, l = t.variable || "obj"; return r.source = "function(" + l + "){\n" + s + "}", r }, h.chain = function (t) { var e = h(t); return e._chain = !0, e }; var H = function (t, e) { return t._chain ? h(e).chain() : e }; h.mixin = function (n) { h.each(h.functions(n), function (t) { var e = h[t] = n[t]; h.prototype[t] = function () { var t = [this._wrapped]; return r.apply(t, arguments), H(this, e.apply(h, t)) } }) }, h.mixin(h), h.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (e) { var n = i[e]; h.prototype[e] = function () { var t = this._wrapped; return n.apply(t, arguments), "shift" !== e && "splice" !== e || 0 !== t.length || delete t[0], H(this, t) } }), h.each(["concat", "join", "slice"], function (t) { var e = i[t]; h.prototype[t] = function () { return H(this, e.apply(this._wrapped, arguments)) } }), h.prototype.value = function () { return this._wrapped }, h.prototype.valueOf = h.prototype.toJSON = h.prototype.value, h.prototype.toString = function () { return "" + this._wrapped } }).call(this) }, {}], 112: [function (t, e, n) { "use strict"; var M = t("punycode"), D = t("./util"); function I() { this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null } n.parse = o, n.resolve = function (t, e) { return o(t, !1, !0).resolve(e) }, n.resolveObject = function (t, e) { return t ? o(t, !1, !0).resolveObject(e) : e }, n.format = function (t) { D.isString(t) && (t = o(t)); return t instanceof I ? t.format() : I.prototype.format.call(t) }, n.Url = I; var P = /^([a-z0-9.+-]+:)/i, i = /:[0-9]*$/, k = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, r = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", "\t"]), B = ["'"].concat(r), U = ["%", "/", "?", ";", "#"].concat(B), F = ["/", "?", "#"], j = /^[+a-z0-9A-Z_-]{0,63}$/, H = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, V = { javascript: !0, "javascript:": !0 }, G = { javascript: !0, "javascript:": !0 }, q = { http: !0, https: !0, ftp: !0, gopher: !0, file: !0, "http:": !0, "https:": !0, "ftp:": !0, "gopher:": !0, "file:": !0 }, z = t("querystring"); function o(t, e, n) { if (t && D.isObject(t) && t instanceof I) return t; var i = new I; return i.parse(t, e, n), i } I.prototype.parse = function (t, e, n) { if (!D.isString(t)) throw new TypeError("Parameter 'url' must be a string, not " + typeof t); var i = t.indexOf("?"), r = -1 !== i && i < t.indexOf("#") ? "?" : "#", o = t.split(r); o[0] = o[0].replace(/\\/g, "/"); var a = t = o.join(r); if (a = a.trim(), !n && 1 === t.split("#").length) { var s = k.exec(a); if (s) return this.path = a, this.href = a, this.pathname = s[1], s[2] ? (this.search = s[2], this.query = e ? z.parse(this.search.substr(1)) : this.search.substr(1)) : e && (this.search = "", this.query = {}), this } var l = P.exec(a); if (l) { var c = (l = l[0]).toLowerCase(); this.protocol = c, a = a.substr(l.length) } if (n || l || a.match(/^\/\/[^@\/]+@[^@\/]+/)) { var u = "//" === a.substr(0, 2); !u || l && G[l] || (a = a.substr(2), this.slashes = !0) } if (!G[l] && (u || l && !q[l])) { for (var p, d, f = -1, h = 0; h < F.length; h++) { -1 !== (m = a.indexOf(F[h])) && (-1 === f || m < f) && (f = m) } -1 !== (d = -1 === f ? a.lastIndexOf("@") : a.lastIndexOf("@", f)) && (p = a.slice(0, d), a = a.slice(d + 1), this.auth = decodeURIComponent(p)), f = -1; for (h = 0; h < U.length; h++) { var m; -1 !== (m = a.indexOf(U[h])) && (-1 === f || m < f) && (f = m) } -1 === f && (f = a.length), this.host = a.slice(0, f), a = a.slice(f), this.parseHost(), this.hostname = this.hostname || ""; var g = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1]; if (!g) for (var v = this.hostname.split(/\./), _ = (h = 0, v.length); h < _; h++) { var E = v[h]; if (E && !E.match(j)) { for (var b = "", y = 0, T = E.length; y < T; y++)127 < E.charCodeAt(y) ? b += "x" : b += E[y]; if (!b.match(j)) { var x = v.slice(0, h), S = v.slice(h + 1), w = E.match(H); w && (x.push(w[1]), S.unshift(w[2])), S.length && (a = "/" + S.join(".") + a), this.hostname = x.join("."); break } } } 255 < this.hostname.length ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), g || (this.hostname = M.toASCII(this.hostname)); var A = this.port ? ":" + this.port : "", I = this.hostname || ""; this.host = I + A, this.href += this.host, g && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== a[0] && (a = "/" + a)) } if (!V[c]) for (h = 0, _ = B.length; h < _; h++) { var N = B[h]; if (-1 !== a.indexOf(N)) { var O = encodeURIComponent(N); O === N && (O = escape(N)), a = a.split(N).join(O) } } var R = a.indexOf("#"); -1 !== R && (this.hash = a.substr(R), a = a.slice(0, R)); var L = a.indexOf("?"); if (-1 !== L ? (this.search = a.substr(L), this.query = a.substr(L + 1), e && (this.query = z.parse(this.query)), a = a.slice(0, L)) : e && (this.search = "", this.query = {}), a && (this.pathname = a), q[c] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) { A = this.pathname || ""; var C = this.search || ""; this.path = A + C } return this.href = this.format(), this }, I.prototype.format = function () { var t = this.auth || ""; t && (t = (t = encodeURIComponent(t)).replace(/%3A/i, ":"), t += "@"); var e = this.protocol || "", n = this.pathname || "", i = this.hash || "", r = !1, o = ""; this.host ? r = t + this.host : this.hostname && (r = t + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (r += ":" + this.port)), this.query && D.isObject(this.query) && Object.keys(this.query).length && (o = z.stringify(this.query)); var a = this.search || o && "?" + o || ""; return e && ":" !== e.substr(-1) && (e += ":"), this.slashes || (!e || q[e]) && !1 !== r ? (r = "//" + (r || ""), n && "/" !== n.charAt(0) && (n = "/" + n)) : r || (r = ""), i && "#" !== i.charAt(0) && (i = "#" + i), a && "?" !== a.charAt(0) && (a = "?" + a), e + r + (n = n.replace(/[?#]/g, function (t) { return encodeURIComponent(t) })) + (a = a.replace("#", "%23")) + i }, I.prototype.resolve = function (t) { return this.resolveObject(o(t, !1, !0)).format() }, I.prototype.resolveObject = function (t) { if (D.isString(t)) { var e = new I; e.parse(t, !1, !0), t = e } for (var n = new I, i = Object.keys(this), r = 0; r < i.length; r++) { var o = i[r]; n[o] = this[o] } if (n.hash = t.hash, "" === t.href) return n.href = n.format(), n; if (t.slashes && !t.protocol) { for (var a = Object.keys(t), s = 0; s < a.length; s++) { var l = a[s]; "protocol" !== l && (n[l] = t[l]) } return q[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = "/"), n.href = n.format(), n } if (t.protocol && t.protocol !== n.protocol) { if (!q[t.protocol]) { for (var c = Object.keys(t), u = 0; u < c.length; u++) { var p = c[u]; n[p] = t[p] } return n.href = n.format(), n } if (n.protocol = t.protocol, t.host || G[t.protocol]) n.pathname = t.pathname; else { for (var d = (t.pathname || "").split("/"); d.length && !(t.host = d.shift());); t.host || (t.host = ""), t.hostname || (t.hostname = ""), "" !== d[0] && d.unshift(""), d.length < 2 && d.unshift(""), n.pathname = d.join("/") } if (n.search = t.search, n.query = t.query, n.host = t.host || "", n.auth = t.auth, n.hostname = t.hostname || t.host, n.port = t.port, n.pathname || n.search) { var f = n.pathname || "", h = n.search || ""; n.path = f + h } return n.slashes = n.slashes || t.slashes, n.href = n.format(), n } var m = n.pathname && "/" === n.pathname.charAt(0), g = t.host || t.pathname && "/" === t.pathname.charAt(0), v = g || m || n.host && t.pathname, _ = v, E = n.pathname && n.pathname.split("/") || [], b = (d = t.pathname && t.pathname.split("/") || [], n.protocol && !q[n.protocol]); if (b && (n.hostname = "", n.port = null, n.host && ("" === E[0] ? E[0] = n.host : E.unshift(n.host)), n.host = "", t.protocol && (t.hostname = null, t.port = null, t.host && ("" === d[0] ? d[0] = t.host : d.unshift(t.host)), t.host = null), v = v && ("" === d[0] || "" === E[0])), g) n.host = t.host || "" === t.host ? t.host : n.host, n.hostname = t.hostname || "" === t.hostname ? t.hostname : n.hostname, n.search = t.search, n.query = t.query, E = d; else if (d.length) E || (E = []), E.pop(), E = E.concat(d), n.search = t.search, n.query = t.query; else if (!D.isNullOrUndefined(t.search)) { if (b) n.hostname = n.host = E.shift(), (w = !!(n.host && 0 < n.host.indexOf("@")) && n.host.split("@")) && (n.auth = w.shift(), n.host = n.hostname = w.shift()); return n.search = t.search, n.query = t.query, D.isNull(n.pathname) && D.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.href = n.format(), n } if (!E.length) return n.pathname = null, n.search ? n.path = "/" + n.search : n.path = null, n.href = n.format(), n; for (var y = E.slice(-1)[0], T = (n.host || t.host || 1 < E.length) && ("." === y || ".." === y) || "" === y, x = 0, S = E.length; 0 <= S; S--)"." === (y = E[S]) ? E.splice(S, 1) : ".." === y ? (E.splice(S, 1), x++) : x && (E.splice(S, 1), x--); if (!v && !_) for (; x--; x)E.unshift(".."); !v || "" === E[0] || E[0] && "/" === E[0].charAt(0) || E.unshift(""), T && "/" !== E.join("/").substr(-1) && E.push(""); var w, A = "" === E[0] || E[0] && "/" === E[0].charAt(0); b && (n.hostname = n.host = A ? "" : E.length ? E.shift() : "", (w = !!(n.host && 0 < n.host.indexOf("@")) && n.host.split("@")) && (n.auth = w.shift(), n.host = n.hostname = w.shift())); return (v = v || n.host && E.length) && !A && E.unshift(""), E.length ? n.pathname = E.join("/") : (n.pathname = null, n.path = null), D.isNull(n.pathname) && D.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.auth = t.auth || n.auth, n.slashes = n.slashes || t.slashes, n.href = n.format(), n }, I.prototype.parseHost = function () { var t = this.host, e = i.exec(t); e && (":" !== (e = e[0]) && (this.port = e.substr(1)), t = t.substr(0, t.length - e.length)), t && (this.hostname = t) } }, { "./util": 113, punycode: 54, querystring: 75 }], 113: [function (t, e, n) { "use strict"; e.exports = { isString: function (t) { return "string" == typeof t }, isObject: function (t) { return "object" == typeof t && null !== t }, isNull: function (t) { return null === t }, isNullOrUndefined: function (t) { return null == t } } }, {}], 114: [function (t, e, n) { (function (n) { function i(t) { try { if (!n.localStorage) return !1 } catch (t) { return !1 } var e = n.localStorage[t]; return null != e && "true" === String(e).toLowerCase() } e.exports = function (t, e) { if (i("noDeprecation")) return t; var n = !1; return function () { if (!n) { if (i("throwDeprecation")) throw new Error(e); i("traceDeprecation") ? console.trace(e) : console.warn(e), n = !0 } return t.apply(this, arguments) } } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 115: [function (t, e, n) { "function" == typeof Object.create ? e.exports = function (t, e) { t.super_ = e, t.prototype = Object.create(e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }) } : e.exports = function (t, e) { t.super_ = e; var n = function () { }; n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t } }, {}], 116: [function (t, e, n) { e.exports = function (t) { return t && "object" == typeof t && "function" == typeof t.copy && "function" == typeof t.fill && "function" == typeof t.readUInt8 } }, {}], 117: [function (d, t, I) { (function (i, r) { var s = /%[sdj%]/g; I.format = function (t) { if (!b(t)) { for (var e = [], n = 0; n < arguments.length; n++)e.push(l(arguments[n])); return e.join(" ") } n = 1; for (var i = arguments, r = i.length, o = String(t).replace(s, function (t) { if ("%%" === t) return "%"; if (r <= n) return t; switch (t) { case "%s": return String(i[n++]); case "%d": return Number(i[n++]); case "%j": try { return JSON.stringify(i[n++]) } catch (t) { return "[Circular]" } default: return t } }), a = i[n]; n < r; a = i[++n])_(a) || !u(a) ? o += " " + a : o += " " + l(a); return o }, I.deprecate = function (t, e) { if (y(r.process)) return function () { return I.deprecate(t, e).apply(this, arguments) }; if (!0 === i.noDeprecation) return t; var n = !1; return function () { if (!n) { if (i.throwDeprecation) throw new Error(e); i.traceDeprecation ? console.trace(e) : console.error(e), n = !0 } return t.apply(this, arguments) } }; var t, o = {}; function l(t, e) { var n = { seen: [], stylize: c }; return 3 <= arguments.length && (n.depth = arguments[2]), 4 <= arguments.length && (n.colors = arguments[3]), v(e) ? n.showHidden = e : e && I._extend(n, e), y(n.showHidden) && (n.showHidden = !1), y(n.depth) && (n.depth = 2), y(n.colors) && (n.colors = !1), y(n.customInspect) && (n.customInspect = !0), n.colors && (n.stylize = a), f(n, t, n.depth) } function a(t, e) { var n = l.styles[e]; return n ? "[" + l.colors[n][0] + "m" + t + "[" + l.colors[n][1] + "m" : t } function c(t, e) { return t } function f(e, n, i) { if (e.customInspect && n && w(n.inspect) && n.inspect !== I.inspect && (!n.constructor || n.constructor.prototype !== n)) { var t = n.inspect(i, e); return b(t) || (t = f(e, t, i)), t } var r = function (t, e) { if (y(e)) return t.stylize("undefined", "undefined"); if (b(e)) { var n = "'" + JSON.stringify(e).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; return t.stylize(n, "string") } if (E(e)) return t.stylize("" + e, "number"); if (v(e)) return t.stylize("" + e, "boolean"); if (_(e)) return t.stylize("null", "null") }(e, n); if (r) return r; var o, a = Object.keys(n), s = (o = {}, a.forEach(function (t, e) { o[t] = !0 }), o); if (e.showHidden && (a = Object.getOwnPropertyNames(n)), S(n) && (0 <= a.indexOf("message") || 0 <= a.indexOf("description"))) return h(n); if (0 === a.length) { if (w(n)) { var l = n.name ? ": " + n.name : ""; return e.stylize("[Function" + l + "]", "special") } if (T(n)) return e.stylize(RegExp.prototype.toString.call(n), "regexp"); if (x(n)) return e.stylize(Date.prototype.toString.call(n), "date"); if (S(n)) return h(n) } var c, u = "", p = !1, d = ["{", "}"]; (g(n) && (p = !0, d = ["[", "]"]), w(n)) && (u = " [Function" + (n.name ? ": " + n.name : "") + "]"); return T(n) && (u = " " + RegExp.prototype.toString.call(n)), x(n) && (u = " " + Date.prototype.toUTCString.call(n)), S(n) && (u = " " + h(n)), 0 !== a.length || p && 0 != n.length ? i < 0 ? T(n) ? e.stylize(RegExp.prototype.toString.call(n), "regexp") : e.stylize("[Object]", "special") : (e.seen.push(n), c = p ? function (e, n, i, r, t) { for (var o = [], a = 0, s = n.length; a < s; ++a)A(n, String(a)) ? o.push(m(e, n, i, r, String(a), !0)) : o.push(""); return t.forEach(function (t) { t.match(/^\d+$/) || o.push(m(e, n, i, r, t, !0)) }), o }(e, n, i, s, a) : a.map(function (t) { return m(e, n, i, s, t, p) }), e.seen.pop(), function (t, e, n) { if (60 < t.reduce(function (t, e) { return 0, 0 <= e.indexOf("\n") && 0, t + e.replace(/\u001b\[\d\d?m/g, "").length + 1 }, 0)) return n[0] + ("" === e ? "" : e + "\n ") + " " + t.join(",\n  ") + " " + n[1]; return n[0] + e + " " + t.join(", ") + " " + n[1] }(c, u, d)) : d[0] + u + d[1] } function h(t) { return "[" + Error.prototype.toString.call(t) + "]" } function m(t, e, n, i, r, o) { var a, s, l; if ((l = Object.getOwnPropertyDescriptor(e, r) || { value: e[r] }).get ? s = l.set ? t.stylize("[Getter/Setter]", "special") : t.stylize("[Getter]", "special") : l.set && (s = t.stylize("[Setter]", "special")), A(i, r) || (a = "[" + r + "]"), s || (t.seen.indexOf(l.value) < 0 ? -1 < (s = _(n) ? f(t, l.value, null) : f(t, l.value, n - 1)).indexOf("\n") && (s = o ? s.split("\n").map(function (t) { return "  " + t }).join("\n").substr(2) : "\n" + s.split("\n").map(function (t) { return "   " + t }).join("\n")) : s = t.stylize("[Circular]", "special")), y(a)) { if (o && r.match(/^\d+$/)) return s; (a = JSON.stringify("" + r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (a = a.substr(1, a.length - 2), a = t.stylize(a, "name")) : (a = a.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), a = t.stylize(a, "string")) } return a + ": " + s } function g(t) { return Array.isArray(t) } function v(t) { return "boolean" == typeof t } function _(t) { return null === t } function E(t) { return "number" == typeof t } function b(t) { return "string" == typeof t } function y(t) { return void 0 === t } function T(t) { return u(t) && "[object RegExp]" === e(t) } function u(t) { return "object" == typeof t && null !== t } function x(t) { return u(t) && "[object Date]" === e(t) } function S(t) { return u(t) && ("[object Error]" === e(t) || t instanceof Error) } function w(t) { return "function" == typeof t } function e(t) { return Object.prototype.toString.call(t) } function n(t) { return t < 10 ? "0" + t.toString(10) : t.toString(10) } I.debuglog = function (e) { if (y(t) && (t = i.env.NODE_DEBUG || ""), e = e.toUpperCase(), !o[e]) if (new RegExp("\\b" + e + "\\b", "i").test(t)) { var n = i.pid; o[e] = function () { var t = I.format.apply(I, arguments); console.error("%s %d: %s", e, n, t) } } else o[e] = function () { }; return o[e] }, (I.inspect = l).colors = { bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39], green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39] }, l.styles = { special: "cyan", number: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", date: "magenta", regexp: "red" }, I.isArray = g, I.isBoolean = v, I.isNull = _, I.isNullOrUndefined = function (t) { return null == t }, I.isNumber = E, I.isString = b, I.isSymbol = function (t) { return "symbol" == typeof t }, I.isUndefined = y, I.isRegExp = T, I.isObject = u, I.isDate = x, I.isError = S, I.isFunction = w, I.isPrimitive = function (t) { return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || void 0 === t }, I.isBuffer = d("./support/isBuffer"); var p = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; function A(t, e) { return Object.prototype.hasOwnProperty.call(t, e) } I.log = function () { var t, e; console.log("%s - %s", (t = new Date, e = [n(t.getHours()), n(t.getMinutes()), n(t.getSeconds())].join(":"), [t.getDate(), p[t.getMonth()], e].join(" ")), I.format.apply(I, arguments)) }, I.inherits = d("inherits"), I._extend = function (t, e) { if (!e || !u(e)) return t; for (var n = Object.keys(e), i = n.length; i--;)t[n[i]] = e[n[i]]; return t } }).call(this, d("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./support/isBuffer": 116, _process: 72, inherits: 115 }], 118: [function (t, e, n) { var i = t("./v1"), r = t("./v4"), o = r; o.v1 = i, o.v4 = r, e.exports = o }, { "./v1": 121, "./v4": 122 }], 119: [function (t, e, n) { for (var r = [], i = 0; i < 256; ++i)r[i] = (i + 256).toString(16).substr(1); e.exports = function (t, e) { var n = e || 0, i = r; return [i[t[n++]], i[t[n++]], i[t[n++]], i[t[n++]], "-", i[t[n++]], i[t[n++]], "-", i[t[n++]], i[t[n++]], "-", i[t[n++]], i[t[n++]], "-", i[t[n++]], i[t[n++]], i[t[n++]], i[t[n++]], i[t[n++]], i[t[n++]]].join("") } }, {}], 120: [function (t, e, n) { var i = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto); if (i) { var r = new Uint8Array(16); e.exports = function () { return i(r), r } } else { var o = new Array(16); e.exports = function () { for (var t, e = 0; e < 16; e++)0 == (3 & e) && (t = 4294967296 * Math.random()), o[e] = t >>> ((3 & e) << 3) & 255; return o } } }, {}], 121: [function (t, e, n) { var h, m, g = t("./lib/rng"), v = t("./lib/bytesToUuid"), _ = 0, E = 0; e.exports = function (t, e, n) { var i = e && n || 0, r = e || [], o = (t = t || {}).node || h, a = void 0 !== t.clockseq ? t.clockseq : m; if (null == o || null == a) { var s = g(); null == o && (o = h = [1 | s[0], s[1], s[2], s[3], s[4], s[5]]), null == a && (a = m = 16383 & (s[6] << 8 | s[7])) } var l = void 0 !== t.msecs ? t.msecs : (new Date).getTime(), c = void 0 !== t.nsecs ? t.nsecs : E + 1, u = l - _ + (c - E) / 1e4; if (u < 0 && void 0 === t.clockseq && (a = a + 1 & 16383), (u < 0 || _ < l) && void 0 === t.nsecs && (c = 0), 1e4 <= c) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); _ = l, m = a; var p = (1e4 * (268435455 & (l += 122192928e5)) + (E = c)) % 4294967296; r[i++] = p >>> 24 & 255, r[i++] = p >>> 16 & 255, r[i++] = p >>> 8 & 255, r[i++] = 255 & p; var d = l / 4294967296 * 1e4 & 268435455; r[i++] = d >>> 8 & 255, r[i++] = 255 & d, r[i++] = d >>> 24 & 15 | 16, r[i++] = d >>> 16 & 255, r[i++] = a >>> 8 | 128, r[i++] = 255 & a; for (var f = 0; f < 6; ++f)r[i + f] = o[f]; return e || v(r) } }, { "./lib/bytesToUuid": 119, "./lib/rng": 120 }], 122: [function (t, e, n) { var a = t("./lib/rng"), s = t("./lib/bytesToUuid"); e.exports = function (t, e, n) { var i = e && n || 0; "string" == typeof t && (e = "binary" === t ? new Array(16) : null, t = null); var r = (t = t || {}).random || (t.rng || a)(); if (r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, e) for (var o = 0; o < 16; ++o)e[i + o] = r[o]; return e || s(r) } }, { "./lib/bytesToUuid": 119, "./lib/rng": 120 }], 123: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = gt(t("./lib/toDate")), r = gt(t("./lib/toFloat")), o = gt(t("./lib/toInt")), a = gt(t("./lib/toBoolean")), s = gt(t("./lib/equals")), l = gt(t("./lib/contains")), c = gt(t("./lib/matches")), u = gt(t("./lib/isEmail")), p = gt(t("./lib/isURL")), d = gt(t("./lib/isMACAddress")), f = gt(t("./lib/isIP")), h = gt(t("./lib/isFQDN")), m = gt(t("./lib/isBoolean")), g = gt(t("./lib/isAlpha")), v = gt(t("./lib/isAlphanumeric")), _ = gt(t("./lib/isNumeric")), E = gt(t("./lib/isPort")), b = gt(t("./lib/isLowercase")), y = gt(t("./lib/isUppercase")), T = gt(t("./lib/isAscii")), x = gt(t("./lib/isFullWidth")), S = gt(t("./lib/isHalfWidth")), w = gt(t("./lib/isVariableWidth")), A = gt(t("./lib/isMultibyte")), I = gt(t("./lib/isSurrogatePair")), N = gt(t("./lib/isInt")), O = gt(t("./lib/isFloat")), R = gt(t("./lib/isDecimal")), L = gt(t("./lib/isHexadecimal")), C = gt(t("./lib/isDivisibleBy")), M = gt(t("./lib/isHexColor")), D = gt(t("./lib/isISRC")), P = gt(t("./lib/isMD5")), k = gt(t("./lib/isHash")), B = gt(t("./lib/isJSON")), U = gt(t("./lib/isEmpty")), F = gt(t("./lib/isLength")), j = gt(t("./lib/isByteLength")), H = gt(t("./lib/isUUID")), V = gt(t("./lib/isMongoId")), G = gt(t("./lib/isAfter")), q = gt(t("./lib/isBefore")), z = gt(t("./lib/isIn")), Y = gt(t("./lib/isCreditCard")), X = gt(t("./lib/isISIN")), W = gt(t("./lib/isISBN")), K = gt(t("./lib/isISSN")), $ = gt(t("./lib/isMobilePhone")), Q = gt(t("./lib/isCurrency")), Z = gt(t("./lib/isISO8601")), J = gt(t("./lib/isISO31661Alpha2")), tt = gt(t("./lib/isBase64")), et = gt(t("./lib/isDataURI")), nt = gt(t("./lib/isMimeType")), it = gt(t("./lib/isLatLong")), rt = gt(t("./lib/isPostalCode")), ot = gt(t("./lib/ltrim")), at = gt(t("./lib/rtrim")), st = gt(t("./lib/trim")), lt = gt(t("./lib/escape")), ct = gt(t("./lib/unescape")), ut = gt(t("./lib/stripLow")), pt = gt(t("./lib/whitelist")), dt = gt(t("./lib/blacklist")), ft = gt(t("./lib/isWhitelisted")), ht = gt(t("./lib/normalizeEmail")), mt = gt(t("./lib/util/toString")); function gt(t) { return t && t.__esModule ? t : { default: t } } var vt = { version: "9.4.1", toDate: i.default, toFloat: r.default, toInt: o.default, toBoolean: a.default, equals: s.default, contains: l.default, matches: c.default, isEmail: u.default, isURL: p.default, isMACAddress: d.default, isIP: f.default, isFQDN: h.default, isBoolean: m.default, isAlpha: g.default, isAlphanumeric: v.default, isNumeric: _.default, isPort: E.default, isLowercase: b.default, isUppercase: y.default, isAscii: T.default, isFullWidth: x.default, isHalfWidth: S.default, isVariableWidth: w.default, isMultibyte: A.default, isSurrogatePair: I.default, isInt: N.default, isFloat: O.default, isDecimal: R.default, isHexadecimal: L.default, isDivisibleBy: C.default, isHexColor: M.default, isISRC: D.default, isMD5: P.default, isHash: k.default, isJSON: B.default, isEmpty: U.default, isLength: F.default, isByteLength: j.default, isUUID: H.default, isMongoId: V.default, isAfter: G.default, isBefore: q.default, isIn: z.default, isCreditCard: Y.default, isISIN: X.default, isISBN: W.default, isISSN: K.default, isMobilePhone: $.default, isPostalCode: rt.default, isCurrency: Q.default, isISO8601: Z.default, isISO31661Alpha2: J.default, isBase64: tt.default, isDataURI: et.default, isMimeType: nt.default, isLatLong: it.default, ltrim: ot.default, rtrim: at.default, trim: st.default, escape: lt.default, unescape: ct.default, stripLow: ut.default, whitelist: pt.default, blacklist: dt.default, isWhitelisted: ft.default, normalizeEmail: ht.default, toString: mt.default }; n.default = vt, e.exports = n.default }, { "./lib/blacklist": 125, "./lib/contains": 126, "./lib/equals": 127, "./lib/escape": 128, "./lib/isAfter": 129, "./lib/isAlpha": 130, "./lib/isAlphanumeric": 131, "./lib/isAscii": 132, "./lib/isBase64": 133, "./lib/isBefore": 134, "./lib/isBoolean": 135, "./lib/isByteLength": 136, "./lib/isCreditCard": 137, "./lib/isCurrency": 138, "./lib/isDataURI": 139, "./lib/isDecimal": 140, "./lib/isDivisibleBy": 141, "./lib/isEmail": 142, "./lib/isEmpty": 143, "./lib/isFQDN": 144, "./lib/isFloat": 145, "./lib/isFullWidth": 146, "./lib/isHalfWidth": 147, "./lib/isHash": 148, "./lib/isHexColor": 149, "./lib/isHexadecimal": 150, "./lib/isIP": 151, "./lib/isISBN": 152, "./lib/isISIN": 153, "./lib/isISO31661Alpha2": 154, "./lib/isISO8601": 155, "./lib/isISRC": 156, "./lib/isISSN": 157, "./lib/isIn": 158, "./lib/isInt": 159, "./lib/isJSON": 160, "./lib/isLatLong": 161, "./lib/isLength": 162, "./lib/isLowercase": 163, "./lib/isMACAddress": 164, "./lib/isMD5": 165, "./lib/isMimeType": 166, "./lib/isMobilePhone": 167, "./lib/isMongoId": 168, "./lib/isMultibyte": 169, "./lib/isNumeric": 170, "./lib/isPort": 171, "./lib/isPostalCode": 172, "./lib/isSurrogatePair": 173, "./lib/isURL": 174, "./lib/isUUID": 175, "./lib/isUppercase": 176, "./lib/isVariableWidth": 177, "./lib/isWhitelisted": 178, "./lib/ltrim": 179, "./lib/matches": 180, "./lib/normalizeEmail": 181, "./lib/rtrim": 182, "./lib/stripLow": 183, "./lib/toBoolean": 184, "./lib/toDate": 185, "./lib/toFloat": 186, "./lib/toInt": 187, "./lib/trim": 188, "./lib/unescape": 189, "./lib/util/toString": 192, "./lib/whitelist": 193 }], 124: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); for (var i, r = n.alpha = { "en-US": /^[A-Z]+$/i, "bg-BG": /^[А-Я]+$/i, "cs-CZ": /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, "da-DK": /^[A-ZÆØÅ]+$/i, "de-DE": /^[A-ZÄÖÜß]+$/i, "el-GR": /^[Α-ω]+$/i, "es-ES": /^[A-ZÁÉÍÑÓÚÜ]+$/i, "fr-FR": /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, "it-IT": /^[A-ZÀÉÈÌÎÓÒÙ]+$/i, "nb-NO": /^[A-ZÆØÅ]+$/i, "nl-NL": /^[A-ZÁÉËÏÓÖÜÚ]+$/i, "nn-NO": /^[A-ZÆØÅ]+$/i, "hu-HU": /^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i, "pl-PL": /^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i, "pt-PT": /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i, "ru-RU": /^[А-ЯЁ]+$/i, "sk-SK": /^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i, "sr-RS@latin": /^[A-ZČĆŽŠĐ]+$/i, "sr-RS": /^[А-ЯЂЈЉЊЋЏ]+$/i, "sv-SE": /^[A-ZÅÄÖ]+$/i, "tr-TR": /^[A-ZÇĞİıÖŞÜ]+$/i, "uk-UA": /^[А-ЩЬЮЯЄIЇҐі]+$/i, ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/ }, o = n.alphanumeric = { "en-US": /^[0-9A-Z]+$/i, "bg-BG": /^[0-9А-Я]+$/i, "cs-CZ": /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, "da-DK": /^[0-9A-ZÆØÅ]+$/i, "de-DE": /^[0-9A-ZÄÖÜß]+$/i, "el-GR": /^[0-9Α-ω]+$/i, "es-ES": /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i, "fr-FR": /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, "it-IT": /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i, "hu-HU": /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i, "nb-NO": /^[0-9A-ZÆØÅ]+$/i, "nl-NL": /^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i, "nn-NO": /^[0-9A-ZÆØÅ]+$/i, "pl-PL": /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i, "pt-PT": /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i, "ru-RU": /^[0-9А-ЯЁ]+$/i, "sk-SK": /^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i, "sr-RS@latin": /^[0-9A-ZČĆŽŠĐ]+$/i, "sr-RS": /^[0-9А-ЯЂЈЉЊЋЏ]+$/i, "sv-SE": /^[0-9A-ZÅÄÖ]+$/i, "tr-TR": /^[0-9A-ZÇĞİıÖŞÜ]+$/i, "uk-UA": /^[0-9А-ЩЬЮЯЄIЇҐі]+$/i, ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/ }, a = n.decimal = { "en-US": ".", ar: "٫" }, s = n.englishLocales = ["AU", "GB", "HK", "IN", "NZ", "ZA", "ZM"], l = 0; l < s.length; l++)r[i = "en-" + s[l]] = r["en-US"], o[i] = o["en-US"], a[i] = a["en-US"]; for (var c, u = n.arabicLocales = ["AE", "BH", "DZ", "EG", "IQ", "JO", "KW", "LB", "LY", "MA", "QM", "QA", "SA", "SD", "SY", "TN", "YE"], p = 0; p < u.length; p++)r[c = "ar-" + u[p]] = r.ar, o[c] = o.ar, a[c] = a.ar; for (var d = n.dotDecimal = [], f = n.commaDecimal = ["bg-BG", "cs-CZ", "da-DK", "de-DE", "el-GR", "es-ES", "fr-FR", "it-IT", "hu-HU", "nb-NO", "nn-NO", "nl-NL", "pl-Pl", "pt-PT", "ru-RU", "sr-RS@latin", "sr-RS", "sv-SE", "tr-TR", "uk-UA"], h = 0; h < d.length; h++)a[d[h]] = a["en-US"]; for (var m = 0; m < f.length; m++)a[f[m]] = ","; r["pt-BR"] = r["pt-PT"], o["pt-BR"] = o["pt-PT"], a["pt-BR"] = a["pt-PT"] }, {}], 125: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, o.default)(t), t.replace(new RegExp("[" + e + "]+", "g"), "") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 126: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, i.default)(t), 0 <= t.indexOf((0, r.default)(e)) }; var i = o(t("./util/assertString")), r = o(t("./util/toString")); function o(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./util/assertString": 190, "./util/toString": 192 }], 127: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, o.default)(t), t === e }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 128: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), t.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\//g, "&#x2F;").replace(/\\/g, "&#x5C;").replace(/`/g, "&#96;") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 129: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : String(new Date); (0, r.default)(t); var n = (0, o.default)(e), i = (0, o.default)(t); return !!(i && n && n < i) }; var r = i(t("./util/assertString")), o = i(t("./toDate")); function i(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./toDate": 185, "./util/assertString": 190 }], 130: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "en-US"; if ((0, o.default)(t), e in a.alpha) return a.alpha[e].test(t); throw new Error("Invalid locale '" + e + "'") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }, a = t("./alpha"); e.exports = n.default }, { "./alpha": 124, "./util/assertString": 190 }], 131: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "en-US"; if ((0, o.default)(t), e in a.alphanumeric) return a.alphanumeric[e].test(t); throw new Error("Invalid locale '" + e + "'") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }, a = t("./alpha"); e.exports = n.default }, { "./alpha": 124, "./util/assertString": 190 }], 132: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^[\x00-\x7F]+$/; e.exports = n.default }, { "./util/assertString": 190 }], 133: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { (0, o.default)(t); var e = t.length; if (!e || e % 4 != 0 || a.test(t)) return !1; var n = t.indexOf("="); return -1 === n || n === e - 1 || n === e - 2 && "=" === t[e - 1] }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /[^A-Z0-9+\/=]/i; e.exports = n.default }, { "./util/assertString": 190 }], 134: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : String(new Date); (0, r.default)(t); var n = (0, o.default)(e), i = (0, o.default)(t); return !!(i && n && i < n) }; var r = i(t("./util/assertString")), o = i(t("./toDate")); function i(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./toDate": 185, "./util/assertString": 190 }], 135: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), 0 <= ["true", "false", "1", "0"].indexOf(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 136: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }; n.default = function (t, e) { (0, a.default)(t); var n = void 0, i = void 0; "object" === (void 0 === e ? "undefined" : o(e)) ? (n = e.min || 0, i = e.max) : (n = e, i = arguments[2]); var r = encodeURI(t).split(/%..|./).length - 1; return n <= r && (void 0 === i || r <= i) }; var i, r = t("./util/assertString"), a = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 137: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { (0, s.default)(t); var e = t.replace(/[- ]+/g, ""); if (!l.test(e)) return !1; for (var n = 0, i = void 0, r = void 0, o = void 0, a = e.length - 1; 0 <= a; a--)i = e.substring(a, a + 1), r = parseInt(i, 10), n += o && 10 <= (r *= 2) ? r % 10 + 1 : r, o = !o; return !(n % 10 != 0 || !e) }; var i, r = t("./util/assertString"), s = (i = r) && i.__esModule ? i : { default: i }; var l = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|62[0-9]{14})$/; e.exports = n.default }, { "./util/assertString": 190 }], 138: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, r.default)(t), function (t) { var n = "\\d{" + t.digits_after_decimal[0] + "}"; t.digits_after_decimal.forEach(function (t, e) { 0 !== e && (n = n + "|\\d{" + t + "}") }); var e = "(\\" + t.symbol.replace(/\./g, "\\.") + ")" + (t.require_symbol ? "" : "?"), i = "[1-9]\\d{0,2}(\\" + t.thousands_separator + "\\d{3})*", r = "(" + ["0", "[1-9]\\d*", i].join("|") + ")?", o = "(\\" + t.decimal_separator + "(" + n + "))" + (t.require_decimal ? "" : "?"), a = r + (t.allow_decimal || t.require_decimal ? o : ""); return t.allow_negatives && !t.parens_for_negatives && (t.negative_sign_after_digits ? a += "-?" : t.negative_sign_before_digits && (a = "-?" + a)), t.allow_negative_sign_placeholder ? a = "( (?!\\-))?" + a : t.allow_space_after_symbol ? a = " ?" + a : t.allow_space_after_digits && (a += "( (?!$))?"), t.symbol_after_digits ? a += e : a = e + a, t.allow_negatives && (t.parens_for_negatives ? a = "(\\(" + a + "\\)|" + a + ")" : t.negative_sign_before_digits || t.negative_sign_after_digits || (a = "-?" + a)), new RegExp("^(?!-? )(?=.*\\d)" + a + "$") }(e = (0, i.default)(e, a)).test(t) }; var i = o(t("./util/merge")), r = o(t("./util/assertString")); function o(t) { return t && t.__esModule ? t : { default: t } } var a = { symbol: "$", require_symbol: !1, allow_space_after_symbol: !1, symbol_after_digits: !1, allow_negatives: !0, parens_for_negatives: !1, negative_sign_before_digits: !1, negative_sign_after_digits: !1, allow_negative_sign_placeholder: !1, thousands_separator: ",", decimal_separator: ".", allow_decimal: !0, require_decimal: !1, digits_after_decimal: [2], allow_space_after_digits: !1 }; e.exports = n.default }, { "./util/assertString": 190, "./util/merge": 191 }], 139: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { (0, s.default)(t); var e = t.split(","); if (e.length < 2) return !1; var n = e.shift().trim().split(";"), i = n.shift(); if ("data:" !== i.substr(0, 5)) return !1; var r = i.substr(5); if ("" !== r && !l.test(r)) return !1; for (var o = 0; o < n.length; o++)if (o === n.length - 1 && "base64" === n[o].toLowerCase()); else if (!c.test(n[o])) return !1; for (var a = 0; a < e.length; a++)if (!u.test(e[a])) return !1; return !0 }; var i, r = t("./util/assertString"), s = (i = r) && i.__esModule ? i : { default: i }; var l = /^[a-z]+\/[a-z0-9\-\+]+$/i, c = /^[a-z\-]+=[a-z0-9\-]+$/i, u = /^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i; e.exports = n.default }, { "./util/assertString": 190 }], 140: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { if ((0, r.default)(t), (e = (0, i.default)(e, s)).locale in o.decimal) return !l.includes(t.replace(/ /g, "")) && (n = e, new RegExp("^[-+]?([0-9]+)?(\\" + o.decimal[n.locale] + "[0-9]{" + n.decimal_digits + "})" + (n.force_decimal ? "" : "?") + "$")).test(t); var n; throw new Error("Invalid locale '" + e.locale + "'") }; var i = a(t("./util/merge")), r = a(t("./util/assertString")), o = t("./alpha"); function a(t) { return t && t.__esModule ? t : { default: t } } var s = { force_decimal: !1, decimal_digits: "1,", locale: "en-US" }, l = ["", "-", "+"]; e.exports = n.default }, { "./alpha": 124, "./util/assertString": 190, "./util/merge": 191 }], 141: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, i.default)(t), (0, r.default)(t) % parseInt(e, 10) == 0 }; var i = o(t("./util/assertString")), r = o(t("./toFloat")); function o(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./toFloat": 186, "./util/assertString": 190 }], 142: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { if ((0, u.default)(t), (e = (0, p.default)(e, h)).require_display_name || e.allow_display_name) { var n = t.match(m); if (n) t = n[1]; else if (e.require_display_name) return !1 } var i = t.split("@"), r = i.pop(), o = i.join("@"), a = r.toLowerCase(); "gmail.com" !== a && "googlemail.com" !== a || (o = o.replace(/\./g, "").toLowerCase()); if (!(0, d.default)(o, { max: 64 }) || !(0, d.default)(r, { max: 254 })) return !1; if (!(0, f.default)(r, { require_tld: e.require_tld })) return !1; if ('"' === o[0]) return o = o.slice(1, o.length - 1), e.allow_utf8_local_part ? E.test(o) : v.test(o); for (var s = e.allow_utf8_local_part ? _ : g, l = o.split("."), c = 0; c < l.length; c++)if (!s.test(l[c])) return !1; return !0 }; var u = i(t("./util/assertString")), p = i(t("./util/merge")), d = i(t("./isByteLength")), f = i(t("./isFQDN")); function i(t) { return t && t.__esModule ? t : { default: t } } var h = { allow_display_name: !1, require_display_name: !1, allow_utf8_local_part: !0, require_tld: !0 }, m = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\,\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i, g = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i, v = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i, _ = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i, E = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i; e.exports = n.default }, { "./isByteLength": 136, "./isFQDN": 144, "./util/assertString": 190, "./util/merge": 191 }], 143: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), 0 === t.length }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 144: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, a.default)(t), (e = (0, s.default)(e, l)).allow_trailing_dot && "." === t[t.length - 1] && (t = t.substring(0, t.length - 1)); var n = t.split("."); if (e.require_tld) { var i = n.pop(); if (!n.length || !/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(i)) return !1; if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(i)) return !1 } for (var r, o = 0; o < n.length; o++) { if (r = n[o], e.allow_underscores && (r = r.replace(/_/g, "")), !/^[a-z\u00a1-\uffff0-9-]+$/i.test(r)) return !1; if (/[\uff01-\uff5e]/.test(r)) return !1; if ("-" === r[0] || "-" === r[r.length - 1]) return !1 } return !0 }; var a = i(t("./util/assertString")), s = i(t("./util/merge")); function i(t) { return t && t.__esModule ? t : { default: t } } var l = { require_tld: !0, allow_underscores: !1, allow_trailing_dot: !1 }; e.exports = n.default }, { "./util/assertString": 190, "./util/merge": 191 }], 145: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, o.default)(t), e = e || {}; var n = new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\" + (e.locale ? a.decimal[e.locale] : ".") + "[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"); if ("" === t || "." === t || "-" === t || "+" === t) return !1; return n.test(t) && (!e.hasOwnProperty("min") || t >= e.min) && (!e.hasOwnProperty("max") || t <= e.max) && (!e.hasOwnProperty("lt") || t < e.lt) && (!e.hasOwnProperty("gt") || t > e.gt) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }, a = t("./alpha"); e.exports = n.default }, { "./alpha": 124, "./util/assertString": 190 }], 146: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.fullWidth = void 0, n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = n.fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/ }, { "./util/assertString": 190 }], 147: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.halfWidth = void 0, n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = n.halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/ }, { "./util/assertString": 190 }], 148: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, o.default)(t), new RegExp("^[a-f0-9]{" + a[e] + "}$").test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = { md5: 32, md4: 32, sha1: 40, sha256: 64, sha384: 96, sha512: 128, ripemd128: 32, ripemd160: 40, tiger128: 32, tiger160: 40, tiger192: 48, crc32: 8, crc32b: 8 }; e.exports = n.default }, { "./util/assertString": 190 }], 149: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^#?([0-9A-F]{3}|[0-9A-F]{6})$/i; e.exports = n.default }, { "./util/assertString": 190 }], 150: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^[0-9A-F]+$/i; e.exports = n.default }, { "./util/assertString": 190 }], 151: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function t(e) { var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : ""; (0, c.default)(e); n = String(n); { if (!n) return t(e, 4) || t(e, 6); if ("4" === n) { if (!u.test(e)) return !1; var i = e.split(".").sort(function (t, e) { return t - e }); return i[3] <= 255 } if ("6" === n) { var r = e.split(":"), o = !1, a = t(r[r.length - 1], 4), s = a ? 7 : 8; if (r.length > s) return !1; if ("::" === e) return !0; "::" === e.substr(0, 2) ? (r.shift(), r.shift(), o = !0) : "::" === e.substr(e.length - 2) && (r.pop(), r.pop(), o = !0); for (var l = 0; l < r.length; ++l)if ("" === r[l] && 0 < l && l < r.length - 1) { if (o) return !1; o = !0 } else if (a && l === r.length - 1); else if (!p.test(r[l])) return !1; return o ? 1 <= r.length : r.length === s } } return !1 }; var i, r = t("./util/assertString"), c = (i = r) && i.__esModule ? i : { default: i }; var u = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/, p = /^[0-9A-F]{1,4}$/i; e.exports = n.default }, { "./util/assertString": 190 }], 152: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function t(e) { var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : ""; (0, a.default)(e); n = String(n); if (!n) return t(e, 10) || t(e, 13); var i = e.replace(/[\s-]+/g, ""); var r = 0; var o = void 0; if ("10" === n) { if (!s.test(i)) return !1; for (o = 0; o < 9; o++)r += (o + 1) * i.charAt(o); if ("X" === i.charAt(9) ? r += 100 : r += 10 * i.charAt(9), r % 11 == 0) return !!i } else if ("13" === n) { if (!l.test(i)) return !1; for (o = 0; o < 12; o++)r += c[o % 2] * i.charAt(o); if (i.charAt(12) - (10 - r % 10) % 10 == 0) return !!i } return !1 }; var i, r = t("./util/assertString"), a = (i = r) && i.__esModule ? i : { default: i }; var s = /^(?:[0-9]{9}X|[0-9]{10})$/, l = /^(?:[0-9]{13})$/, c = [1, 3]; e.exports = n.default }, { "./util/assertString": 190 }], 153: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { if ((0, s.default)(t), !l.test(t)) return !1; for (var e = t.replace(/[A-Z]/g, function (t) { return parseInt(t, 36) }), n = 0, i = void 0, r = void 0, o = !0, a = e.length - 2; 0 <= a; a--)i = e.substring(a, a + 1), r = parseInt(i, 10), n += o && 10 <= (r *= 2) ? r + 1 : r, o = !o; return parseInt(t.substr(t.length - 1), 10) === (1e4 - n) % 10 }; var i, r = t("./util/assertString"), s = (i = r) && i.__esModule ? i : { default: i }; var l = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/; e.exports = n.default }, { "./util/assertString": 190 }], 154: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.includes(t.toUpperCase()) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"]; e.exports = n.default }, { "./util/assertString": 190 }], 155: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/; e.exports = n.default }, { "./util/assertString": 190 }], 156: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/; e.exports = n.default }, { "./util/assertString": 190 }], 157: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; (0, f.default)(t); var n = h; if (n = e.require_hyphen ? n.replace("?", "") : n, !(n = e.case_sensitive ? new RegExp(n) : new RegExp(n, "i")).test(t)) return !1; var i = t.replace("-", ""), r = 8, o = 0, a = !0, s = !1, l = void 0; try { for (var c, u = i[Symbol.iterator](); !(a = (c = u.next()).done); a = !0) { var p = c.value, d = "X" === p.toUpperCase() ? 10 : +p; o += d * r, --r } } catch (t) { s = !0, l = t } finally { try { !a && u.return && u.return() } finally { if (s) throw l } } return o % 11 == 0 }; var i, r = t("./util/assertString"), f = (i = r) && i.__esModule ? i : { default: i }; var h = "^\\d{4}-?\\d{3}[\\dX]$"; e.exports = n.default }, { "./util/assertString": 190 }], 158: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }; n.default = function (t, e) { (0, o.default)(t); var n = void 0; { if ("[object Array]" === Object.prototype.toString.call(e)) { var i = []; for (n in e) ({}).hasOwnProperty.call(e, n) && (i[n] = (0, a.default)(e[n])); return 0 <= i.indexOf(t) } if ("object" === (void 0 === e ? "undefined" : r(e))) return e.hasOwnProperty(t); if (e && "function" == typeof e.indexOf) return 0 <= e.indexOf(t) } return !1 }; var o = i(t("./util/assertString")), a = i(t("./util/toString")); function i(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./util/assertString": 190, "./util/toString": 192 }], 159: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, s.default)(t); var n = (e = e || {}).hasOwnProperty("allow_leading_zeroes") && !e.allow_leading_zeroes ? l : c, i = !e.hasOwnProperty("min") || t >= e.min, r = !e.hasOwnProperty("max") || t <= e.max, o = !e.hasOwnProperty("lt") || t < e.lt, a = !e.hasOwnProperty("gt") || t > e.gt; return n.test(t) && i && r && o && a }; var i, r = t("./util/assertString"), s = (i = r) && i.__esModule ? i : { default: i }; var l = /^(?:[-+]?(?:0|[1-9][0-9]*))$/, c = /^[-+]?[0-9]+$/; e.exports = n.default }, { "./util/assertString": 190 }], 160: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }; n.default = function (t) { (0, a.default)(t); try { var e = JSON.parse(t); return !!e && "object" === (void 0 === e ? "undefined" : i(e)) } catch (t) { } return !1 }; var r, o = t("./util/assertString"), a = (r = o) && r.__esModule ? r : { default: r }; e.exports = n.default }, { "./util/assertString": 190 }], 161: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { if ((0, o.default)(t), !t.includes(",")) return !1; var e = t.split(","); return a.test(e[0]) && s.test(e[1]) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/, s = /^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/; e.exports = n.default }, { "./util/assertString": 190 }], 162: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }; n.default = function (t, e) { (0, s.default)(t); var n = void 0, i = void 0; "object" === (void 0 === e ? "undefined" : a(e)) ? (n = e.min || 0, i = e.max) : (n = e, i = arguments[2]); var r = t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g) || [], o = t.length - r.length; return n <= o && (void 0 === i || o <= i) }; var i, r = t("./util/assertString"), s = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 163: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), t === t.toLowerCase() }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 164: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/; e.exports = n.default }, { "./util/assertString": 190 }], 165: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^[a-f0-9]{32}$/; e.exports = n.default }, { "./util/assertString": 190 }], 166: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) || s.test(t) || l.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i, s = /^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i, l = /^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i; e.exports = n.default }, { "./util/assertString": 190 }], 167: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e, n) { if ((0, o.default)(t), n && n.strictMode && !t.startsWith("+")) return !1; { if (e in a) return a[e].test(t); if ("any" === e) { for (var i in a) if (a.hasOwnProperty(i)) { var r = a[i]; if (r.test(t)) return !0 } return !1 } } throw new Error("Invalid locale '" + e + "'") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = { "ar-AE": /^((\+?971)|0)?5[024568]\d{7}$/, "ar-DZ": /^(\+?213|0)(5|6|7)\d{8}$/, "ar-EG": /^((\+?20)|0)?1[012]\d{8}$/, "ar-JO": /^(\+?962|0)?7[789]\d{7}$/, "ar-SA": /^(!?(\+?966)|0)?5\d{8}$/, "ar-SY": /^(!?(\+?963)|0)?9\d{8}$/, "be-BY": /^(\+?375)?(24|25|29|33|44)\d{7}$/, "bg-BG": /^(\+?359|0)?8[789]\d{7}$/, "cs-CZ": /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, "da-DK": /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/, "de-DE": /^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/, "el-GR": /^(\+?30|0)?(69\d{8})$/, "en-AU": /^(\+?61|0)4\d{8}$/, "en-GB": /^(\+?44|0)7\d{9}$/, "en-HK": /^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/, "en-IN": /^(\+?91|0)?[6789]\d{9}$/, "en-KE": /^(\+?254|0)?[7]\d{8}$/, "en-NG": /^(\+?234|0)?[789]\d{9}$/, "en-NZ": /^(\+?64|0)2\d{7,9}$/, "en-PK": /^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/, "en-RW": /^(\+?250|0)?[7]\d{8}$/, "en-SG": /^(\+65)?[89]\d{7}$/, "en-TZ": /^(\+?255|0)?[67]\d{8}$/, "en-UG": /^(\+?256|0)?[7]\d{8}$/, "en-US": /^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/, "en-ZA": /^(\+?27|0)\d{9}$/, "en-ZM": /^(\+?26)?09[567]\d{7}$/, "es-ES": /^(\+?34)?(6\d{1}|7[1234])\d{7}$/, "et-EE": /^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/, "fa-IR": /^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/, "fi-FI": /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/, "fo-FO": /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/, "fr-FR": /^(\+?33|0)[67]\d{8}$/, "he-IL": /^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}/, "hu-HU": /^(\+?36)(20|30|70)\d{7}$/, "id-ID": /^(\+?62|0[1-9])[\s|\d]+$/, "it-IT": /^(\+?39)?\s?3\d{2} ?\d{6,7}$/, "ja-JP": /^(\+?81|0)[789]0[ \-]?[1-9]\d{2}[ \-]?\d{5}$/, "kk-KZ": /^(\+?7|8)?7\d{9}$/, "kl-GL": /^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/, "ko-KR": /^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/, "lt-LT": /^(\+370|8)\d{8}$/, "ms-MY": /^(\+?6?01){1}(([145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/, "nb-NO": /^(\+?47)?[49]\d{7}$/, "nl-BE": /^(\+?32|0)4?\d{8}$/, "nn-NO": /^(\+?47)?[49]\d{7}$/, "pl-PL": /^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/, "pt-BR": /^(\+?55|0)\-?[1-9]{2}\-?[2-9]{1}\d{3,4}\-?\d{4}$/, "pt-PT": /^(\+?351)?9[1236]\d{7}$/, "ro-RO": /^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/, "ru-RU": /^(\+?7|8)?9\d{9}$/, "sk-SK": /^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, "sr-RS": /^(\+3816|06)[- \d]{5,9}$/, "th-TH": /^(\+66|66|0)\d{9}$/, "tr-TR": /^(\+?90|0)?5\d{9}$/, "uk-UA": /^(\+?38|8)?0\d{9}$/, "vi-VN": /^(\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$/, "zh-CN": /^(\+?0?86\-?)?1[3456789]\d{9}$/, "zh-TW": /^(\+?886\-?|0)?9\d{8}$/ }; a["en-CA"] = a["en-US"], a["fr-BE"] = a["nl-BE"], a["zh-HK"] = a["en-HK"], e.exports = n.default }, { "./util/assertString": 190 }], 168: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, i.default)(t), (0, r.default)(t) && 24 === t.length }; var i = o(t("./util/assertString")), r = o(t("./isHexadecimal")); function o(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./isHexadecimal": 150, "./util/assertString": 190 }], 169: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /[^\x00-\x7F]/; e.exports = n.default }, { "./util/assertString": 190 }], 170: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^[-+]?[0-9]+$/; e.exports = n.default }, { "./util/assertString": 190 }], 171: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t, { min: 0, max: 65535 }) }; var i, r = t("./isInt"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./isInt": 159 }], 172: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.locales = void 0, n.default = function (t, e) { if ((0, o.default)(t), e in c) return c[e].test(t); if ("any" === e) { for (var n in c) { if (c.hasOwnProperty(n)) if (c[n].test(t)) return !0 } return !1 } throw new Error("Invalid locale '" + e + "'") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /^\d{4}$/, s = /^\d{5}$/, l = /^\d{6}$/, c = { AT: a, AU: a, BE: a, BG: a, CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i, CH: a, CZ: /^\d{3}\s?\d{2}$/, DE: s, DK: a, DZ: s, ES: s, FI: s, FR: /^\d{2}\s?\d{3}$/, GB: /^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i, GR: /^\d{3}\s?\d{2}$/, IL: s, IN: l, IS: /^\d{3}$/, IT: s, JP: /^\d{3}\-\d{4}$/, KE: s, LI: /^(948[5-9]|949[0-7])$/, MX: s, NL: /^\d{4}\s?[a-z]{2}$/i, NO: a, PL: /^\d{2}\-\d{3}$/, PT: /^\d{4}\-\d{3}?$/, RO: l, RU: l, SA: s, SE: /^\d{3}\s?\d{2}$/, TW: /^\d{3}(\d{2})?$/, US: /^\d{5}(-\d{4})?$/, ZA: a, ZM: s }; n.locales = Object.keys(c) }, { "./util/assertString": 190 }], 173: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = /[\uD800-\uDBFF][\uDC00-\uDFFF]/; e.exports = n.default }, { "./util/assertString": 190 }], 174: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { if ((0, p.default)(t), !t || 2083 <= t.length || /[\s<>]/.test(t)) return !1; if (0 === t.indexOf("mailto:")) return !1; e = (0, h.default)(e, m); var n = void 0, i = void 0, r = void 0, o = void 0, a = void 0, s = void 0, l = void 0, c = void 0; if (1 < (l = (t = (l = (t = (l = t.split("#")).shift()).split("?")).shift()).split("://")).length) { if (n = l.shift(), e.require_valid_protocol && -1 === e.protocols.indexOf(n)) return !1 } else { if (e.require_protocol) return !1; e.allow_protocol_relative_urls && "//" === t.substr(0, 2) && (l[0] = t.substr(2)) } if ("" === (t = l.join("://"))) return !1; if ("" === (t = (l = t.split("/")).shift()) && !e.require_host) return !0; if (1 < (l = t.split("@")).length && 0 <= (i = l.shift()).indexOf(":") && 2 < i.split(":").length) return !1; o = l.join("@"), c = s = null; var u = o.match(g); u ? (r = "", c = u[1], s = u[2] || null) : (l = o.split(":"), r = l.shift(), l.length && (s = l.join(":"))); if (null !== s && (a = parseInt(s, 10), !/^[0-9]+$/.test(s) || a <= 0 || 65535 < a)) return !1; if (!((0, f.default)(r) || (0, d.default)(r, e) || c && (0, f.default)(c, 6))) return !1; if (r = r || c, e.host_whitelist && !v(r, e.host_whitelist)) return !1; if (e.host_blacklist && v(r, e.host_blacklist)) return !1; return !0 }; var p = i(t("./util/assertString")), d = i(t("./isFQDN")), f = i(t("./isIP")), h = i(t("./util/merge")); function i(t) { return t && t.__esModule ? t : { default: t } } var m = { protocols: ["http", "https", "ftp"], require_tld: !0, require_protocol: !1, require_host: !0, require_valid_protocol: !0, allow_underscores: !1, allow_trailing_dot: !1, allow_protocol_relative_urls: !1 }, g = /^\[([^\]]+)\](?::([0-9]+))?$/; function v(t, e) { for (var n = 0; n < e.length; n++) { var i = e[n]; if (t === i || (r = i, "[object RegExp]" === Object.prototype.toString.call(r) && i.test(t))) return !0 } var r; return !1 } e.exports = n.default }, { "./isFQDN": 144, "./isIP": 151, "./util/assertString": 190, "./util/merge": 191 }], 175: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "all"; (0, o.default)(t); var n = a[e]; return n && n.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; var a = { 3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i, 4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, 5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i }; e.exports = n.default }, { "./util/assertString": 190 }], 176: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), t === t.toUpperCase() }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 177: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), a.fullWidth.test(t) && s.halfWidth.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }, a = t("./isFullWidth"), s = t("./isHalfWidth"); e.exports = n.default }, { "./isFullWidth": 146, "./isHalfWidth": 147, "./util/assertString": 190 }], 178: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, o.default)(t); for (var n = t.length - 1; 0 <= n; n--)if (-1 === e.indexOf(t[n])) return !1; return !0 }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 179: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, o.default)(t); var n = e ? new RegExp("^[" + e + "]+", "g") : /^\s+/g; return t.replace(n, "") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 180: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e, n) { (0, o.default)(t), "[object RegExp]" !== Object.prototype.toString.call(e) && (e = new RegExp(e, n)); return e.test(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 181: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { e = (0, a.default)(e, s); var n = t.split("@"), i = n.pop(), r = [n.join("@"), i]; if (r[1] = r[1].toLowerCase(), "gmail.com" === r[1] || "googlemail.com" === r[1]) { if (e.gmail_remove_subaddress && (r[0] = r[0].split("+")[0]), e.gmail_remove_dots && (r[0] = r[0].replace(/\./g, "")), !r[0].length) return !1; (e.all_lowercase || e.gmail_lowercase) && (r[0] = r[0].toLowerCase()), r[1] = e.gmail_convert_googlemaildotcom ? "gmail.com" : r[1] } else if (~l.indexOf(r[1])) { if (e.icloud_remove_subaddress && (r[0] = r[0].split("+")[0]), !r[0].length) return !1; (e.all_lowercase || e.icloud_lowercase) && (r[0] = r[0].toLowerCase()) } else if (~c.indexOf(r[1])) { if (e.outlookdotcom_remove_subaddress && (r[0] = r[0].split("+")[0]), !r[0].length) return !1; (e.all_lowercase || e.outlookdotcom_lowercase) && (r[0] = r[0].toLowerCase()) } else if (~u.indexOf(r[1])) { if (e.yahoo_remove_subaddress) { var o = r[0].split("-"); r[0] = 1 < o.length ? o.slice(0, -1).join("-") : o[0] } if (!r[0].length) return !1; (e.all_lowercase || e.yahoo_lowercase) && (r[0] = r[0].toLowerCase()) } else e.all_lowercase && (r[0] = r[0].toLowerCase()); return r.join("@") }; var i, r = t("./util/merge"), a = (i = r) && i.__esModule ? i : { default: i }; var s = { all_lowercase: !0, gmail_lowercase: !0, gmail_remove_dots: !0, gmail_remove_subaddress: !0, gmail_convert_googlemaildotcom: !0, outlookdotcom_lowercase: !0, outlookdotcom_remove_subaddress: !0, yahoo_lowercase: !0, yahoo_remove_subaddress: !0, icloud_lowercase: !0, icloud_remove_subaddress: !0 }, l = ["icloud.com", "me.com"], c = ["hotmail.at", "hotmail.be", "hotmail.ca", "hotmail.cl", "hotmail.co.il", "hotmail.co.nz", "hotmail.co.th", "hotmail.co.uk", "hotmail.com", "hotmail.com.ar", "hotmail.com.au", "hotmail.com.br", "hotmail.com.gr", "hotmail.com.mx", "hotmail.com.pe", "hotmail.com.tr", "hotmail.com.vn", "hotmail.cz", "hotmail.de", "hotmail.dk", "hotmail.es", "hotmail.fr", "hotmail.hu", "hotmail.id", "hotmail.ie", "hotmail.in", "hotmail.it", "hotmail.jp", "hotmail.kr", "hotmail.lv", "hotmail.my", "hotmail.ph", "hotmail.pt", "hotmail.sa", "hotmail.sg", "hotmail.sk", "live.be", "live.co.uk", "live.com", "live.com.ar", "live.com.mx", "live.de", "live.es", "live.eu", "live.fr", "live.it", "live.nl", "msn.com", "outlook.at", "outlook.be", "outlook.cl", "outlook.co.il", "outlook.co.nz", "outlook.co.th", "outlook.com", "outlook.com.ar", "outlook.com.au", "outlook.com.br", "outlook.com.gr", "outlook.com.pe", "outlook.com.tr", "outlook.com.vn", "outlook.cz", "outlook.de", "outlook.dk", "outlook.es", "outlook.fr", "outlook.hu", "outlook.id", "outlook.ie", "outlook.in", "outlook.it", "outlook.jp", "outlook.kr", "outlook.lv", "outlook.my", "outlook.ph", "outlook.pt", "outlook.sa", "outlook.sg", "outlook.sk", "passport.com"], u = ["rocketmail.com", "yahoo.ca", "yahoo.co.uk", "yahoo.com", "yahoo.de", "yahoo.fr", "yahoo.in", "yahoo.it", "ymail.com"]; e.exports = n.default }, { "./util/merge": 191 }], 182: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, o.default)(t); var n = e ? new RegExp("[" + e + "]") : /\s/, i = t.length - 1; for (; 0 <= i && n.test(t[i]);)i--; return i < t.length ? t.substr(0, i + 1) : t }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 183: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { (0, i.default)(t); var n = e ? "\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F" : "\\x00-\\x1F\\x7F"; return (0, r.default)(t, n) }; var i = o(t("./util/assertString")), r = o(t("./blacklist")); function o(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./blacklist": 125, "./util/assertString": 190 }], 184: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { if ((0, o.default)(t), e) return "1" === t || "true" === t; return "0" !== t && "false" !== t && "" !== t }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 185: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), t = Date.parse(t), isNaN(t) ? null : new Date(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 186: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), parseFloat(t) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 187: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, o.default)(t), parseInt(t, e || 10) }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 188: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, i.default)((0, r.default)(t, e), e) }; var i = o(t("./rtrim")), r = o(t("./ltrim")); function o(t) { return t && t.__esModule ? t : { default: t } } e.exports = n.default }, { "./ltrim": 179, "./rtrim": 182 }], 189: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { return (0, o.default)(t), t.replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&#x2F;/g, "/").replace(/&#x5C;/g, "\\").replace(/&#96;/g, "`") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 190: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t) { if (!("string" == typeof t || t instanceof String)) throw new TypeError("This library (validator.js) validates strings only") }, e.exports = n.default }, {}], 191: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function () { var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, e = arguments[1]; for (var n in e) void 0 === t[n] && (t[n] = e[n]); return t }, e.exports = n.default }, {}], 192: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }); var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }; n.default = function (t) { "object" === (void 0 === t ? "undefined" : i(t)) && null !== t ? t = "function" == typeof t.toString ? t.toString() : "[object Object]" : (null == t || isNaN(t) && !t.length) && (t = ""); return String(t) }, e.exports = n.default }, {}], 193: [function (t, e, n) { "use strict"; Object.defineProperty(n, "__esModule", { value: !0 }), n.default = function (t, e) { return (0, o.default)(t), t.replace(new RegExp("[^" + e + "]+", "g"), "") }; var i, r = t("./util/assertString"), o = (i = r) && i.__esModule ? i : { default: i }; e.exports = n.default }, { "./util/assertString": 190 }], 194: [function (e, t, s) { (function (a) { (function () { var t, d, i, o = {}.hasOwnProperty, n = function (t, e) { for (var n in e) o.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } return i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype, t }, r = function (t, e) { return function () { return t.apply(e, arguments) } }; i = e("sax"), t = e("events"), d = function (t) { return "object" == typeof t && null != t && 0 === Object.keys(t).length }, s.defaults = { .1: { explicitCharkey: !1, trim: !0, normalize: !0, normalizeTags: !1, attrkey: "@", charkey: "#", explicitArray: !1, ignoreAttrs: !1, mergeAttrs: !1, explicitRoot: !1, validator: null, xmlns: !1, explicitChildren: !1, childkey: "@@", charsAsChildren: !1, async: !1, strict: !0 }, .2: { explicitCharkey: !1, trim: !1, normalize: !1, normalizeTags: !1, attrkey: "$", charkey: "_", explicitArray: !0, ignoreAttrs: !1, mergeAttrs: !1, explicitRoot: !0, validator: null, xmlns: !1, explicitChildren: !1, childkey: "$$", charsAsChildren: !1, async: !1, strict: !0 } }, s.ValidationError = function (t) { function e(t) { this.message = t } return n(e, t), e }(Error), s.Parser = function (t) { function e(t) { var e, n, i; if (this.parseString = r(this.parseString, this), this.reset = r(this.reset, this), !(this instanceof s.Parser)) return new s.Parser(t); for (e in this.options = {}, i = s.defaults[.2]) o.call(i, e) && (n = i[e], this.options[e] = n); for (e in t) o.call(t, e) && (n = t[e], this.options[e] = n); this.options.xmlns && (this.options.xmlnskey = this.options.attrkey + "ns"), this.reset() } return n(e, t), e.prototype.reset = function () { var r, l, c, n, u, p = this; return this.removeAllListeners(), this.saxParser = i.parser(this.options.strict, { trim: !1, normalize: !1, xmlns: this.options.xmlns }), c = !1, this.saxParser.onerror = function (t) { if (!c) return c = !0, p.emit("error", t) }, this.EXPLICIT_CHARKEY = this.options.explicitCharkey, this.resultObject = null, u = [], r = this.options.attrkey, l = this.options.charkey, this.saxParser.onopentag = function (t) { var e, n, i; if ((n = {})[l] = "", !p.options.ignoreAttrs) for (e in i = t.attributes) o.call(i, e) && (r in n || p.options.mergeAttrs || (n[r] = {}), p.options.mergeAttrs ? n[e] = t.attributes[e] : n[r][e] = t.attributes[e]); return n["#name"] = p.options.normalizeTags ? t.name.toLowerCase() : t.name, p.options.xmlns && (n[p.options.xmlnskey] = { uri: t.uri, local: t.local }), u.push(n) }, this.saxParser.onclosetag = function () { var t, e, i, n, r, o, a, s; if (n = (r = u.pop())["#name"], delete r["#name"], t = r.cdata, delete r.cdata, a = u[u.length - 1], r[l].match(/^\s*$/) && !t ? (e = r[l], delete r[l]) : (p.options.trim && (r[l] = r[l].trim()), p.options.normalize && (r[l] = r[l].replace(/\s{2,}/g, " ").trim()), 1 === Object.keys(r).length && l in r && !p.EXPLICIT_CHARKEY && (r = r[l])), d(r) && (r = void 0 !== p.options.emptyTag ? p.options.emptyTag : e), null != p.options.validator) { s = "/" + function () { var t, e, n; for (n = [], t = 0, e = u.length; t < e; t++)i = u[t], n.push(i["#name"]); return n }().concat(n).join("/"); try { r = p.options.validator(s, a && a[n], r) } catch (t) { c = t, p.emit("error", c) } } return p.options.explicitChildren && !p.options.mergeAttrs && "object" == typeof r && (i = {}, p.options.attrkey in r && (i[p.options.attrkey] = r[p.options.attrkey], delete r[p.options.attrkey]), !p.options.charsAsChildren && p.options.charkey in r && (i[p.options.charkey] = r[p.options.charkey], delete r[p.options.charkey]), 0 < Object.getOwnPropertyNames(r).length && (i[p.options.childkey] = r), r = i), 0 < u.length ? p.options.explicitArray ? (a[n] instanceof Array || (a[n] = []), a[n].push(r)) : n in a ? (a[n] instanceof Array || (o = a[n], a[n] = [o]), a[n].push(r)) : a[n] = r : (p.options.explicitRoot && (o = r, (r = {})[n] = o), p.resultObject = r, p.emit("end", p.resultObject)) }, n = function (t) { var e; if (e = u[u.length - 1]) return e[l] += t, e }, this.saxParser.ontext = n, this.saxParser.oncdata = function (t) { var e; if (e = n(t)) return e.cdata = !0 } }, e.prototype.parseString = function (t, e) { return null != e && "function" == typeof e && (this.on("end", function (t) { return this.reset(), this.options.async ? a.nextTick(function () { return e(null, t) }) : e(null, t) }), this.on("error", function (t) { return this.reset(), this.options.async ? a.nextTick(function () { return e(t) }) : e(t) })), "" === t.toString().trim() ? (this.emit("end", null), !0) : this.saxParser.write(t.toString()) }, e }(t.EventEmitter), s.parseString = function (t, e, n) { var i, r; return null != n ? ("function" == typeof n && (i = n), "object" == typeof e && (r = e)) : ("function" == typeof e && (i = e), r = {}), new s.Parser(r).parseString(t, i) } }).call(this) }).call(this, e("_process")) }, { _process: 72, events: 59, sax: 87 }], 195: [function (t, o, e) { (function () { var t, n, e, a, i, r, s = [].slice, l = {}.hasOwnProperty; t = function () { var t, e, n, i, r, o; if (o = arguments[0], r = 2 <= arguments.length ? s.call(arguments, 1) : [], a(Object.assign)) Object.assign.apply(null, arguments); else for (t = 0, n = r.length; t < n; t++)if (null != (i = r[t])) for (e in i) l.call(i, e) && (o[e] = i[e]); return o }, a = function (t) { return !!t && "[object Function]" === Object.prototype.toString.call(t) }, i = function (t) { var e; return !!t && ("function" == (e = typeof t) || "object" === e) }, n = function (t) { return a(Array.isArray) ? Array.isArray(t) : "[object Array]" === Object.prototype.toString.call(t) }, e = function (t) { var e; if (n(t)) return !t.length; for (e in t) if (l.call(t, e)) return !1; return !0 }, r = function (t) { var e, n; return i(t) && (n = Object.getPrototypeOf(t)) && (e = n.constructor) && "function" == typeof e && e instanceof e && Function.prototype.toString.call(e) === Function.prototype.toString.call(Object) }, o.exports.assign = t, o.exports.isFunction = a, o.exports.isObject = i, o.exports.isArray = n, o.exports.isEmpty = e, o.exports.isPlainObject = r }).call(this) }, {}], 196: [function (t, e, n) { (function () { e.exports = function () { function t(t, e, n) { if (this.options = t.options, this.stringify = t.stringify, null == e) throw new Error("Missing attribute name of element " + t.name); if (null == n) throw new Error("Missing attribute value for attribute " + e + " of element " + t.name); this.name = this.stringify.attName(e), this.value = this.stringify.attValue(n) } return t.prototype.clone = function () { return Object.create(this) }, t.prototype.toString = function (t) { return this.options.writer.set(t).attribute(this) }, t }() }).call(this) }, {}], 197: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function n(t, e) { if (n.__super__.constructor.call(this, t), null == e) throw new Error("Missing CDATA text"); this.text = this.stringify.cdata(e) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(n, e), n.prototype.clone = function () { return Object.create(this) }, n.prototype.toString = function (t) { return this.options.writer.set(t).cdata(this) }, n }() }).call(this) }, { "./XMLNode": 208 }], 198: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function n(t, e) { if (n.__super__.constructor.call(this, t), null == e) throw new Error("Missing comment text"); this.text = this.stringify.comment(e) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(n, e), n.prototype.clone = function () { return Object.create(this) }, n.prototype.toString = function (t) { return this.options.writer.set(t).comment(this) }, n }() }).call(this) }, { "./XMLNode": 208 }], 199: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function a(t, e, n, i, r, o) { if (a.__super__.constructor.call(this, t), null == e) throw new Error("Missing DTD element name"); if (null == n) throw new Error("Missing DTD attribute name"); if (!i) throw new Error("Missing DTD attribute type"); if (!r) throw new Error("Missing DTD attribute default"); if (0 !== r.indexOf("#") && (r = "#" + r), !r.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT"); if (o && !r.match(/^(#FIXED|#DEFAULT)$/)) throw new Error("Default value only applies to #FIXED or #DEFAULT"); this.elementName = this.stringify.eleName(e), this.attributeName = this.stringify.attName(n), this.attributeType = this.stringify.dtdAttType(i), this.defaultValue = this.stringify.dtdAttDefault(o), this.defaultValueType = r } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(a, e), a.prototype.toString = function (t) { return this.options.writer.set(t).dtdAttList(this) }, a }() }).call(this) }, { "./XMLNode": 208 }], 200: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function i(t, e, n) { if (i.__super__.constructor.call(this, t), null == e) throw new Error("Missing DTD element name"); n || (n = "(#PCDATA)"), Array.isArray(n) && (n = "(" + n.join(",") + ")"), this.name = this.stringify.eleName(e), this.value = this.stringify.dtdElementValue(n) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(i, e), i.prototype.toString = function (t) { return this.options.writer.set(t).dtdElement(this) }, i }() }).call(this) }, { "./XMLNode": 208 }], 201: [function (t, n, e) { (function () { var e, o, a = {}.hasOwnProperty; o = t("./Utility").isObject, e = t("./XMLNode"), n.exports = function (t) { function r(t, e, n, i) { if (r.__super__.constructor.call(this, t), null == n) throw new Error("Missing entity name"); if (null == i) throw new Error("Missing entity value"); if (this.pe = !!e, this.name = this.stringify.eleName(n), o(i)) { if (!i.pubID && !i.sysID) throw new Error("Public and/or system identifiers are required for an external entity"); if (i.pubID && !i.sysID) throw new Error("System identifier is required for a public external entity"); if (null != i.pubID && (this.pubID = this.stringify.dtdPubID(i.pubID)), null != i.sysID && (this.sysID = this.stringify.dtdSysID(i.sysID)), null != i.nData && (this.nData = this.stringify.dtdNData(i.nData)), this.pe && this.nData) throw new Error("Notation declaration is not allowed in a parameter entity") } else this.value = this.stringify.dtdEntityValue(i) } return function (t, e) { for (var n in e) a.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(r, e), r.prototype.toString = function (t) { return this.options.writer.set(t).dtdEntity(this) }, r }() }).call(this) }, { "./Utility": 195, "./XMLNode": 208 }], 202: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function i(t, e, n) { if (i.__super__.constructor.call(this, t), null == e) throw new Error("Missing notation name"); if (!n.pubID && !n.sysID) throw new Error("Public or system identifiers are required for an external entity"); this.name = this.stringify.eleName(e), null != n.pubID && (this.pubID = this.stringify.dtdPubID(n.pubID)), null != n.sysID && (this.sysID = this.stringify.dtdSysID(n.sysID)) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(i, e), i.prototype.toString = function (t) { return this.options.writer.set(t).dtdNotation(this) }, i }() }).call(this) }, { "./XMLNode": 208 }], 203: [function (t, n, e) { (function () { var e, a, r = {}.hasOwnProperty; a = t("./Utility").isObject, e = t("./XMLNode"), n.exports = function (t) { function o(t, e, n, i) { var r; o.__super__.constructor.call(this, t), a(e) && (e = (r = e).version, n = r.encoding, i = r.standalone), e || (e = "1.0"), this.version = this.stringify.xmlVersion(e), null != n && (this.encoding = this.stringify.xmlEncoding(n)), null != i && (this.standalone = this.stringify.xmlStandalone(i)) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(o, e), o.prototype.toString = function (t) { return this.options.writer.set(t).declaration(this) }, o }() }).call(this) }, { "./Utility": 195, "./XMLNode": 208 }], 204: [function (t, n, e) { (function () { var a, i, r, s, e, l, c = {}.hasOwnProperty; l = t("./Utility").isObject, e = t("./XMLNode"), a = t("./XMLDTDAttList"), r = t("./XMLDTDEntity"), i = t("./XMLDTDElement"), s = t("./XMLDTDNotation"), n.exports = function (t) { function o(t, e, n) { var i, r; o.__super__.constructor.call(this, t), this.documentObject = t, l(e) && (e = (i = e).pubID, n = i.sysID), null == n && (n = (r = [e, n])[0], e = r[1]), null != e && (this.pubID = this.stringify.dtdPubID(e)), null != n && (this.sysID = this.stringify.dtdSysID(n)) } return function (t, e) { for (var n in e) c.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(o, e), o.prototype.element = function (t, e) { var n; return n = new i(this, t, e), this.children.push(n), this }, o.prototype.attList = function (t, e, n, i, r) { var o; return o = new a(this, t, e, n, i, r), this.children.push(o), this }, o.prototype.entity = function (t, e) { var n; return n = new r(this, !1, t, e), this.children.push(n), this }, o.prototype.pEntity = function (t, e) { var n; return n = new r(this, !0, t, e), this.children.push(n), this }, o.prototype.notation = function (t, e) { var n; return n = new s(this, t, e), this.children.push(n), this }, o.prototype.toString = function (t) { return this.options.writer.set(t).docType(this) }, o.prototype.ele = function (t, e) { return this.element(t, e) }, o.prototype.att = function (t, e, n, i, r) { return this.attList(t, e, n, i, r) }, o.prototype.ent = function (t, e) { return this.entity(t, e) }, o.prototype.pent = function (t, e) { return this.pEntity(t, e) }, o.prototype.not = function (t, e) { return this.notation(t, e) }, o.prototype.up = function () { return this.root() || this.documentObject }, o }() }).call(this) }, { "./Utility": 195, "./XMLDTDAttList": 199, "./XMLDTDElement": 200, "./XMLDTDEntity": 201, "./XMLDTDNotation": 202, "./XMLNode": 208 }], 205: [function (t, e, n) { (function () { var n, i, r, o, a = {}.hasOwnProperty; o = t("./Utility").isPlainObject, n = t("./XMLNode"), r = t("./XMLStringifier"), i = t("./XMLStringWriter"), e.exports = function (t) { function e(t) { e.__super__.constructor.call(this, null), t || (t = {}), t.writer || (t.writer = new i), this.options = t, this.stringify = new r(t), this.isDocument = !0 } return function (t, e) { for (var n in e) a.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(e, n), e.prototype.end = function (t) { var e; return t ? o(t) && (e = t, t = this.options.writer.set(e)) : t = this.options.writer, t.document(this) }, e.prototype.toString = function (t) { return this.options.writer.set(t).document(this) }, e }() }).call(this) }, { "./Utility": 195, "./XMLNode": 208, "./XMLStringWriter": 212, "./XMLStringifier": 213 }], 206: [function (e, y, t) { (function () { var r, n, i, a, o, s, l, c, u, p, d, f, h, m, g, v, _, E, t, b = {}.hasOwnProperty; t = e("./Utility"), _ = t.isObject, v = t.isFunction, E = t.isPlainObject, p = e("./XMLElement"), n = e("./XMLCData"), i = e("./XMLComment"), f = e("./XMLRaw"), g = e("./XMLText"), d = e("./XMLProcessingInstruction"), c = e("./XMLDeclaration"), u = e("./XMLDocType"), a = e("./XMLDTDAttList"), s = e("./XMLDTDEntity"), o = e("./XMLDTDElement"), l = e("./XMLDTDNotation"), r = e("./XMLAttribute"), m = e("./XMLStringifier"), h = e("./XMLStringWriter"), y.exports = function () { function t(t, e, n) { var i; t || (t = {}), t.writer ? E(t.writer) && (i = t.writer, t.writer = new h(i)) : t.writer = new h(t), this.options = t, this.writer = t.writer, this.stringify = new m(t), this.onDataCallback = e || function () { }, this.onEndCallback = n || function () { }, this.currentNode = null, this.currentLevel = -1, this.openTags = {}, this.documentStarted = !1, this.documentCompleted = !1, this.root = null } return t.prototype.node = function (t, e, n) { var i; if (null == t) throw new Error("Missing node name"); if (this.root && -1 === this.currentLevel) throw new Error("Document can only have one root node"); return this.openCurrent(), t = t.valueOf(), null == e && (e = {}), e = e.valueOf(), _(e) || (n = (i = [e, n])[0], e = i[1]), this.currentNode = new p(this, t, e), this.currentNode.children = !1, this.currentLevel++, this.openTags[this.currentLevel] = this.currentNode, null != n && this.text(n), this }, t.prototype.element = function (t, e, n) { return this.currentNode && this.currentNode instanceof u ? this.dtdElement.apply(this, arguments) : this.node(t, e, n) }, t.prototype.attribute = function (t, e) { var n, i; if (!this.currentNode || this.currentNode.children) throw new Error("att() can only be used immediately after an ele() call in callback mode"); if (null != t && (t = t.valueOf()), _(t)) for (n in t) b.call(t, n) && (i = t[n], this.attribute(n, i)); else v(e) && (e = e.apply()), this.options.skipNullAttributes && null == e || (this.currentNode.attributes[t] = new r(this, t, e)); return this }, t.prototype.text = function (t) { var e; return this.openCurrent(), e = new g(this, t), this.onData(this.writer.text(e, this.currentLevel + 1)), this }, t.prototype.cdata = function (t) { var e; return this.openCurrent(), e = new n(this, t), this.onData(this.writer.cdata(e, this.currentLevel + 1)), this }, t.prototype.comment = function (t) { var e; return this.openCurrent(), e = new i(this, t), this.onData(this.writer.comment(e, this.currentLevel + 1)), this }, t.prototype.raw = function (t) { var e; return this.openCurrent(), e = new f(this, t), this.onData(this.writer.raw(e, this.currentLevel + 1)), this }, t.prototype.instruction = function (t, e) { var n, i, r, o, a; if (this.openCurrent(), null != t && (t = t.valueOf()), null != e && (e = e.valueOf()), Array.isArray(t)) for (n = 0, o = t.length; n < o; n++)i = t[n], this.instruction(i); else if (_(t)) for (i in t) b.call(t, i) && (r = t[i], this.instruction(i, r)); else v(e) && (e = e.apply()), a = new d(this, t, e), this.onData(this.writer.processingInstruction(a, this.currentLevel + 1)); return this }, t.prototype.declaration = function (t, e, n) { var i; if (this.openCurrent(), this.documentStarted) throw new Error("declaration() must be the first node"); return i = new c(this, t, e, n), this.onData(this.writer.declaration(i, this.currentLevel + 1)), this }, t.prototype.doctype = function (t, e, n) { if (this.openCurrent(), null == t) throw new Error("Missing root node name"); if (this.root) throw new Error("dtd() must come before the root node"); return this.currentNode = new u(this, e, n), this.currentNode.rootNodeName = t, this.currentNode.children = !1, this.currentLevel++, this.openTags[this.currentLevel] = this.currentNode, this }, t.prototype.dtdElement = function (t, e) { var n; return this.openCurrent(), n = new o(this, t, e), this.onData(this.writer.dtdElement(n, this.currentLevel + 1)), this }, t.prototype.attList = function (t, e, n, i, r) { var o; return this.openCurrent(), o = new a(this, t, e, n, i, r), this.onData(this.writer.dtdAttList(o, this.currentLevel + 1)), this }, t.prototype.entity = function (t, e) { var n; return this.openCurrent(), n = new s(this, !1, t, e), this.onData(this.writer.dtdEntity(n, this.currentLevel + 1)), this }, t.prototype.pEntity = function (t, e) { var n; return this.openCurrent(), n = new s(this, !0, t, e), this.onData(this.writer.dtdEntity(n, this.currentLevel + 1)), this }, t.prototype.notation = function (t, e) { var n; return this.openCurrent(), n = new l(this, t, e), this.onData(this.writer.dtdNotation(n, this.currentLevel + 1)), this }, t.prototype.up = function () { if (this.currentLevel < 0) throw new Error("The document node has no parent"); return this.currentNode ? (this.currentNode.children ? this.closeNode(this.currentNode) : this.openNode(this.currentNode), this.currentNode = null) : this.closeNode(this.openTags[this.currentLevel]), delete this.openTags[this.currentLevel], this.currentLevel--, this }, t.prototype.end = function () { for (; 0 <= this.currentLevel;)this.up(); return this.onEnd() }, t.prototype.openCurrent = function () { if (this.currentNode) return this.currentNode.children = !0, this.openNode(this.currentNode) }, t.prototype.openNode = function (t) { if (!t.isOpen) return !this.root && 0 === this.currentLevel && t instanceof p && (this.root = t), this.onData(this.writer.openNode(t, this.currentLevel)), t.isOpen = !0 }, t.prototype.closeNode = function (t) { if (!t.isClosed) return this.onData(this.writer.closeNode(t, this.currentLevel)), t.isClosed = !0 }, t.prototype.onData = function (t) { return this.documentStarted = !0, this.onDataCallback(t) }, t.prototype.onEnd = function () { return this.documentCompleted = !0, this.onEndCallback() }, t.prototype.ele = function () { return this.element.apply(this, arguments) }, t.prototype.nod = function (t, e, n) { return this.node(t, e, n) }, t.prototype.txt = function (t) { return this.text(t) }, t.prototype.dat = function (t) { return this.cdata(t) }, t.prototype.com = function (t) { return this.comment(t) }, t.prototype.ins = function (t, e) { return this.instruction(t, e) }, t.prototype.dec = function (t, e, n) { return this.declaration(t, e, n) }, t.prototype.dtd = function (t, e, n) { return this.doctype(t, e, n) }, t.prototype.e = function (t, e, n) { return this.element(t, e, n) }, t.prototype.n = function (t, e, n) { return this.node(t, e, n) }, t.prototype.t = function (t) { return this.text(t) }, t.prototype.d = function (t) { return this.cdata(t) }, t.prototype.c = function (t) { return this.comment(t) }, t.prototype.r = function (t) { return this.raw(t) }, t.prototype.i = function (t, e) { return this.instruction(t, e) }, t.prototype.att = function () { return this.currentNode && this.currentNode instanceof u ? this.attList.apply(this, arguments) : this.attribute.apply(this, arguments) }, t.prototype.a = function () { return this.currentNode && this.currentNode instanceof u ? this.attList.apply(this, arguments) : this.attribute.apply(this, arguments) }, t.prototype.ent = function (t, e) { return this.entity(t, e) }, t.prototype.pent = function (t, e) { return this.pEntity(t, e) }, t.prototype.not = function (t, e) { return this.notation(t, e) }, t }() }).call(this) }, { "./Utility": 195, "./XMLAttribute": 196, "./XMLCData": 197, "./XMLComment": 198, "./XMLDTDAttList": 199, "./XMLDTDElement": 200, "./XMLDTDEntity": 201, "./XMLDTDNotation": 202, "./XMLDeclaration": 203, "./XMLDocType": 204, "./XMLElement": 207, "./XMLProcessingInstruction": 209, "./XMLRaw": 210, "./XMLStringWriter": 212, "./XMLStringifier": 213, "./XMLText": 214 }], 207: [function (n, i, t) { (function () { var r, e, o, a, t, s = {}.hasOwnProperty; t = n("./Utility"), a = t.isObject, o = t.isFunction, e = n("./XMLNode"), r = n("./XMLAttribute"), i.exports = function (t) { function i(t, e, n) { if (i.__super__.constructor.call(this, t), null == e) throw new Error("Missing element name"); this.name = this.stringify.eleName(e), this.attributes = {}, null != n && this.attribute(n), t.isDocument && (this.isRoot = !0, (this.documentObject = t).rootObject = this) } return function (t, e) { for (var n in e) s.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(i, e), i.prototype.clone = function () { var t, e, n, i; for (e in (n = Object.create(this)).isRoot && (n.documentObject = null), n.attributes = {}, i = this.attributes) s.call(i, e) && (t = i[e], n.attributes[e] = t.clone()); return n.children = [], this.children.forEach(function (t) { var e; return ((e = t.clone()).parent = n).children.push(e) }), n }, i.prototype.attribute = function (t, e) { var n, i; if (null != t && (t = t.valueOf()), a(t)) for (n in t) s.call(t, n) && (i = t[n], this.attribute(n, i)); else o(e) && (e = e.apply()), this.options.skipNullAttributes && null == e || (this.attributes[t] = new r(this, t, e)); return this }, i.prototype.removeAttribute = function (t) { var e, n, i; if (null == t) throw new Error("Missing attribute name"); if (t = t.valueOf(), Array.isArray(t)) for (n = 0, i = t.length; n < i; n++)e = t[n], delete this.attributes[e]; else delete this.attributes[t]; return this }, i.prototype.toString = function (t) { return this.options.writer.set(t).element(this) }, i.prototype.att = function (t, e) { return this.attribute(t, e) }, i.prototype.a = function (t, e) { return this.attribute(t, e) }, i }() }).call(this) }, { "./Utility": 195, "./XMLAttribute": 196, "./XMLNode": 208 }], 208: [function (e, c, t) { (function () { var n, i, o, p, a, s, r, l, f, h, m, t, g = {}.hasOwnProperty; t = e("./Utility"), m = t.isObject, h = t.isFunction, f = t.isEmpty, s = l = r = p = o = i = n = a = null, c.exports = function () { function t(t) { this.parent = t, this.parent && (this.options = this.parent.options, this.stringify = this.parent.stringify), this.children = [], a || (a = e("./XMLElement"), n = e("./XMLCData"), i = e("./XMLComment"), o = e("./XMLDeclaration"), p = e("./XMLDocType"), r = e("./XMLRaw"), l = e("./XMLText"), s = e("./XMLProcessingInstruction")) } return t.prototype.element = function (t, e, n) { var i, r, o, a, s, l, c, u, p, d; if ((l = null) == e && (e = {}), e = e.valueOf(), m(e) || (n = (p = [e, n])[0], e = p[1]), null != t && (t = t.valueOf()), Array.isArray(t)) for (o = 0, c = t.length; o < c; o++)r = t[o], l = this.element(r); else if (h(t)) l = this.element(t.apply()); else if (m(t)) { for (s in t) if (g.call(t, s)) if (d = t[s], h(d) && (d = d.apply()), m(d) && f(d) && (d = null), !this.options.ignoreDecorators && this.stringify.convertAttKey && 0 === s.indexOf(this.stringify.convertAttKey)) l = this.attribute(s.substr(this.stringify.convertAttKey.length), d); else if (!this.options.separateArrayItems && Array.isArray(d)) for (a = 0, u = d.length; a < u; a++)r = d[a], (i = {})[s] = r, l = this.element(i); else m(d) ? (l = this.element(s)).element(d) : l = this.element(s, d) } else l = !this.options.ignoreDecorators && this.stringify.convertTextKey && 0 === t.indexOf(this.stringify.convertTextKey) ? this.text(n) : !this.options.ignoreDecorators && this.stringify.convertCDataKey && 0 === t.indexOf(this.stringify.convertCDataKey) ? this.cdata(n) : !this.options.ignoreDecorators && this.stringify.convertCommentKey && 0 === t.indexOf(this.stringify.convertCommentKey) ? this.comment(n) : !this.options.ignoreDecorators && this.stringify.convertRawKey && 0 === t.indexOf(this.stringify.convertRawKey) ? this.raw(n) : !this.options.ignoreDecorators && this.stringify.convertPIKey && 0 === t.indexOf(this.stringify.convertPIKey) ? this.instruction(t.substr(this.stringify.convertPIKey.length), n) : this.node(t, e, n); if (null == l) throw new Error("Could not create any elements with: " + t); return l }, t.prototype.insertBefore = function (t, e, n) { var i, r, o; if (this.isRoot) throw new Error("Cannot insert elements at root level"); return r = this.parent.children.indexOf(this), o = this.parent.children.splice(r), i = this.parent.element(t, e, n), Array.prototype.push.apply(this.parent.children, o), i }, t.prototype.insertAfter = function (t, e, n) { var i, r, o; if (this.isRoot) throw new Error("Cannot insert elements at root level"); return r = this.parent.children.indexOf(this), o = this.parent.children.splice(r + 1), i = this.parent.element(t, e, n), Array.prototype.push.apply(this.parent.children, o), i }, t.prototype.remove = function () { var t; if (this.isRoot) throw new Error("Cannot remove the root element"); return t = this.parent.children.indexOf(this), [].splice.apply(this.parent.children, [t, t - t + 1].concat([])), this.parent }, t.prototype.node = function (t, e, n) { var i, r; return null != t && (t = t.valueOf()), e || (e = {}), e = e.valueOf(), m(e) || (n = (r = [e, n])[0], e = r[1]), i = new a(this, t, e), null != n && i.text(n), this.children.push(i), i }, t.prototype.text = function (t) { var e; return e = new l(this, t), this.children.push(e), this }, t.prototype.cdata = function (t) { var e; return e = new n(this, t), this.children.push(e), this }, t.prototype.comment = function (t) { var e; return e = new i(this, t), this.children.push(e), this }, t.prototype.commentBefore = function (t) { var e, n; return e = this.parent.children.indexOf(this), n = this.parent.children.splice(e), this.parent.comment(t), Array.prototype.push.apply(this.parent.children, n), this }, t.prototype.commentAfter = function (t) { var e, n; return e = this.parent.children.indexOf(this), n = this.parent.children.splice(e + 1), this.parent.comment(t), Array.prototype.push.apply(this.parent.children, n), this }, t.prototype.raw = function (t) { var e; return e = new r(this, t), this.children.push(e), this }, t.prototype.instruction = function (t, e) { var n, i, r, o, a; if (null != t && (t = t.valueOf()), null != e && (e = e.valueOf()), Array.isArray(t)) for (o = 0, a = t.length; o < a; o++)n = t[o], this.instruction(n); else if (m(t)) for (n in t) g.call(t, n) && (i = t[n], this.instruction(n, i)); else h(e) && (e = e.apply()), r = new s(this, t, e), this.children.push(r); return this }, t.prototype.instructionBefore = function (t, e) { var n, i; return n = this.parent.children.indexOf(this), i = this.parent.children.splice(n), this.parent.instruction(t, e), Array.prototype.push.apply(this.parent.children, i), this }, t.prototype.instructionAfter = function (t, e) { var n, i; return n = this.parent.children.indexOf(this), i = this.parent.children.splice(n + 1), this.parent.instruction(t, e), Array.prototype.push.apply(this.parent.children, i), this }, t.prototype.declaration = function (t, e, n) { var i, r; return i = this.document(), r = new o(i, t, e, n), i.children[0] instanceof o ? i.children[0] = r : i.children.unshift(r), i.root() || i }, t.prototype.doctype = function (t, e) { var n, i, r, o, a, s, l, c, u; for (n = this.document(), i = new p(n, t, e), r = o = 0, s = (c = n.children).length; o < s; r = ++o)if (c[r] instanceof p) return n.children[r] = i; for (r = a = 0, l = (u = n.children).length; a < l; r = ++a)if (u[r].isRoot) return n.children.splice(r, 0, i), i; return n.children.push(i), i }, t.prototype.up = function () { if (this.isRoot) throw new Error("The root node has no parent. Use doc() if you need to get the document object."); return this.parent }, t.prototype.root = function () { var t; for (t = this; t;) { if (t.isDocument) return t.rootObject; if (t.isRoot) return t; t = t.parent } }, t.prototype.document = function () { var t; for (t = this; t;) { if (t.isDocument) return t; t = t.parent } }, t.prototype.end = function (t) { return this.document().end(t) }, t.prototype.prev = function () { var t; if ((t = this.parent.children.indexOf(this)) < 1) throw new Error("Already at the first node"); return this.parent.children[t - 1] }, t.prototype.next = function () { var t; if (-1 === (t = this.parent.children.indexOf(this)) || t === this.parent.children.length - 1) throw new Error("Already at the last node"); return this.parent.children[t + 1] }, t.prototype.importDocument = function (t) { var e; return (e = t.root().clone()).parent = this, e.isRoot = !1, this.children.push(e), this }, t.prototype.ele = function (t, e, n) { return this.element(t, e, n) }, t.prototype.nod = function (t, e, n) { return this.node(t, e, n) }, t.prototype.txt = function (t) { return this.text(t) }, t.prototype.dat = function (t) { return this.cdata(t) }, t.prototype.com = function (t) { return this.comment(t) }, t.prototype.ins = function (t, e) { return this.instruction(t, e) }, t.prototype.doc = function () { return this.document() }, t.prototype.dec = function (t, e, n) { return this.declaration(t, e, n) }, t.prototype.dtd = function (t, e) { return this.doctype(t, e) }, t.prototype.e = function (t, e, n) { return this.element(t, e, n) }, t.prototype.n = function (t, e, n) { return this.node(t, e, n) }, t.prototype.t = function (t) { return this.text(t) }, t.prototype.d = function (t) { return this.cdata(t) }, t.prototype.c = function (t) { return this.comment(t) }, t.prototype.r = function (t) { return this.raw(t) }, t.prototype.i = function (t, e) { return this.instruction(t, e) }, t.prototype.u = function () { return this.up() }, t.prototype.importXMLBuilder = function (t) { return this.importDocument(t) }, t }() }).call(this) }, { "./Utility": 195, "./XMLCData": 197, "./XMLComment": 198, "./XMLDeclaration": 203, "./XMLDocType": 204, "./XMLElement": 207, "./XMLProcessingInstruction": 209, "./XMLRaw": 210, "./XMLText": 214 }], 209: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function i(t, e, n) { if (i.__super__.constructor.call(this, t), null == e) throw new Error("Missing instruction target"); this.target = this.stringify.insTarget(e), n && (this.value = this.stringify.insValue(n)) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(i, e), i.prototype.clone = function () { return Object.create(this) }, i.prototype.toString = function (t) { return this.options.writer.set(t).processingInstruction(this) }, i }() }).call(this) }, { "./XMLNode": 208 }], 210: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function n(t, e) { if (n.__super__.constructor.call(this, t), null == e) throw new Error("Missing raw text"); this.value = this.stringify.raw(e) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(n, e), n.prototype.clone = function () { return Object.create(this) }, n.prototype.toString = function (t) { return this.options.writer.set(t).raw(this) }, n }() }).call(this) }, { "./XMLNode": 208 }], 211: [function (t, n, e) { (function () { var u, p, a, s, l, c, d, f, h, m, g, v, e, _ = {}.hasOwnProperty; d = t("./XMLDeclaration"), f = t("./XMLDocType"), u = t("./XMLCData"), p = t("./XMLComment"), h = t("./XMLElement"), g = t("./XMLRaw"), v = t("./XMLText"), m = t("./XMLProcessingInstruction"), a = t("./XMLDTDAttList"), s = t("./XMLDTDElement"), l = t("./XMLDTDEntity"), c = t("./XMLDTDNotation"), e = t("./XMLWriterBase"), n.exports = function (t) { function n(t, e) { n.__super__.constructor.call(this, e), this.stream = t } return function (t, e) { for (var n in e) _.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(n, e), n.prototype.document = function (t) { var e, n, i, r, o, a, s, l; for (n = 0, r = (a = t.children).length; n < r; n++)(e = a[n]).isLastRootNode = !1; for (t.children[t.children.length - 1].isLastRootNode = !0, l = [], i = 0, o = (s = t.children).length; i < o; i++)switch (e = s[i], !1) { case !(e instanceof d): l.push(this.declaration(e)); break; case !(e instanceof f): l.push(this.docType(e)); break; case !(e instanceof p): l.push(this.comment(e)); break; case !(e instanceof m): l.push(this.processingInstruction(e)); break; default: l.push(this.element(e)) }return l }, n.prototype.attribute = function (t) { return this.stream.write(" " + t.name + '="' + t.value + '"') }, n.prototype.cdata = function (t, e) { return this.stream.write(this.space(e) + "<![CDATA[" + t.text + "]]>" + this.endline(t)) }, n.prototype.comment = function (t, e) { return this.stream.write(this.space(e) + "\x3c!-- " + t.text + " --\x3e" + this.endline(t)) }, n.prototype.declaration = function (t, e) { return this.stream.write(this.space(e)), this.stream.write('<?xml version="' + t.version + '"'), null != t.encoding && this.stream.write(' encoding="' + t.encoding + '"'), null != t.standalone && this.stream.write(' standalone="' + t.standalone + '"'), this.stream.write(this.spacebeforeslash + "?>"), this.stream.write(this.endline(t)) }, n.prototype.docType = function (t, e) { var n, i, r, o; if (e || (e = 0), this.stream.write(this.space(e)), this.stream.write("<!DOCTYPE " + t.root().name), t.pubID && t.sysID ? this.stream.write(' PUBLIC "' + t.pubID + '" "' + t.sysID + '"') : t.sysID && this.stream.write(' SYSTEM "' + t.sysID + '"'), 0 < t.children.length) { for (this.stream.write(" ["), this.stream.write(this.endline(t)), i = 0, r = (o = t.children).length; i < r; i++)switch (n = o[i], !1) { case !(n instanceof a): this.dtdAttList(n, e + 1); break; case !(n instanceof s): this.dtdElement(n, e + 1); break; case !(n instanceof l): this.dtdEntity(n, e + 1); break; case !(n instanceof c): this.dtdNotation(n, e + 1); break; case !(n instanceof u): this.cdata(n, e + 1); break; case !(n instanceof p): this.comment(n, e + 1); break; case !(n instanceof m): this.processingInstruction(n, e + 1); break; default: throw new Error("Unknown DTD node type: " + n.constructor.name) }this.stream.write("]") } return this.stream.write(this.spacebeforeslash + ">"), this.stream.write(this.endline(t)) }, n.prototype.element = function (t, e) { var n, i, r, o, a, s, l, c; for (a in e || (e = 0), c = this.space(e), this.stream.write(c + "<" + t.name), s = t.attributes) _.call(s, a) && (n = s[a], this.attribute(n)); if (0 === t.children.length || t.children.every(function (t) { return "" === t.value })) this.allowEmpty ? this.stream.write("></" + t.name + ">") : this.stream.write(this.spacebeforeslash + "/>"); else if (this.pretty && 1 === t.children.length && null != t.children[0].value) this.stream.write(">"), this.stream.write(t.children[0].value), this.stream.write("</" + t.name + ">"); else { for (this.stream.write(">" + this.newline), r = 0, o = (l = t.children).length; r < o; r++)switch (i = l[r], !1) { case !(i instanceof u): this.cdata(i, e + 1); break; case !(i instanceof p): this.comment(i, e + 1); break; case !(i instanceof h): this.element(i, e + 1); break; case !(i instanceof g): this.raw(i, e + 1); break; case !(i instanceof v): this.text(i, e + 1); break; case !(i instanceof m): this.processingInstruction(i, e + 1); break; default: throw new Error("Unknown XML node type: " + i.constructor.name) }this.stream.write(c + "</" + t.name + ">") } return this.stream.write(this.endline(t)) }, n.prototype.processingInstruction = function (t, e) { return this.stream.write(this.space(e) + "<?" + t.target), t.value && this.stream.write(" " + t.value), this.stream.write(this.spacebeforeslash + "?>" + this.endline(t)) }, n.prototype.raw = function (t, e) { return this.stream.write(this.space(e) + t.value + this.endline(t)) }, n.prototype.text = function (t, e) { return this.stream.write(this.space(e) + t.value + this.endline(t)) }, n.prototype.dtdAttList = function (t, e) { return this.stream.write(this.space(e) + "<!ATTLIST " + t.elementName + " " + t.attributeName + " " + t.attributeType), "#DEFAULT" !== t.defaultValueType && this.stream.write(" " + t.defaultValueType), t.defaultValue && this.stream.write(' "' + t.defaultValue + '"'), this.stream.write(this.spacebeforeslash + ">" + this.endline(t)) }, n.prototype.dtdElement = function (t, e) { return this.stream.write(this.space(e) + "<!ELEMENT " + t.name + " " + t.value), this.stream.write(this.spacebeforeslash + ">" + this.endline(t)) }, n.prototype.dtdEntity = function (t, e) { return this.stream.write(this.space(e) + "<!ENTITY"), t.pe && this.stream.write(" %"), this.stream.write(" " + t.name), t.value ? this.stream.write(' "' + t.value + '"') : (t.pubID && t.sysID ? this.stream.write(' PUBLIC "' + t.pubID + '" "' + t.sysID + '"') : t.sysID && this.stream.write(' SYSTEM "' + t.sysID + '"'), t.nData && this.stream.write(" NDATA " + t.nData)), this.stream.write(this.spacebeforeslash + ">" + this.endline(t)) }, n.prototype.dtdNotation = function (t, e) { return this.stream.write(this.space(e) + "<!NOTATION " + t.name), t.pubID && t.sysID ? this.stream.write(' PUBLIC "' + t.pubID + '" "' + t.sysID + '"') : t.pubID ? this.stream.write(' PUBLIC "' + t.pubID + '"') : t.sysID && this.stream.write(' SYSTEM "' + t.sysID + '"'), this.stream.write(this.spacebeforeslash + ">" + this.endline(t)) }, n.prototype.endline = function (t) { return t.isLastRootNode ? "" : this.newline }, n }() }).call(this) }, { "./XMLCData": 197, "./XMLComment": 198, "./XMLDTDAttList": 199, "./XMLDTDElement": 200, "./XMLDTDEntity": 201, "./XMLDTDNotation": 202, "./XMLDeclaration": 203, "./XMLDocType": 204, "./XMLElement": 207, "./XMLProcessingInstruction": 209, "./XMLRaw": 210, "./XMLText": 214, "./XMLWriterBase": 215 }], 212: [function (t, e, n) { (function () { var m, g, s, l, c, u, a, p, v, _, E, b, n, y = {}.hasOwnProperty; a = t("./XMLDeclaration"), p = t("./XMLDocType"), m = t("./XMLCData"), g = t("./XMLComment"), v = t("./XMLElement"), E = t("./XMLRaw"), b = t("./XMLText"), _ = t("./XMLProcessingInstruction"), s = t("./XMLDTDAttList"), l = t("./XMLDTDElement"), c = t("./XMLDTDEntity"), u = t("./XMLDTDNotation"), n = t("./XMLWriterBase"), e.exports = function (t) { function e(t) { e.__super__.constructor.call(this, t) } return function (t, e) { for (var n in e) y.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(e, n), e.prototype.document = function (t) { var e, n, i, r, o; for (this.textispresent = !1, r = "", n = 0, i = (o = t.children).length; n < i; n++)e = o[n], r += function () { switch (!1) { case !(e instanceof a): return this.declaration(e); case !(e instanceof p): return this.docType(e); case !(e instanceof g): return this.comment(e); case !(e instanceof _): return this.processingInstruction(e); default: return this.element(e, 0) } }.call(this); return this.pretty && r.slice(-this.newline.length) === this.newline && (r = r.slice(0, -this.newline.length)), r }, e.prototype.attribute = function (t) { return " " + t.name + '="' + t.value + '"' }, e.prototype.cdata = function (t, e) { return this.space(e) + "<![CDATA[" + t.text + "]]>" + this.newline }, e.prototype.comment = function (t, e) { return this.space(e) + "\x3c!-- " + t.text + " --\x3e" + this.newline }, e.prototype.declaration = function (t, e) { var n; return n = this.space(e), n += '<?xml version="' + t.version + '"', null != t.encoding && (n += ' encoding="' + t.encoding + '"'), null != t.standalone && (n += ' standalone="' + t.standalone + '"'), n += this.spacebeforeslash + "?>", n += this.newline }, e.prototype.docType = function (t, e) { var n, i, r, o, a; if (e || (e = 0), o = this.space(e), o += "<!DOCTYPE " + t.root().name, t.pubID && t.sysID ? o += ' PUBLIC "' + t.pubID + '" "' + t.sysID + '"' : t.sysID && (o += ' SYSTEM "' + t.sysID + '"'), 0 < t.children.length) { for (o += " [", o += this.newline, i = 0, r = (a = t.children).length; i < r; i++)n = a[i], o += function () { switch (!1) { case !(n instanceof s): return this.dtdAttList(n, e + 1); case !(n instanceof l): return this.dtdElement(n, e + 1); case !(n instanceof c): return this.dtdEntity(n, e + 1); case !(n instanceof u): return this.dtdNotation(n, e + 1); case !(n instanceof m): return this.cdata(n, e + 1); case !(n instanceof g): return this.comment(n, e + 1); case !(n instanceof _): return this.processingInstruction(n, e + 1); default: throw new Error("Unknown DTD node type: " + n.constructor.name) } }.call(this); o += "]" } return o += this.spacebeforeslash + ">", o += this.newline }, e.prototype.element = function (t, e) { var n, i, r, o, a, s, l, c, u, p, d, f, h; for (l in e || (e = 0), h = !1, this.textispresent ? (this.newline = "", this.pretty = !1) : (this.newline = this.newlinedefault, this.pretty = this.prettydefault), c = "", c += (f = this.space(e)) + "<" + t.name, u = t.attributes) y.call(u, l) && (n = u[l], c += this.attribute(n)); if (0 === t.children.length || t.children.every(function (t) { return "" === t.value })) this.allowEmpty ? c += "></" + t.name + ">" + this.newline : c += this.spacebeforeslash + "/>" + this.newline; else if (this.pretty && 1 === t.children.length && null != t.children[0].value) c += ">", c += t.children[0].value, c += "</" + t.name + ">" + this.newline; else { if (this.dontprettytextnodes) for (r = 0, a = (p = t.children).length; r < a; r++)if (null != (i = p[r]).value) { this.textispresent++, h = !0; break } for (this.textispresent && (this.newline = "", this.pretty = !1, f = this.space(e)), c += ">" + this.newline, o = 0, s = (d = t.children).length; o < s; o++)i = d[o], c += function () { switch (!1) { case !(i instanceof m): return this.cdata(i, e + 1); case !(i instanceof g): return this.comment(i, e + 1); case !(i instanceof v): return this.element(i, e + 1); case !(i instanceof E): return this.raw(i, e + 1); case !(i instanceof b): return this.text(i, e + 1); case !(i instanceof _): return this.processingInstruction(i, e + 1); default: throw new Error("Unknown XML node type: " + i.constructor.name) } }.call(this); h && this.textispresent--, this.textispresent || (this.newline = this.newlinedefault, this.pretty = this.prettydefault), c += f + "</" + t.name + ">" + this.newline } return c }, e.prototype.processingInstruction = function (t, e) { var n; return n = this.space(e) + "<?" + t.target, t.value && (n += " " + t.value), n += this.spacebeforeslash + "?>" + this.newline }, e.prototype.raw = function (t, e) { return this.space(e) + t.value + this.newline }, e.prototype.text = function (t, e) { return this.space(e) + t.value + this.newline }, e.prototype.dtdAttList = function (t, e) { var n; return n = this.space(e) + "<!ATTLIST " + t.elementName + " " + t.attributeName + " " + t.attributeType, "#DEFAULT" !== t.defaultValueType && (n += " " + t.defaultValueType), t.defaultValue && (n += ' "' + t.defaultValue + '"'), n += this.spacebeforeslash + ">" + this.newline }, e.prototype.dtdElement = function (t, e) { return this.space(e) + "<!ELEMENT " + t.name + " " + t.value + this.spacebeforeslash + ">" + this.newline }, e.prototype.dtdEntity = function (t, e) { var n; return n = this.space(e) + "<!ENTITY", t.pe && (n += " %"), n += " " + t.name, t.value ? n += ' "' + t.value + '"' : (t.pubID && t.sysID ? n += ' PUBLIC "' + t.pubID + '" "' + t.sysID + '"' : t.sysID && (n += ' SYSTEM "' + t.sysID + '"'), t.nData && (n += " NDATA " + t.nData)), n += this.spacebeforeslash + ">" + this.newline }, e.prototype.dtdNotation = function (t, e) { var n; return n = this.space(e) + "<!NOTATION " + t.name, t.pubID && t.sysID ? n += ' PUBLIC "' + t.pubID + '" "' + t.sysID + '"' : t.pubID ? n += ' PUBLIC "' + t.pubID + '"' : t.sysID && (n += ' SYSTEM "' + t.sysID + '"'), n += this.spacebeforeslash + ">" + this.newline }, e.prototype.openNode = function (t, e) { var n, i, r, o; if (e || (e = 0), t instanceof v) { for (i in r = this.space(e) + "<" + t.name, o = t.attributes) y.call(o, i) && (n = o[i], r += this.attribute(n)); return r += (t.children ? ">" : "/>") + this.newline } return r = this.space(e) + "<!DOCTYPE " + t.rootNodeName, t.pubID && t.sysID ? r += ' PUBLIC "' + t.pubID + '" "' + t.sysID + '"' : t.sysID && (r += ' SYSTEM "' + t.sysID + '"'), r += (t.children ? " [" : ">") + this.newline }, e.prototype.closeNode = function (t, e) { switch (e || (e = 0), !1) { case !(t instanceof v): return this.space(e) + "</" + t.name + ">" + this.newline; case !(t instanceof p): return this.space(e) + "]>" + this.newline } }, e }() }).call(this) }, { "./XMLCData": 197, "./XMLComment": 198, "./XMLDTDAttList": 199, "./XMLDTDElement": 200, "./XMLDTDEntity": 201, "./XMLDTDNotation": 202, "./XMLDeclaration": 203, "./XMLDocType": 204, "./XMLElement": 207, "./XMLProcessingInstruction": 209, "./XMLRaw": 210, "./XMLText": 214, "./XMLWriterBase": 215 }], 213: [function (t, e, n) { (function () { var a = {}.hasOwnProperty; e.exports = function () { function t(t) { var e, n, i, r, o; for (i in this.assertLegalChar = (e = this.assertLegalChar, n = this, function () { return e.apply(n, arguments) }), t || (t = {}), this.noDoubleEncoding = t.noDoubleEncoding, r = t.stringify || {}) a.call(r, i) && (o = r[i], this[i] = o) } return t.prototype.eleName = function (t) { return t = "" + t || "", this.assertLegalChar(t) }, t.prototype.eleText = function (t) { return t = "" + t || "", this.assertLegalChar(this.elEscape(t)) }, t.prototype.cdata = function (t) { return t = (t = "" + t || "").replace("]]>", "]]]]><![CDATA[>"), this.assertLegalChar(t) }, t.prototype.comment = function (t) { if ((t = "" + t || "").match(/--/)) throw new Error("Comment text cannot contain double-hypen: " + t); return this.assertLegalChar(t) }, t.prototype.raw = function (t) { return "" + t || "" }, t.prototype.attName = function (t) { return "" + t || "" }, t.prototype.attValue = function (t) { return t = "" + t || "", this.attEscape(t) }, t.prototype.insTarget = function (t) { return "" + t || "" }, t.prototype.insValue = function (t) { if ((t = "" + t || "").match(/\?>/)) throw new Error("Invalid processing instruction value: " + t); return t }, t.prototype.xmlVersion = function (t) { if (!(t = "" + t || "").match(/1\.[0-9]+/)) throw new Error("Invalid version number: " + t); return t }, t.prototype.xmlEncoding = function (t) { if (!(t = "" + t || "").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) throw new Error("Invalid encoding: " + t); return t }, t.prototype.xmlStandalone = function (t) { return t ? "yes" : "no" }, t.prototype.dtdPubID = function (t) { return "" + t || "" }, t.prototype.dtdSysID = function (t) { return "" + t || "" }, t.prototype.dtdElementValue = function (t) { return "" + t || "" }, t.prototype.dtdAttType = function (t) { return "" + t || "" }, t.prototype.dtdAttDefault = function (t) { return null != t ? "" + t || "" : t }, t.prototype.dtdEntityValue = function (t) { return "" + t || "" }, t.prototype.dtdNData = function (t) { return "" + t || "" }, t.prototype.convertAttKey = "@", t.prototype.convertPIKey = "?", t.prototype.convertTextKey = "#text", t.prototype.convertCDataKey = "#cdata", t.prototype.convertCommentKey = "#comment", t.prototype.convertRawKey = "#raw", t.prototype.assertLegalChar = function (t) { var e; if (e = t.match(/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/)) throw new Error("Invalid character in string: " + t + " at index " + e.index); return t }, t.prototype.elEscape = function (t) { var e; return e = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g, t.replace(e, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\r/g, "&#xD;") }, t.prototype.attEscape = function (t) { var e; return e = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g, t.replace(e, "&amp;").replace(/</g, "&lt;").replace(/"/g, "&quot;").replace(/\t/g, "&#x9;").replace(/\n/g, "&#xA;").replace(/\r/g, "&#xD;") }, t }() }).call(this) }, {}], 214: [function (t, n, e) { (function () { var e, r = {}.hasOwnProperty; e = t("./XMLNode"), n.exports = function (t) { function n(t, e) { if (n.__super__.constructor.call(this, t), null == e) throw new Error("Missing element text"); this.value = this.stringify.eleText(e) } return function (t, e) { for (var n in e) r.call(e, n) && (t[n] = e[n]); function i() { this.constructor = t } i.prototype = e.prototype, t.prototype = new i, t.__super__ = e.prototype }(n, e), n.prototype.clone = function () { return Object.create(this) }, n.prototype.toString = function (t) { return this.options.writer.set(t).text(this) }, n }() }).call(this) }, { "./XMLNode": 208 }], 215: [function (t, e, n) { (function () { var u = {}.hasOwnProperty; e.exports = function () { function t(t) { var e, n, i, r, o, a, s, l, c; for (e in t || (t = {}), this.pretty = t.pretty || !1, this.allowEmpty = null != (n = t.allowEmpty) && n, this.pretty ? (this.indent = null != (i = t.indent) ? i : "  ", this.newline = null != (r = t.newline) ? r : "\n", this.offset = null != (o = t.offset) ? o : 0, this.dontprettytextnodes = null != (a = t.dontprettytextnodes) ? a : 0) : (this.indent = "", this.newline = "", this.offset = 0, this.dontprettytextnodes = 0), this.spacebeforeslash = null != (s = t.spacebeforeslash) ? s : "", !0 === this.spacebeforeslash && (this.spacebeforeslash = " "), this.newlinedefault = this.newline, this.prettydefault = this.pretty, l = t.writer || {}) u.call(l, e) && (c = l[e], this[e] = c) } return t.prototype.set = function (t) { var e, n, i; for (e in t || (t = {}), "pretty" in t && (this.pretty = t.pretty), "allowEmpty" in t && (this.allowEmpty = t.allowEmpty), this.pretty ? (this.indent = "indent" in t ? t.indent : "  ", this.newline = "newline" in t ? t.newline : "\n", this.offset = "offset" in t ? t.offset : 0, this.dontprettytextnodes = "dontprettytextnodes" in t ? t.dontprettytextnodes : 0) : (this.indent = "", this.newline = "", this.offset = 0, this.dontprettytextnodes = 0), this.spacebeforeslash = "spacebeforeslash" in t ? t.spacebeforeslash : "", !0 === this.spacebeforeslash && (this.spacebeforeslash = " "), this.newlinedefault = this.newline, this.prettydefault = this.pretty, n = t.writer || {}) u.call(n, e) && (i = n[e], this[e] = i); return this }, t.prototype.space = function (t) { var e; return this.pretty && 0 < (e = (t || 0) + this.offset + 1) ? new Array(e).join(this.indent) : "" }, t }() }).call(this) }, {}], 216: [function (i, l, t) { (function () { var a, r, n, e, s, o, t; t = i("./Utility"), s = t.assign, o = t.isFunction, a = i("./XMLDocument"), r = i("./XMLDocumentCB"), e = i("./XMLStringWriter"), n = i("./XMLStreamWriter"), l.exports.create = function (t, e, n, i) { var r, o; if (null == t) throw new Error("Root element needs a name"); return i = s({}, e, n, i), o = (r = new a(i)).element(t), i.headless || (r.declaration(i), null == i.pubID && null == i.sysID || r.doctype(i)), o }, l.exports.begin = function (t, e, n) { var i; return o(t) && (e = (i = [t, e])[0], n = i[1], t = {}), e ? new r(t, e, n) : new a(t) }, l.exports.stringWriter = function (t) { return new e(t) }, l.exports.streamWriter = function (t, e) { return new n(t, e) } }).call(this) }, { "./Utility": 195, "./XMLDocument": 205, "./XMLDocumentCB": 206, "./XMLStreamWriter": 211, "./XMLStringWriter": 212 }], 217: [function (t, e, n) { e.exports = function () { for (var t = {}, e = 0; e < arguments.length; e++) { var n = arguments[e]; for (var i in n) r.call(n, i) && (t[i] = n[i]) } return t }; var r = Object.prototype.hasOwnProperty }, {}] }, {}, [1])(1) });;
