Skip to content

Instantly share code, notes, and snippets.

@latentflip
Created December 9, 2014 20:06
Show Gist options
  • Save latentflip/536f4f3e943334f35457 to your computer and use it in GitHub Desktop.
Save latentflip/536f4f3e943334f35457 to your computer and use it in GitHub Desktop.
requirebin sketch
var src = "<div class=\"landing\"><div class=\"container\"><section id=\"pages\"><section role=\"main\" class=\"page create\"><div class=\"room cf\"><a href=\"/\" title=\"Welcome to Talky!\" class=\"talky-logo\"></a><form id=\"createRoom\" class=\"cf\"><p>Truly simple video chat and screen sharing for small groups.</p><input id=\"sessionInput\" placeholder=\"Name the conversation\" autofocus=\"autofocus\" type=\"text\"><button type=\"submit\" class=\"primary large\">Let’s go!</button></form></div><div class=\"features cf\"><h2>Anonymous. Peer‑to‑peer. No plugins, signup, or payment required.</h2><div class=\"feature\"><h3>Group video chat</h3><p>Add up to 5 people to the conversation </p></div><div class=\"feature\"><h3>Screen sharing</h3><p>Easily add anyone's screen to the conversation</p></div><div class=\"feature\"><h3>Locked rooms</h3><p>Add a shared key to a room for added privacy</p></div><div class=\"feature\"><h3>Mobile, too!</h3><p> \nTalky iOS is available</p><a href=\"https://itunes.apple.com/app/talky-free-video-conferencing/id882057960\" title=\"Talky iOS\">on the App Store</a></div></div><div class=\"quote cf\"><blockquote>“Talky is awesome.”</blockquote><p> <a href=\"https://twitter.com/waxpancake\" title=\"Andy Baio on Twitter\">Andy Baio </a></p><p>From the Internet</p></div><div class=\"awesome\"><div class=\"cf\"><h2>Help make the Internet more awesome</h2><p>WebRTC is transforming collaboration, but it's still early days.</p><p>By submitting anonymous feedback on a Talky call, you're helping provide data for browser vendors to improve the platform for the web.</p><p> \nRead more about this effort at <a href=\"http://iswebrtcreadyyet.com\">isWebRTCreadyyet.com</a></p></div></div><div class=\"aboutUs cf\"><div class=\"yetis\"><h2>About us</h2><p>Talky is made by <a href=\"http://andyet.com/talky\" title=\"&amp;yet Site\">&amp;yet</a>, a small, independent software and design team based in Richland, WA.</p><p>We don't sell ads based on your conversations, resell your information, or keep track of what you do online.</p></div><div class=\"webrtc\"><h2>Built with open source</h2><p>Talky is based entirely on open-source technologies like <a href=\"https://simplewebrtc.com/\" title=\"SimpleWebRTC\">SimpleWebRTC</a> and our Otalk platform.</p><p>If you'd like to build your own collaboration apps for web and mobile, <a href=\"https://andyet.com/talky\">we'd love to talk.</a></p></div></div><footer role=\"contentinfo\"><nav><ul><li> <a href=\"help/\" title=\"Helpful information\">Help</a></li><li><a href=\"mailto:[email protected]\" title=\"Contact Support\">Contact Support</a></li><li><a href=\"help/security\" title=\"Privacy Policy\">Privacy Policy</a></li><li><a href=\"https://apps.andyet.com/legal\" title=\"Legal, Contact links\">Legal</a></li><li><a href=\"https://twitter.com/usetalky\" title=\"Talky on Twitter\">@UseTalky</a></li></ul></nav><a href=\"http://andyet.com/talky\" title=\"Made with love by &amp;yet\" class=\"andyet-logo\"></a></footer></section></section></div></div>";
var convertHTML = require('html-to-vdom');
setTimeout(function () {
var i = 100;
while(i--) {
src += "<div></div>";
var start = Date.now();
var vtree = convertHTML(src);
var end = Date.now();
document.write(end-start+"ms<br>");
}
}, 1000);
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){var source=ev.source;if((source===window||source===null)&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],2:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports;var freeModule=typeof module=="object"&&module&&module.exports==freeExports&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^ -~]/,regexSeparators=/\x2E|\u3002|\uFF0E|\uFF61/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw RangeError(errors[type])}function map(array,fn){var length=array.length;while(length--){array[length]=fn(array[length])}return array}function mapDomain(string,fn){return map(string.split(regexSeparators),fn).join(".")}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&&currentValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(domain){return mapDomain(domain,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(domain){return mapDomain(domain,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={version:"1.2.4",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define("punycode",function(){return punycode})}else if(freeExports&&!freeExports.nodeType){if(freeModule){freeModule.exports=punycode}else{for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key])}}}else{root.punycode=punycode}})(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],3:[function(require,module,exports){var htmlparserToVdom=require("./htmlparser-to-vdom");var parseHTML=require("./parse-html");module.exports=function convertHTML(html){return parseHTML(html).then(function(tags){return htmlparserToVdom.convertTag(tags[0])})}},{"./htmlparser-to-vdom":4,"./parse-html":5}],4:[function(require,module,exports){var VNode=require("vtree/vnode");var VText=require("vtree/vtext");var decode=require("ent").decode;var _=require("lodash");var prefixLength="data-".length;var attributesToExclude=["class","for"];var getDataset=function getDataset(tag){var attributes=tag.attribs;if(_.isEmpty(attributes)){return{}}var attributeNames=Object.keys(attributes);var dataAttributeNames=_.filter(attributeNames,function(name){return/^data-/.test(name)});if(_.isEmpty(dataAttributeNames)){return{}}var unprefixedDataAttributeNames=_.map(dataAttributeNames,function(name){return name.slice(prefixLength)});var dataAttributeValues=_.map(dataAttributeNames,function(name){return attributes[name]});var dataset=_.zipObject(unprefixedDataAttributeNames,dataAttributeValues);return dataset};var getClassName=function getClassName(tag){var hasClass=!_.isEmpty(tag.attribs)&&!_.isEmpty(tag.attribs.class);return hasClass?tag.attribs.class:""};var getHtmlForAttribute=function getHtmlForAttribute(tag){var hasFor=!_.isEmpty(tag.attribs)&&!_.isEmpty(tag.attribs["for"]);return hasFor?tag.attribs["for"]:undefined};var converter={convert:function(node){if(node.type==="tag"){return converter.convertTag(node)}else if(node.type==="text"){return new VText(decode(node.data))}},convertTag:function(tag){var dataset=getDataset(tag);var attribsToCopy=_.omit(tag.attribs,attributesToExclude);var extraAttributes={dataset:dataset,className:getClassName(tag),htmlFor:getHtmlForAttribute(tag)};var attributes=_.extend({},attribsToCopy,extraAttributes);var children=_.map(tag.children,converter.convert);return new VNode(tag.name,attributes,children)}};module.exports=converter},{ent:42,lodash:45,"vtree/vnode":50,"vtree/vtext":51}],5:[function(require,module,exports){var htmlparser=require("htmlparser");var Promise=require("bluebird");var parseHTML=function parseHTML(html){return new Promise(function(resolve,reject){var handler=new htmlparser.DefaultHandler(function(error,dom){if(error){reject(error)}else{resolve(dom)}});var parser=new htmlparser.Parser(handler);parser.parseComplete(html)})};module.exports=parseHTML},{bluebird:8,htmlparser:44}],6:[function(require,module,exports){"use strict";module.exports=function(Promise){var SomePromiseArray=Promise._SomePromiseArray;function Promise$_Any(promises){var ret=new SomePromiseArray(promises);var promise=ret.promise();if(promise.isRejected()){return promise}ret.setHowMany(1);ret.setUnwrap();ret.init();return promise}Promise.any=function Promise$Any(promises){return Promise$_Any(promises)};Promise.prototype.any=function Promise$any(){return Promise$_Any(this)}}},{}],7:[function(require,module,exports){(function(process){"use strict";var schedule=require("./schedule.js");var Queue=require("./queue.js");var errorObj=require("./util.js").errorObj;var tryCatch1=require("./util.js").tryCatch1;var _process=typeof process!=="undefined"?process:void 0;function Async(){this._isTickUsed=false;this._schedule=schedule;this._length=0;this._lateBuffer=new Queue(16);this._functionBuffer=new Queue(65536);var self=this;this.consumeFunctionBuffer=function Async$consumeFunctionBuffer(){self._consumeFunctionBuffer()}}Async.prototype.haveItemsQueued=function Async$haveItemsQueued(){return this._length>0};Async.prototype.invokeLater=function Async$invokeLater(fn,receiver,arg){if(_process!==void 0&&_process.domain!=null&&!fn.domain){fn=_process.domain.bind(fn)}this._lateBuffer.push(fn,receiver,arg);this._queueTick()};Async.prototype.invoke=function Async$invoke(fn,receiver,arg){if(_process!==void 0&&_process.domain!=null&&!fn.domain){fn=_process.domain.bind(fn)}var functionBuffer=this._functionBuffer;functionBuffer.push(fn,receiver,arg);this._length=functionBuffer.length();this._queueTick()};Async.prototype._consumeFunctionBuffer=function Async$_consumeFunctionBuffer(){var functionBuffer=this._functionBuffer;while(functionBuffer.length()>0){var fn=functionBuffer.shift();var receiver=functionBuffer.shift();var arg=functionBuffer.shift();fn.call(receiver,arg)}this._reset();this._consumeLateBuffer()};Async.prototype._consumeLateBuffer=function Async$_consumeLateBuffer(){var buffer=this._lateBuffer;while(buffer.length()>0){var fn=buffer.shift();var receiver=buffer.shift();var arg=buffer.shift();var res=tryCatch1(fn,receiver,arg);if(res===errorObj){this._queueTick();if(fn.domain!=null){fn.domain.emit("error",res.e)}else{throw res.e}}}};Async.prototype._queueTick=function Async$_queue(){if(!this._isTickUsed){this._schedule(this.consumeFunctionBuffer);this._isTickUsed=true}};Async.prototype._reset=function Async$_reset(){this._isTickUsed=false;this._length=0};module.exports=new Async}).call(this,require("_process"))},{"./queue.js":30,"./schedule.js":33,"./util.js":40,_process:1}],8:[function(require,module,exports){"use strict";var Promise=require("./promise.js")();module.exports=Promise},{"./promise.js":25}],9:[function(require,module,exports){"use strict";var cr=Object.create;if(cr){var callerCache=cr(null);var getterCache=cr(null);callerCache[" size"]=getterCache[" size"]=0}module.exports=function(Promise){var util=require("./util.js");var canEvaluate=util.canEvaluate;var isIdentifier=util.isIdentifier;function makeMethodCaller(methodName){return new Function("obj"," \n 'use strict' \n var len = this.length; \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: return obj.methodName.apply(obj, this); \n } \n ".replace(/methodName/g,methodName))}function makeGetter(propertyName){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",propertyName))}function getCompiled(name,compiler,cache){var ret=cache[name];if(typeof ret!=="function"){if(!isIdentifier(name)){return null}ret=compiler(name);cache[name]=ret;cache[" size"]++;if(cache[" size"]>512){var keys=Object.keys(cache);for(var i=0;i<256;++i)delete cache[keys[i]];cache[" size"]=keys.length-256}}return ret}function getMethodCaller(name){return getCompiled(name,makeMethodCaller,callerCache)}function getGetter(name){return getCompiled(name,makeGetter,getterCache)}function caller(obj){return obj[this.pop()].apply(obj,this)}Promise.prototype.call=function Promise$call(methodName){var $_len=arguments.length;var args=new Array($_len-1);for(var $_i=1;$_i<$_len;++$_i){args[$_i-1]=arguments[$_i]}if(canEvaluate){var maybeCaller=getMethodCaller(methodName);if(maybeCaller!==null){return this._then(maybeCaller,void 0,void 0,args,void 0)}}args.push(methodName);return this._then(caller,void 0,void 0,args,void 0)};function namedGetter(obj){return obj[this]}function indexedGetter(obj){return obj[this]}Promise.prototype.get=function Promise$get(propertyName){var isIndex=typeof propertyName==="number";var getter;if(!isIndex){if(canEvaluate){var maybeGetter=getGetter(propertyName);getter=maybeGetter!==null?maybeGetter:namedGetter}else{getter=namedGetter}}else{getter=indexedGetter}return this._then(getter,void 0,void 0,propertyName,void 0)}}},{"./util.js":40}],10:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL){var errors=require("./errors.js");var canAttach=errors.canAttach;var async=require("./async.js");var CancellationError=errors.CancellationError;Promise.prototype._cancel=function Promise$_cancel(reason){if(!this.isCancellable())return this;var parent;var promiseToReject=this;while((parent=promiseToReject._cancellationParent)!==void 0&&parent.isCancellable()){promiseToReject=parent}this._unsetCancellable();promiseToReject._attachExtraTrace(reason);promiseToReject._rejectUnchecked(reason)};Promise.prototype.cancel=function Promise$cancel(reason){if(!this.isCancellable())return this;reason=reason!==void 0?canAttach(reason)?reason:new Error(reason+""):new CancellationError;async.invokeLater(this._cancel,this,reason);return this};Promise.prototype.cancellable=function Promise$cancellable(){if(this._cancellable())return this;this._setCancellable();this._cancellationParent=void 0;return this};Promise.prototype.uncancellable=function Promise$uncancellable(){var ret=new Promise(INTERNAL);ret._propagateFrom(this,2|4);ret._follow(this);ret._unsetCancellable();return ret};Promise.prototype.fork=function Promise$fork(didFulfill,didReject,didProgress){var ret=this._then(didFulfill,didReject,didProgress,void 0,void 0);ret._setCancellable();ret._cancellationParent=void 0;return ret}}},{"./async.js":7,"./errors.js":15}],11:[function(require,module,exports){"use strict";module.exports=function(){var inherits=require("./util.js").inherits;var defineProperty=require("./es5.js").defineProperty;var rignore=new RegExp("\\b(?:[a-zA-Z0-9.]+\\$_\\w+|"+"tryCatch(?:1|2|3|4|Apply)|new \\w*PromiseArray|"+"\\w*PromiseArray\\.\\w*PromiseArray|"+"setTimeout|CatchFilter\\$_\\w+|makeNodePromisified|processImmediate|"+"process._tickCallback|nextTick|Async\\$\\w+)\\b");var rtraceline=null;var formatStack=null;function formatNonError(obj){var str;if(typeof obj==="function"){str="[function "+(obj.name||"anonymous")+"]"}else{str=obj.toString();var ruselessToString=/\[object [a-zA-Z0-9$_]+\]/;if(ruselessToString.test(str)){try{var newStr=JSON.stringify(obj);str=newStr}catch(e){}}if(str.length===0){str="(empty array)"}}return"(<"+snip(str)+">, no stack trace)"}function snip(str){var maxChars=41;if(str.length<maxChars){return str}return str.substr(0,maxChars-3)+"..."}function CapturedTrace(ignoreUntil,isTopLevel){this.captureStackTrace(CapturedTrace,isTopLevel)}inherits(CapturedTrace,Error);CapturedTrace.prototype.captureStackTrace=function CapturedTrace$captureStackTrace(ignoreUntil,isTopLevel){captureStackTrace(this,ignoreUntil,isTopLevel)};CapturedTrace.possiblyUnhandledRejection=function CapturedTrace$PossiblyUnhandledRejection(reason){if(typeof console==="object"){var message;if(typeof reason==="object"||typeof reason==="function"){var stack=reason.stack;message="Possibly unhandled "+formatStack(stack,reason)}else{message="Possibly unhandled "+String(reason)}if(typeof console.error==="function"||typeof console.error==="object"){console.error(message)}else if(typeof console.log==="function"||typeof console.log==="object"){console.log(message)}}};CapturedTrace.combine=function CapturedTrace$Combine(current,prev){var currentLastIndex=current.length-1;var currentLastLine=current[currentLastIndex];var commonRootMeetPoint=-1;for(var i=prev.length-1;i>=0;--i){if(prev[i]===currentLastLine){commonRootMeetPoint=i;break}}for(var i=commonRootMeetPoint;i>=0;--i){var line=prev[i];if(current[currentLastIndex]===line){current.pop();currentLastIndex--}else{break}}current.push("From previous event:");var lines=current.concat(prev);var ret=[];for(var i=0,len=lines.length;i<len;++i){if(rignore.test(lines[i])&&rtraceline.test(lines[i])||i>0&&!rtraceline.test(lines[i])&&lines[i]!=="From previous event:"){continue}ret.push(lines[i])}return ret};CapturedTrace.protectErrorMessageNewlines=function(stack){for(var i=0;i<stack.length;++i){if(rtraceline.test(stack[i])){break}}if(i<=1)return;var errorMessageLines=[];for(var j=0;j<i;++j){errorMessageLines.push(stack.shift())}stack.unshift(errorMessageLines.join("\x00"))};CapturedTrace.isSupported=function CapturedTrace$IsSupported(){return typeof captureStackTrace==="function"};var captureStackTrace=function stackDetection(){if(typeof Error.stackTraceLimit==="number"&&typeof Error.captureStackTrace==="function"){rtraceline=/^\s*at\s*/;formatStack=function(stack,error){if(typeof stack==="string")return stack;if(error.name!==void 0&&error.message!==void 0){return error.name+". "+error.message}return formatNonError(error)};var captureStackTrace=Error.captureStackTrace;return function CapturedTrace$_captureStackTrace(receiver,ignoreUntil){captureStackTrace(receiver,ignoreUntil)}}var err=new Error;if(typeof err.stack==="string"&&typeof"".startsWith==="function"&&err.stack.startsWith("stackDetection@")&&stackDetection.name==="stackDetection"){defineProperty(Error,"stackTraceLimit",{writable:true,enumerable:false,configurable:false,value:25});rtraceline=/@/;var rline=/[@\n]/;formatStack=function(stack,error){if(typeof stack==="string"){return error.name+". "+error.message+"\n"+stack}if(error.name!==void 0&&error.message!==void 0){return error.name+". "+error.message}return formatNonError(error)};return function captureStackTrace(o){var stack=(new Error).stack;var split=stack.split(rline);var len=split.length;var ret="";for(var i=0;i<len;i+=2){ret+=split[i];ret+="@";ret+=split[i+1];ret+="\n"}o.stack=ret}}else{formatStack=function(stack,error){if(typeof stack==="string")return stack;if((typeof error==="object"||typeof error==="function")&&error.name!==void 0&&error.message!==void 0){return error.name+". "+error.message}return formatNonError(error)};return null}}();return CapturedTrace}},{"./es5.js":17,"./util.js":40}],12:[function(require,module,exports){"use strict";module.exports=function(NEXT_FILTER){var util=require("./util.js");var errors=require("./errors.js");var tryCatch1=util.tryCatch1;var errorObj=util.errorObj;var keys=require("./es5.js").keys;var TypeError=errors.TypeError;function CatchFilter(instances,callback,promise){this._instances=instances;this._callback=callback;this._promise=promise}function CatchFilter$_safePredicate(predicate,e){var safeObject={};var retfilter=tryCatch1(predicate,safeObject,e);if(retfilter===errorObj)return retfilter;var safeKeys=keys(safeObject);if(safeKeys.length){errorObj.e=new TypeError("Catch filter must inherit from Error "+"or be a simple predicate function");return errorObj}return retfilter}CatchFilter.prototype.doFilter=function CatchFilter$_doFilter(e){var cb=this._callback;var promise=this._promise;var boundTo=promise._boundTo;for(var i=0,len=this._instances.length;i<len;++i){var item=this._instances[i];var itemIsErrorType=item===Error||item!=null&&item.prototype instanceof Error;if(itemIsErrorType&&e instanceof item){var ret=tryCatch1(cb,boundTo,e);if(ret===errorObj){NEXT_FILTER.e=ret.e;return NEXT_FILTER}return ret}else if(typeof item==="function"&&!itemIsErrorType){var shouldHandle=CatchFilter$_safePredicate(item,e);if(shouldHandle===errorObj){var trace=errors.canAttach(errorObj.e)?errorObj.e:new Error(errorObj.e+"");this._promise._attachExtraTrace(trace);e=errorObj.e;break}else if(shouldHandle){var ret=tryCatch1(cb,boundTo,e);if(ret===errorObj){NEXT_FILTER.e=ret.e;return NEXT_FILTER}return ret}}}NEXT_FILTER.e=e;return NEXT_FILTER};return CatchFilter}},{"./errors.js":15,"./es5.js":17,"./util.js":40}],13:[function(require,module,exports){"use strict";var util=require("./util.js");var isPrimitive=util.isPrimitive;var wrapsPrimitiveReceiver=util.wrapsPrimitiveReceiver;module.exports=function(Promise){var returner=function Promise$_returner(){return this};var thrower=function Promise$_thrower(){throw this};var wrapper=function Promise$_wrapper(value,action){if(action===1){return function Promise$_thrower(){throw value}}else if(action===2){return function Promise$_returner(){return value}}};Promise.prototype["return"]=Promise.prototype.thenReturn=function Promise$thenReturn(value){if(wrapsPrimitiveReceiver&&isPrimitive(value)){return this._then(wrapper(value,2),void 0,void 0,void 0,void 0)}return this._then(returner,void 0,void 0,value,void 0)};Promise.prototype["throw"]=Promise.prototype.thenThrow=function Promise$thenThrow(reason){if(wrapsPrimitiveReceiver&&isPrimitive(reason)){return this._then(wrapper(reason,1),void 0,void 0,void 0,void 0)}return this._then(thrower,void 0,void 0,reason,void 0)}}},{"./util.js":40}],14:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL){var PromiseReduce=Promise.reduce;Promise.prototype.each=function Promise$each(fn){return PromiseReduce(this,fn,null,INTERNAL)};Promise.each=function Promise$Each(promises,fn){return PromiseReduce(promises,fn,null,INTERNAL)}}},{}],15:[function(require,module,exports){"use strict";var Objectfreeze=require("./es5.js").freeze;var util=require("./util.js");var inherits=util.inherits;var notEnumerableProp=util.notEnumerableProp;function markAsOriginatingFromRejection(e){try{notEnumerableProp(e,"isOperational",true)}catch(ignore){}}function originatesFromRejection(e){if(e==null)return false;return e instanceof OperationalError||e["isOperational"]===true}function isError(obj){return obj instanceof Error}function canAttach(obj){return isError(obj)}function subError(nameProperty,defaultMessage){function SubError(message){if(!(this instanceof SubError))return new SubError(message);this.message=typeof message==="string"?message:defaultMessage;this.name=nameProperty;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}inherits(SubError,Error);return SubError}var _TypeError,_RangeError;var CancellationError=subError("CancellationError","cancellation error");var TimeoutError=subError("TimeoutError","timeout error");var AggregateError=subError("AggregateError","aggregate error");try{_TypeError=TypeError;_RangeError=RangeError}catch(e){_TypeError=subError("TypeError","type error");_RangeError=subError("RangeError","range error")}var methods=("join pop push shift unshift slice filter forEach some "+"every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for(var i=0;i<methods.length;++i){if(typeof Array.prototype[methods[i]]==="function"){AggregateError.prototype[methods[i]]=Array.prototype[methods[i]]}}AggregateError.prototype.length=0;AggregateError.prototype["isOperational"]=true;var level=0;AggregateError.prototype.toString=function(){var indent=Array(level*4+1).join(" ");var ret="\n"+indent+"AggregateError of:"+"\n";level++;indent=Array(level*4+1).join(" ");for(var i=0;i<this.length;++i){var str=this[i]===this?"[Circular AggregateError]":this[i]+"";var lines=str.split("\n");for(var j=0;j<lines.length;++j){lines[j]=indent+lines[j]}str=lines.join("\n");ret+=str+"\n"}level--;return ret};function OperationalError(message){this.name="OperationalError";this.message=message;this.cause=message;this["isOperational"]=true;if(message instanceof Error){this.message=message.message;this.stack=message.stack}else if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}inherits(OperationalError,Error);var key="__BluebirdErrorTypes__";var errorTypes=Error[key];if(!errorTypes){errorTypes=Objectfreeze({CancellationError:CancellationError,TimeoutError:TimeoutError,OperationalError:OperationalError,RejectionError:OperationalError,AggregateError:AggregateError});notEnumerableProp(Error,key,errorTypes)}module.exports={Error:Error,TypeError:_TypeError,RangeError:_RangeError,CancellationError:errorTypes.CancellationError,OperationalError:errorTypes.OperationalError,TimeoutError:errorTypes.TimeoutError,AggregateError:errorTypes.AggregateError,originatesFromRejection:originatesFromRejection,markAsOriginatingFromRejection:markAsOriginatingFromRejection,canAttach:canAttach}},{"./es5.js":17,"./util.js":40}],16:[function(require,module,exports){"use strict";module.exports=function(Promise){var TypeError=require("./errors.js").TypeError;function apiRejection(msg){var error=new TypeError(msg);var ret=Promise.rejected(error);var parent=ret._peekContext();if(parent!=null){parent._attachExtraTrace(error)}return ret}return apiRejection}},{"./errors.js":15}],17:[function(require,module,exports){var isES5=function(){"use strict";return this===void 0}();if(isES5){module.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,keys:Object.keys,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:isES5}}else{var has={}.hasOwnProperty;var str={}.toString;var proto={}.constructor.prototype;var ObjectKeys=function ObjectKeys(o){var ret=[];for(var key in o){if(has.call(o,key)){ret.push(key)}}return ret};var ObjectDefineProperty=function ObjectDefineProperty(o,key,desc){o[key]=desc.value;return o};var ObjectFreeze=function ObjectFreeze(obj){return obj};var ObjectGetPrototypeOf=function ObjectGetPrototypeOf(obj){try{return Object(obj).constructor.prototype}catch(e){return proto}};var ArrayIsArray=function ArrayIsArray(obj){try{return str.call(obj)==="[object Array]"}catch(e){return false}};module.exports={isArray:ArrayIsArray,keys:ObjectKeys,defineProperty:ObjectDefineProperty,freeze:ObjectFreeze,getPrototypeOf:ObjectGetPrototypeOf,isES5:isES5}}},{}],18:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL){var PromiseMap=Promise.map;Promise.prototype.filter=function Promise$filter(fn,options){return PromiseMap(this,fn,options,INTERNAL)};Promise.filter=function Promise$Filter(promises,fn,options){return PromiseMap(promises,fn,options,INTERNAL)}}},{}],19:[function(require,module,exports){"use strict";module.exports=function(Promise,NEXT_FILTER,cast){var util=require("./util.js");var wrapsPrimitiveReceiver=util.wrapsPrimitiveReceiver;var isPrimitive=util.isPrimitive;var thrower=util.thrower;function returnThis(){return this}function throwThis(){throw this}function return$(r){return function Promise$_returner(){return r}}function throw$(r){return function Promise$_thrower(){throw r}}function promisedFinally(ret,reasonOrValue,isFulfilled){var then;if(wrapsPrimitiveReceiver&&isPrimitive(reasonOrValue)){then=isFulfilled?return$(reasonOrValue):throw$(reasonOrValue)}else{then=isFulfilled?returnThis:throwThis}return ret._then(then,thrower,void 0,reasonOrValue,void 0)}function finallyHandler(reasonOrValue){var promise=this.promise;var handler=this.handler;var ret=promise._isBound()?handler.call(promise._boundTo):handler();if(ret!==void 0){var maybePromise=cast(ret,void 0);if(maybePromise instanceof Promise){return promisedFinally(maybePromise,reasonOrValue,promise.isFulfilled())}}if(promise.isRejected()){NEXT_FILTER.e=reasonOrValue;return NEXT_FILTER}else{return reasonOrValue}}function tapHandler(value){var promise=this.promise;var handler=this.handler;var ret=promise._isBound()?handler.call(promise._boundTo,value):handler(value);if(ret!==void 0){var maybePromise=cast(ret,void 0);if(maybePromise instanceof Promise){return promisedFinally(maybePromise,value,true)}}return value}Promise.prototype._passThroughHandler=function Promise$_passThroughHandler(handler,isFinally){if(typeof handler!=="function")return this.then();var promiseAndHandler={promise:this,handler:handler};return this._then(isFinally?finallyHandler:tapHandler,isFinally?finallyHandler:void 0,void 0,promiseAndHandler,void 0)};Promise.prototype.lastly=Promise.prototype["finally"]=function Promise$finally(handler){return this._passThroughHandler(handler,true)};Promise.prototype.tap=function Promise$tap(handler){return this._passThroughHandler(handler,false)}}},{"./util.js":40}],20:[function(require,module,exports){"use strict";module.exports=function(Promise,apiRejection,INTERNAL,cast){var errors=require("./errors.js");var TypeError=errors.TypeError;var deprecated=require("./util.js").deprecated;var util=require("./util.js");var errorObj=util.errorObj;var tryCatch1=util.tryCatch1;var yieldHandlers=[];function promiseFromYieldHandler(value,yieldHandlers){var _errorObj=errorObj;var _Promise=Promise;var len=yieldHandlers.length;for(var i=0;i<len;++i){var result=tryCatch1(yieldHandlers[i],void 0,value);if(result===_errorObj){return _Promise.reject(_errorObj.e)}var maybePromise=cast(result,promiseFromYieldHandler);if(maybePromise instanceof _Promise)return maybePromise}return null}function PromiseSpawn(generatorFunction,receiver,yieldHandler){var promise=this._promise=new Promise(INTERNAL);promise._setTrace(void 0);this._generatorFunction=generatorFunction;this._receiver=receiver;this._generator=void 0;this._yieldHandlers=typeof yieldHandler==="function"?[yieldHandler].concat(yieldHandlers):yieldHandlers}PromiseSpawn.prototype.promise=function PromiseSpawn$promise(){return this._promise};PromiseSpawn.prototype._run=function PromiseSpawn$_run(){this._generator=this._generatorFunction.call(this._receiver);this._receiver=this._generatorFunction=void 0;this._next(void 0)};PromiseSpawn.prototype._continue=function PromiseSpawn$_continue(result){if(result===errorObj){this._generator=void 0;var trace=errors.canAttach(result.e)?result.e:new Error(result.e+"");this._promise._attachExtraTrace(trace);this._promise._reject(result.e,trace);return}var value=result.value;if(result.done===true){this._generator=void 0;if(!this._promise._tryFollow(value)){this._promise._fulfill(value)
}}else{var maybePromise=cast(value,void 0);if(!(maybePromise instanceof Promise)){maybePromise=promiseFromYieldHandler(maybePromise,this._yieldHandlers);if(maybePromise===null){this._throw(new TypeError("A value was yielded that could not be treated as a promise"));return}}maybePromise._then(this._next,this._throw,void 0,this,null)}};PromiseSpawn.prototype._throw=function PromiseSpawn$_throw(reason){if(errors.canAttach(reason))this._promise._attachExtraTrace(reason);this._continue(tryCatch1(this._generator["throw"],this._generator,reason))};PromiseSpawn.prototype._next=function PromiseSpawn$_next(value){this._continue(tryCatch1(this._generator.next,this._generator,value))};Promise.coroutine=function Promise$Coroutine(generatorFunction,options){if(typeof generatorFunction!=="function"){throw new TypeError("generatorFunction must be a function")}var yieldHandler=Object(options).yieldHandler;var PromiseSpawn$=PromiseSpawn;return function(){var generator=generatorFunction.apply(this,arguments);var spawn=new PromiseSpawn$(void 0,void 0,yieldHandler);spawn._generator=generator;spawn._next(void 0);return spawn.promise()}};Promise.coroutine.addYieldHandler=function(fn){if(typeof fn!=="function")throw new TypeError("fn must be a function");yieldHandlers.push(fn)};Promise.spawn=function Promise$Spawn(generatorFunction){deprecated("Promise.spawn is deprecated. Use Promise.coroutine instead.");if(typeof generatorFunction!=="function"){return apiRejection("generatorFunction must be a function")}var spawn=new PromiseSpawn(generatorFunction,this);var ret=spawn.promise();spawn._run(Promise.spawn);return ret}}},{"./errors.js":15,"./util.js":40}],21:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray,cast,INTERNAL){var util=require("./util.js");var canEvaluate=util.canEvaluate;var tryCatch1=util.tryCatch1;var errorObj=util.errorObj;if(canEvaluate){var thenCallback=function(i){return new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,i))};var caller=function(count){var values=[];for(var i=1;i<=count;++i)values.push("holder.p"+i);return new Function("holder"," \n 'use strict'; \n var callback = holder.fn; \n return callback(values); \n ".replace(/values/g,values.join(", ")))};var thenCallbacks=[];var callers=[void 0];for(var i=1;i<=5;++i){thenCallbacks.push(thenCallback(i));callers.push(caller(i))}var Holder=function(total,fn){this.p1=this.p2=this.p3=this.p4=this.p5=null;this.fn=fn;this.total=total;this.now=0};Holder.prototype.callers=callers;Holder.prototype.checkFulfillment=function(promise){var now=this.now;now++;var total=this.total;if(now>=total){var handler=this.callers[total];var ret=tryCatch1(handler,void 0,this);if(ret===errorObj){promise._rejectUnchecked(ret.e)}else if(!promise._tryFollow(ret)){promise._fulfillUnchecked(ret)}}else{this.now=now}}}function reject(reason){this._reject(reason)}Promise.join=function Promise$Join(){var last=arguments.length-1;var fn;if(last>0&&typeof arguments[last]==="function"){fn=arguments[last];if(last<6&&canEvaluate){var ret=new Promise(INTERNAL);ret._setTrace(void 0);var holder=new Holder(last,fn);var callbacks=thenCallbacks;for(var i=0;i<last;++i){var maybePromise=cast(arguments[i],void 0);if(maybePromise instanceof Promise){if(maybePromise.isPending()){maybePromise._then(callbacks[i],reject,void 0,ret,holder)}else if(maybePromise.isFulfilled()){callbacks[i].call(ret,maybePromise._settledValue,holder)}else{ret._reject(maybePromise._settledValue);maybePromise._unsetRejectionIsUnhandled()}}else{callbacks[i].call(ret,maybePromise,holder)}}return ret}}var $_len=arguments.length;var args=new Array($_len);for(var $_i=0;$_i<$_len;++$_i){args[$_i]=arguments[$_i]}var ret=new PromiseArray(args).promise();return fn!==void 0?ret.spread(fn):ret}}},{"./util.js":40}],22:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray,apiRejection,cast,INTERNAL){var util=require("./util.js");var tryCatch3=util.tryCatch3;var errorObj=util.errorObj;var PENDING={};var EMPTY_ARRAY=[];function MappingPromiseArray(promises,fn,limit,_filter){this.constructor$(promises);this._callback=fn;this._preservedValues=_filter===INTERNAL?new Array(this.length()):null;this._limit=limit;this._inFlight=0;this._queue=limit>=1?[]:EMPTY_ARRAY;this._init$(void 0,-2)}util.inherits(MappingPromiseArray,PromiseArray);MappingPromiseArray.prototype._init=function MappingPromiseArray$_init(){};MappingPromiseArray.prototype._promiseFulfilled=function MappingPromiseArray$_promiseFulfilled(value,index){var values=this._values;if(values===null)return;var length=this.length();var preservedValues=this._preservedValues;var limit=this._limit;if(values[index]===PENDING){values[index]=value;if(limit>=1){this._inFlight--;this._drainQueue();if(this._isResolved())return}}else{if(limit>=1&&this._inFlight>=limit){values[index]=value;this._queue.push(index);return}if(preservedValues!==null)preservedValues[index]=value;var callback=this._callback;var receiver=this._promise._boundTo;var ret=tryCatch3(callback,receiver,value,index,length);if(ret===errorObj)return this._reject(ret.e);var maybePromise=cast(ret,void 0);if(maybePromise instanceof Promise){if(maybePromise.isPending()){if(limit>=1)this._inFlight++;values[index]=PENDING;return maybePromise._proxyPromiseArray(this,index)}else if(maybePromise.isFulfilled()){ret=maybePromise.value()}else{maybePromise._unsetRejectionIsUnhandled();return this._reject(maybePromise.reason())}}values[index]=ret}var totalResolved=++this._totalResolved;if(totalResolved>=length){if(preservedValues!==null){this._filter(values,preservedValues)}else{this._resolve(values)}}};MappingPromiseArray.prototype._drainQueue=function MappingPromiseArray$_drainQueue(){var queue=this._queue;var limit=this._limit;var values=this._values;while(queue.length>0&&this._inFlight<limit){var index=queue.pop();this._promiseFulfilled(values[index],index)}};MappingPromiseArray.prototype._filter=function MappingPromiseArray$_filter(booleans,values){var len=values.length;var ret=new Array(len);var j=0;for(var i=0;i<len;++i){if(booleans[i])ret[j++]=values[i]}ret.length=j;this._resolve(ret)};MappingPromiseArray.prototype.preservedValues=function MappingPromiseArray$preserveValues(){return this._preservedValues};function map(promises,fn,options,_filter){var limit=typeof options==="object"&&options!==null?options.concurrency:0;limit=typeof limit==="number"&&isFinite(limit)&&limit>=1?limit:0;return new MappingPromiseArray(promises,fn,limit,_filter)}Promise.prototype.map=function Promise$map(fn,options){if(typeof fn!=="function")return apiRejection("fn must be a function");return map(this,fn,options,null).promise()};Promise.map=function Promise$Map(promises,fn,options,_filter){if(typeof fn!=="function")return apiRejection("fn must be a function");return map(promises,fn,options,_filter).promise()}}},{"./util.js":40}],23:[function(require,module,exports){"use strict";module.exports=function(Promise){var util=require("./util.js");var async=require("./async.js");var tryCatch2=util.tryCatch2;var tryCatch1=util.tryCatch1;var errorObj=util.errorObj;function thrower(r){throw r}function Promise$_spreadAdapter(val,receiver){if(!util.isArray(val))return Promise$_successAdapter(val,receiver);var ret=util.tryCatchApply(this,[null].concat(val),receiver);if(ret===errorObj){async.invokeLater(thrower,void 0,ret.e)}}function Promise$_successAdapter(val,receiver){var nodeback=this;var ret=val===void 0?tryCatch1(nodeback,receiver,null):tryCatch2(nodeback,receiver,null,val);if(ret===errorObj){async.invokeLater(thrower,void 0,ret.e)}}function Promise$_errorAdapter(reason,receiver){var nodeback=this;var ret=tryCatch1(nodeback,receiver,reason);if(ret===errorObj){async.invokeLater(thrower,void 0,ret.e)}}Promise.prototype.nodeify=function Promise$nodeify(nodeback,options){if(typeof nodeback=="function"){var adapter=Promise$_successAdapter;if(options!==void 0&&Object(options).spread){adapter=Promise$_spreadAdapter}this._then(adapter,Promise$_errorAdapter,void 0,nodeback,this._boundTo)}return this}}},{"./async.js":7,"./util.js":40}],24:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray){var util=require("./util.js");var async=require("./async.js");var errors=require("./errors.js");var tryCatch1=util.tryCatch1;var errorObj=util.errorObj;Promise.prototype.progressed=function Promise$progressed(handler){return this._then(void 0,void 0,handler,void 0,void 0)};Promise.prototype._progress=function Promise$_progress(progressValue){if(this._isFollowingOrFulfilledOrRejected())return;this._progressUnchecked(progressValue)};Promise.prototype._clearFirstHandlerData$Base=Promise.prototype._clearFirstHandlerData;Promise.prototype._clearFirstHandlerData=function Promise$_clearFirstHandlerData(){this._clearFirstHandlerData$Base();this._progressHandler0=void 0};Promise.prototype._progressHandlerAt=function Promise$_progressHandlerAt(index){return index===0?this._progressHandler0:this[(index<<2)+index-5+2]};Promise.prototype._doProgressWith=function Promise$_doProgressWith(progression){var progressValue=progression.value;var handler=progression.handler;var promise=progression.promise;var receiver=progression.receiver;var ret=tryCatch1(handler,receiver,progressValue);if(ret===errorObj){if(ret.e!=null&&ret.e.name!=="StopProgressPropagation"){var trace=errors.canAttach(ret.e)?ret.e:new Error(ret.e+"");promise._attachExtraTrace(trace);promise._progress(ret.e)}}else if(ret instanceof Promise){ret._then(promise._progress,null,null,promise,void 0)}else{promise._progress(ret)}};Promise.prototype._progressUnchecked=function Promise$_progressUnchecked(progressValue){if(!this.isPending())return;var len=this._length();var progress=this._progress;for(var i=0;i<len;i++){var handler=this._progressHandlerAt(i);var promise=this._promiseAt(i);if(!(promise instanceof Promise)){var receiver=this._receiverAt(i);if(typeof handler==="function"){handler.call(receiver,progressValue,promise)}else if(receiver instanceof Promise&&receiver._isProxied()){receiver._progressUnchecked(progressValue)}else if(receiver instanceof PromiseArray){receiver._promiseProgressed(progressValue,promise)}continue}if(typeof handler==="function"){async.invoke(this._doProgressWith,this,{handler:handler,promise:promise,receiver:this._receiverAt(i),value:progressValue})}else{async.invoke(progress,promise,progressValue)}}}}},{"./async.js":7,"./errors.js":15,"./util.js":40}],25:[function(require,module,exports){(function(process){"use strict";var old;if(typeof Promise!=="undefined")old=Promise;function noConflict(bluebird){try{if(Promise===bluebird)Promise=old}catch(e){}return bluebird}module.exports=function(){var util=require("./util.js");var async=require("./async.js");var errors=require("./errors.js");var INTERNAL=function(){};var APPLY={};var NEXT_FILTER={e:null};var cast=require("./thenables.js")(Promise,INTERNAL);var PromiseArray=require("./promise_array.js")(Promise,INTERNAL,cast);var CapturedTrace=require("./captured_trace.js")();var CatchFilter=require("./catch_filter.js")(NEXT_FILTER);var PromiseResolver=require("./promise_resolver.js");var isArray=util.isArray;var errorObj=util.errorObj;var tryCatch1=util.tryCatch1;var tryCatch2=util.tryCatch2;var tryCatchApply=util.tryCatchApply;var RangeError=errors.RangeError;var TypeError=errors.TypeError;var CancellationError=errors.CancellationError;var TimeoutError=errors.TimeoutError;var OperationalError=errors.OperationalError;var originatesFromRejection=errors.originatesFromRejection;var markAsOriginatingFromRejection=errors.markAsOriginatingFromRejection;var canAttach=errors.canAttach;var thrower=util.thrower;var apiRejection=require("./errors_api_rejection")(Promise);var makeSelfResolutionError=function Promise$_makeSelfResolutionError(){return new TypeError("circular promise resolution chain")};function Promise(resolver){if(typeof resolver!=="function"){throw new TypeError("the promise constructor requires a resolver function")}if(this.constructor!==Promise){throw new TypeError("the promise constructor cannot be invoked directly")}this._bitField=0;this._fulfillmentHandler0=void 0;this._rejectionHandler0=void 0;this._promise0=void 0;this._receiver0=void 0;this._settledValue=void 0;this._boundTo=void 0;if(resolver!==INTERNAL)this._resolveFromResolver(resolver)}function returnFirstElement(elements){return elements[0]}Promise.prototype.bind=function Promise$bind(thisArg){var maybePromise=cast(thisArg,void 0);var ret=new Promise(INTERNAL);if(maybePromise instanceof Promise){var binder=maybePromise.then(function(thisArg){ret._setBoundTo(thisArg)});var p=Promise.all([this,binder]).then(returnFirstElement);ret._follow(p)}else{ret._follow(this);ret._setBoundTo(thisArg)}ret._propagateFrom(this,2|1);return ret};Promise.prototype.toString=function Promise$toString(){return"[object Promise]"};Promise.prototype.caught=Promise.prototype["catch"]=function Promise$catch(fn){var len=arguments.length;if(len>1){var catchInstances=new Array(len-1),j=0,i;for(i=0;i<len-1;++i){var item=arguments[i];if(typeof item==="function"){catchInstances[j++]=item}else{var catchFilterTypeError=new TypeError("A catch filter must be an error constructor "+"or a filter function");this._attachExtraTrace(catchFilterTypeError);return Promise.reject(catchFilterTypeError)}}catchInstances.length=j;fn=arguments[i];this._resetTrace();var catchFilter=new CatchFilter(catchInstances,fn,this);return this._then(void 0,catchFilter.doFilter,void 0,catchFilter,void 0)}return this._then(void 0,fn,void 0,void 0,void 0)};function reflect(){return new Promise.PromiseInspection(this)}Promise.prototype.reflect=function Promise$reflect(){return this._then(reflect,reflect,void 0,this,void 0)};Promise.prototype.then=function Promise$then(didFulfill,didReject,didProgress){return this._then(didFulfill,didReject,didProgress,void 0,void 0)};Promise.prototype.done=function Promise$done(didFulfill,didReject,didProgress){var promise=this._then(didFulfill,didReject,didProgress,void 0,void 0);promise._setIsFinal()};Promise.prototype.spread=function Promise$spread(didFulfill,didReject){return this._then(didFulfill,didReject,void 0,APPLY,void 0)};Promise.prototype.isCancellable=function Promise$isCancellable(){return!this.isResolved()&&this._cancellable()};Promise.prototype.toJSON=function Promise$toJSON(){var ret={isFulfilled:false,isRejected:false,fulfillmentValue:void 0,rejectionReason:void 0};if(this.isFulfilled()){ret.fulfillmentValue=this._settledValue;ret.isFulfilled=true}else if(this.isRejected()){ret.rejectionReason=this._settledValue;ret.isRejected=true}return ret};Promise.prototype.all=function Promise$all(){return new PromiseArray(this).promise()};Promise.is=function Promise$Is(val){return val instanceof Promise};Promise.all=function Promise$All(promises){return new PromiseArray(promises).promise()};Promise.prototype.error=function Promise$_error(fn){return this.caught(originatesFromRejection,fn)};Promise.prototype._resolveFromSyncValue=function Promise$_resolveFromSyncValue(value){if(value===errorObj){this._cleanValues();this._setRejected();var reason=value.e;this._settledValue=reason;this._tryAttachExtraTrace(reason);this._ensurePossibleRejectionHandled()}else{var maybePromise=cast(value,void 0);if(maybePromise instanceof Promise){this._follow(maybePromise)}else{this._cleanValues();this._setFulfilled();this._settledValue=value}}};Promise.method=function Promise$_Method(fn){if(typeof fn!=="function"){throw new TypeError("fn must be a function")}return function Promise$_method(){var value;switch(arguments.length){case 0:value=tryCatch1(fn,this,void 0);break;case 1:value=tryCatch1(fn,this,arguments[0]);break;case 2:value=tryCatch2(fn,this,arguments[0],arguments[1]);break;default:var $_len=arguments.length;var args=new Array($_len);for(var $_i=0;$_i<$_len;++$_i){args[$_i]=arguments[$_i]}value=tryCatchApply(fn,args,this);break}var ret=new Promise(INTERNAL);ret._setTrace(void 0);ret._resolveFromSyncValue(value);return ret}};Promise.attempt=Promise["try"]=function Promise$_Try(fn,args,ctx){if(typeof fn!=="function"){return apiRejection("fn must be a function")}var value=isArray(args)?tryCatchApply(fn,args,ctx):tryCatch1(fn,ctx,args);var ret=new Promise(INTERNAL);ret._setTrace(void 0);ret._resolveFromSyncValue(value);return ret};Promise.defer=Promise.pending=function Promise$Defer(){var promise=new Promise(INTERNAL);promise._setTrace(void 0);return new PromiseResolver(promise)};Promise.bind=function Promise$Bind(thisArg){var maybePromise=cast(thisArg,void 0);var ret=new Promise(INTERNAL);ret._setTrace(void 0);if(maybePromise instanceof Promise){var p=maybePromise.then(function(thisArg){ret._setBoundTo(thisArg)});ret._follow(p)}else{ret._setBoundTo(thisArg);ret._setFulfilled()}return ret};Promise.cast=function Promise$_Cast(obj){var ret=cast(obj,void 0);if(!(ret instanceof Promise)){var val=ret;ret=new Promise(INTERNAL);ret._setTrace(void 0);ret._setFulfilled();ret._cleanValues();ret._settledValue=val}return ret};Promise.resolve=Promise.fulfilled=Promise.cast;Promise.reject=Promise.rejected=function Promise$Reject(reason){var ret=new Promise(INTERNAL);ret._setTrace(void 0);markAsOriginatingFromRejection(reason);ret._cleanValues();ret._setRejected();ret._settledValue=reason;if(!canAttach(reason)){var trace=new Error(reason+"");ret._setCarriedStackTrace(trace)}ret._ensurePossibleRejectionHandled();return ret};Promise.onPossiblyUnhandledRejection=function Promise$OnPossiblyUnhandledRejection(fn){CapturedTrace.possiblyUnhandledRejection=typeof fn==="function"?fn:void 0};var unhandledRejectionHandled;Promise.onUnhandledRejectionHandled=function Promise$onUnhandledRejectionHandled(fn){unhandledRejectionHandled=typeof fn==="function"?fn:void 0};var debugging=false||!!(typeof process!=="undefined"&&typeof process.execPath==="string"&&typeof process.env==="object"&&(process.env["BLUEBIRD_DEBUG"]||process.env["NODE_ENV"]==="development"));Promise.longStackTraces=function Promise$LongStackTraces(){if(async.haveItemsQueued()&&debugging===false){throw new Error("cannot enable long stack traces after promises have been created")}debugging=CapturedTrace.isSupported()};Promise.hasLongStackTraces=function Promise$HasLongStackTraces(){return debugging&&CapturedTrace.isSupported()};Promise.prototype._then=function Promise$_then(didFulfill,didReject,didProgress,receiver,internalData){var haveInternalData=internalData!==void 0;var ret=haveInternalData?internalData:new Promise(INTERNAL);if(!haveInternalData){if(debugging){var haveSameContext=this._peekContext()===this._traceParent;ret._traceParent=haveSameContext?this._traceParent:this}ret._propagateFrom(this,7)}var callbackIndex=this._addCallbacks(didFulfill,didReject,didProgress,ret,receiver);if(this.isResolved()){async.invoke(this._queueSettleAt,this,callbackIndex)}return ret};Promise.prototype._length=function Promise$_length(){return this._bitField&262143};Promise.prototype._isFollowingOrFulfilledOrRejected=function Promise$_isFollowingOrFulfilledOrRejected(){return(this._bitField&939524096)>0};Promise.prototype._isFollowing=function Promise$_isFollowing(){return(this._bitField&536870912)===536870912};Promise.prototype._setLength=function Promise$_setLength(len){this._bitField=this._bitField&-262144|len&262143};Promise.prototype._setFulfilled=function Promise$_setFulfilled(){this._bitField=this._bitField|268435456};Promise.prototype._setRejected=function Promise$_setRejected(){this._bitField=this._bitField|134217728};Promise.prototype._setFollowing=function Promise$_setFollowing(){this._bitField=this._bitField|536870912};Promise.prototype._setIsFinal=function Promise$_setIsFinal(){this._bitField=this._bitField|33554432};Promise.prototype._isFinal=function Promise$_isFinal(){return(this._bitField&33554432)>0};Promise.prototype._cancellable=function Promise$_cancellable(){return(this._bitField&67108864)>0};Promise.prototype._setCancellable=function Promise$_setCancellable(){this._bitField=this._bitField|67108864};Promise.prototype._unsetCancellable=function Promise$_unsetCancellable(){this._bitField=this._bitField&~67108864};Promise.prototype._setRejectionIsUnhandled=function Promise$_setRejectionIsUnhandled(){this._bitField=this._bitField|2097152};Promise.prototype._unsetRejectionIsUnhandled=function Promise$_unsetRejectionIsUnhandled(){this._bitField=this._bitField&~2097152;if(this._isUnhandledRejectionNotified()){this._unsetUnhandledRejectionIsNotified();this._notifyUnhandledRejectionIsHandled()}};Promise.prototype._isRejectionUnhandled=function Promise$_isRejectionUnhandled(){return(this._bitField&2097152)>0};Promise.prototype._setUnhandledRejectionIsNotified=function Promise$_setUnhandledRejectionIsNotified(){this._bitField=this._bitField|524288};Promise.prototype._unsetUnhandledRejectionIsNotified=function Promise$_unsetUnhandledRejectionIsNotified(){this._bitField=this._bitField&~524288};Promise.prototype._isUnhandledRejectionNotified=function Promise$_isUnhandledRejectionNotified(){return(this._bitField&524288)>0};Promise.prototype._setCarriedStackTrace=function Promise$_setCarriedStackTrace(capturedTrace){this._bitField=this._bitField|1048576;this._fulfillmentHandler0=capturedTrace};Promise.prototype._unsetCarriedStackTrace=function Promise$_unsetCarriedStackTrace(){this._bitField=this._bitField&~1048576;this._fulfillmentHandler0=void 0};Promise.prototype._isCarryingStackTrace=function Promise$_isCarryingStackTrace(){return(this._bitField&1048576)>0};Promise.prototype._getCarriedStackTrace=function Promise$_getCarriedStackTrace(){return this._isCarryingStackTrace()?this._fulfillmentHandler0:void 0};Promise.prototype._receiverAt=function Promise$_receiverAt(index){var ret=index===0?this._receiver0:this[(index<<2)+index-5+4];if(this._isBound()&&ret===void 0){return this._boundTo}return ret};Promise.prototype._promiseAt=function Promise$_promiseAt(index){return index===0?this._promise0:this[(index<<2)+index-5+3]};Promise.prototype._fulfillmentHandlerAt=function Promise$_fulfillmentHandlerAt(index){return index===0?this._fulfillmentHandler0:this[(index<<2)+index-5+0]};Promise.prototype._rejectionHandlerAt=function Promise$_rejectionHandlerAt(index){return index===0?this._rejectionHandler0:this[(index<<2)+index-5+1]};Promise.prototype._addCallbacks=function Promise$_addCallbacks(fulfill,reject,progress,promise,receiver){var index=this._length();if(index>=262143-5){index=0;this._setLength(0)}if(index===0){this._promise0=promise;if(receiver!==void 0)this._receiver0=receiver;if(typeof fulfill==="function"&&!this._isCarryingStackTrace())this._fulfillmentHandler0=fulfill;if(typeof reject==="function")this._rejectionHandler0=reject;if(typeof progress==="function")this._progressHandler0=progress}else{var base=(index<<2)+index-5;this[base+3]=promise;this[base+4]=receiver;this[base+0]=typeof fulfill==="function"?fulfill:void 0;this[base+1]=typeof reject==="function"?reject:void 0;this[base+2]=typeof progress==="function"?progress:void 0}this._setLength(index+1);return index};Promise.prototype._setProxyHandlers=function Promise$_setProxyHandlers(receiver,promiseSlotValue){var index=this._length();if(index>=262143-5){index=0;this._setLength(0)}if(index===0){this._promise0=promiseSlotValue;this._receiver0=receiver}else{var base=(index<<2)+index-5;this[base+3]=promiseSlotValue;this[base+4]=receiver;this[base+0]=this[base+1]=this[base+2]=void 0}this._setLength(index+1)};Promise.prototype._proxyPromiseArray=function Promise$_proxyPromiseArray(promiseArray,index){this._setProxyHandlers(promiseArray,index)};Promise.prototype._proxyPromise=function Promise$_proxyPromise(promise){promise._setProxied();this._setProxyHandlers(promise,-15)};Promise.prototype._setBoundTo=function Promise$_setBoundTo(obj){if(obj!==void 0){this._bitField=this._bitField|8388608;this._boundTo=obj}else{this._bitField=this._bitField&~8388608}};Promise.prototype._isBound=function Promise$_isBound(){return(this._bitField&8388608)===8388608};Promise.prototype._resolveFromResolver=function Promise$_resolveFromResolver(resolver){var promise=this;this._setTrace(void 0);this._pushContext();function Promise$_resolver(val){if(promise._tryFollow(val)){return}promise._fulfill(val)}function Promise$_rejecter(val){var trace=canAttach(val)?val:new Error(val+"");promise._attachExtraTrace(trace);markAsOriginatingFromRejection(val);promise._reject(val,trace===val?void 0:trace)}var r=tryCatch2(resolver,void 0,Promise$_resolver,Promise$_rejecter);this._popContext();if(r!==void 0&&r===errorObj){var e=r.e;var trace=canAttach(e)?e:new Error(e+"");promise._reject(e,trace)}};Promise.prototype._spreadSlowCase=function Promise$_spreadSlowCase(targetFn,promise,values,boundTo){var promiseForAll=new PromiseArray(values).promise();var promise2=promiseForAll._then(function(){return targetFn.apply(boundTo,arguments)},void 0,void 0,APPLY,void 0);promise._follow(promise2)};Promise.prototype._callSpread=function Promise$_callSpread(handler,promise,value){var boundTo=this._boundTo;if(isArray(value)){for(var i=0,len=value.length;i<len;++i){if(cast(value[i],void 0)instanceof Promise){this._spreadSlowCase(handler,promise,value,boundTo);return}}}promise._pushContext();return tryCatchApply(handler,value,boundTo)};Promise.prototype._callHandler=function Promise$_callHandler(handler,receiver,promise,value){var x;if(receiver===APPLY&&!this.isRejected()){x=this._callSpread(handler,promise,value)}else{promise._pushContext();x=tryCatch1(handler,receiver,value)}promise._popContext();return x};Promise.prototype._settlePromiseFromHandler=function Promise$_settlePromiseFromHandler(handler,receiver,value,promise){if(!(promise instanceof Promise)){handler.call(receiver,value,promise);return}if(promise.isResolved())return;var x=this._callHandler(handler,receiver,promise,value);if(promise._isFollowing())return;if(x===errorObj||x===promise||x===NEXT_FILTER){var err=x===promise?makeSelfResolutionError():x.e;var trace=canAttach(err)?err:new Error(err+"");if(x!==NEXT_FILTER)promise._attachExtraTrace(trace);promise._rejectUnchecked(err,trace)}else{var castValue=cast(x,promise);if(castValue instanceof Promise){if(castValue.isRejected()&&!castValue._isCarryingStackTrace()&&!canAttach(castValue._settledValue)){var trace=new Error(castValue._settledValue+"");promise._attachExtraTrace(trace);castValue._setCarriedStackTrace(trace)}promise._follow(castValue);promise._propagateFrom(castValue,1)}else{promise._fulfillUnchecked(x)}}};Promise.prototype._follow=function Promise$_follow(promise){this._setFollowing();if(promise.isPending()){this._propagateFrom(promise,1);promise._proxyPromise(this)}else if(promise.isFulfilled()){this._fulfillUnchecked(promise._settledValue)}else{this._rejectUnchecked(promise._settledValue,promise._getCarriedStackTrace())}if(promise._isRejectionUnhandled())promise._unsetRejectionIsUnhandled();if(debugging&&promise._traceParent==null){promise._traceParent=this}};Promise.prototype._tryFollow=function Promise$_tryFollow(value){if(this._isFollowingOrFulfilledOrRejected()||value===this){return false}var maybePromise=cast(value,void 0);if(!(maybePromise instanceof Promise)){return false}this._follow(maybePromise);return true};Promise.prototype._resetTrace=function Promise$_resetTrace(){if(debugging){this._trace=new CapturedTrace(this._peekContext()===void 0)}};Promise.prototype._setTrace=function Promise$_setTrace(parent){if(debugging){var context=this._peekContext();this._traceParent=context;var isTopLevel=context===void 0;if(parent!==void 0&&parent._traceParent===context){this._trace=parent._trace}else{this._trace=new CapturedTrace(isTopLevel)}}return this};Promise.prototype._tryAttachExtraTrace=function Promise$_tryAttachExtraTrace(error){if(canAttach(error)){this._attachExtraTrace(error)}};Promise.prototype._attachExtraTrace=function Promise$_attachExtraTrace(error){if(debugging){var promise=this;var stack=error.stack;stack=typeof stack==="string"?stack.split("\n"):[];CapturedTrace.protectErrorMessageNewlines(stack);var headerLineCount=1;var combinedTraces=1;while(promise!=null&&promise._trace!=null){stack=CapturedTrace.combine(stack,promise._trace.stack.split("\n"));promise=promise._traceParent;combinedTraces++}var stackTraceLimit=Error.stackTraceLimit||10;var max=(stackTraceLimit+headerLineCount)*combinedTraces;var len=stack.length;if(len>max){stack.length=max}if(len>0)stack[0]=stack[0].split("\x00").join("\n");if(stack.length<=headerLineCount){error.stack="(No stack trace)"}else{error.stack=stack.join("\n")}}};Promise.prototype._cleanValues=function Promise$_cleanValues(){if(this._cancellable()){this._cancellationParent=void 0}};Promise.prototype._propagateFrom=function Promise$_propagateFrom(parent,flags){if((flags&1)>0&&parent._cancellable()){this._setCancellable();this._cancellationParent=parent}if((flags&4)>0){this._setBoundTo(parent._boundTo)}if((flags&2)>0){this._setTrace(parent)}};Promise.prototype._fulfill=function Promise$_fulfill(value){if(this._isFollowingOrFulfilledOrRejected())return;this._fulfillUnchecked(value)};Promise.prototype._reject=function Promise$_reject(reason,carriedStackTrace){if(this._isFollowingOrFulfilledOrRejected())return;this._rejectUnchecked(reason,carriedStackTrace)};Promise.prototype._settlePromiseAt=function Promise$_settlePromiseAt(index){var handler=this.isFulfilled()?this._fulfillmentHandlerAt(index):this._rejectionHandlerAt(index);var value=this._settledValue;var receiver=this._receiverAt(index);var promise=this._promiseAt(index);if(typeof handler==="function"){this._settlePromiseFromHandler(handler,receiver,value,promise)}else{var done=false;var isFulfilled=this.isFulfilled();if(receiver!==void 0){if(receiver instanceof Promise&&receiver._isProxied()){receiver._unsetProxied();if(isFulfilled)receiver._fulfillUnchecked(value);else receiver._rejectUnchecked(value,this._getCarriedStackTrace());done=true}else if(receiver instanceof PromiseArray){if(isFulfilled)receiver._promiseFulfilled(value,promise);else receiver._promiseRejected(value,promise);done=true}}if(!done){if(isFulfilled)promise._fulfill(value);else promise._reject(value,this._getCarriedStackTrace())}}if(index>=4){this._queueGC()}};Promise.prototype._isProxied=function Promise$_isProxied(){return(this._bitField&4194304)===4194304};Promise.prototype._setProxied=function Promise$_setProxied(){this._bitField=this._bitField|4194304};Promise.prototype._unsetProxied=function Promise$_unsetProxied(){this._bitField=this._bitField&~4194304};Promise.prototype._isGcQueued=function Promise$_isGcQueued(){return(this._bitField&-1073741824)===-1073741824};Promise.prototype._setGcQueued=function Promise$_setGcQueued(){this._bitField=this._bitField|-1073741824};Promise.prototype._unsetGcQueued=function Promise$_unsetGcQueued(){this._bitField=this._bitField&~-1073741824};Promise.prototype._queueGC=function Promise$_queueGC(){if(this._isGcQueued())return;this._setGcQueued();async.invokeLater(this._gc,this,void 0)};Promise.prototype._gc=function Promise$gc(){var len=this._length()*5-5;for(var i=0;i<len;i++){delete this[i]}this._clearFirstHandlerData();this._setLength(0);this._unsetGcQueued()};Promise.prototype._clearFirstHandlerData=function Promise$_clearFirstHandlerData(){this._fulfillmentHandler0=void 0;this._rejectionHandler0=void 0;this._promise0=void 0;this._receiver0=void 0};Promise.prototype._queueSettleAt=function Promise$_queueSettleAt(index){if(this._isRejectionUnhandled())this._unsetRejectionIsUnhandled();async.invoke(this._settlePromiseAt,this,index)};Promise.prototype._fulfillUnchecked=function Promise$_fulfillUnchecked(value){if(!this.isPending())return;
if(value===this){var err=makeSelfResolutionError();this._attachExtraTrace(err);return this._rejectUnchecked(err,void 0)}this._cleanValues();this._setFulfilled();this._settledValue=value;var len=this._length();if(len>0){async.invoke(this._settlePromises,this,len)}};Promise.prototype._rejectUncheckedCheckError=function Promise$_rejectUncheckedCheckError(reason){var trace=canAttach(reason)?reason:new Error(reason+"");this._rejectUnchecked(reason,trace===reason?void 0:trace)};Promise.prototype._rejectUnchecked=function Promise$_rejectUnchecked(reason,trace){if(!this.isPending())return;if(reason===this){var err=makeSelfResolutionError();this._attachExtraTrace(err);return this._rejectUnchecked(err)}this._cleanValues();this._setRejected();this._settledValue=reason;if(this._isFinal()){async.invokeLater(thrower,void 0,trace===void 0?reason:trace);return}var len=this._length();if(trace!==void 0)this._setCarriedStackTrace(trace);if(len>0){async.invoke(this._rejectPromises,this,null)}else{this._ensurePossibleRejectionHandled()}};Promise.prototype._rejectPromises=function Promise$_rejectPromises(){this._settlePromises();this._unsetCarriedStackTrace()};Promise.prototype._settlePromises=function Promise$_settlePromises(){var len=this._length();for(var i=0;i<len;i++){this._settlePromiseAt(i)}};Promise.prototype._ensurePossibleRejectionHandled=function Promise$_ensurePossibleRejectionHandled(){this._setRejectionIsUnhandled();if(CapturedTrace.possiblyUnhandledRejection!==void 0){async.invokeLater(this._notifyUnhandledRejection,this,void 0)}};Promise.prototype._notifyUnhandledRejectionIsHandled=function Promise$_notifyUnhandledRejectionIsHandled(){if(typeof unhandledRejectionHandled==="function"){async.invokeLater(unhandledRejectionHandled,void 0,this)}};Promise.prototype._notifyUnhandledRejection=function Promise$_notifyUnhandledRejection(){if(this._isRejectionUnhandled()){var reason=this._settledValue;var trace=this._getCarriedStackTrace();this._setUnhandledRejectionIsNotified();if(trace!==void 0){this._unsetCarriedStackTrace();reason=trace}if(typeof CapturedTrace.possiblyUnhandledRejection==="function"){CapturedTrace.possiblyUnhandledRejection(reason,this)}}};var contextStack=[];Promise.prototype._peekContext=function Promise$_peekContext(){var lastIndex=contextStack.length-1;if(lastIndex>=0){return contextStack[lastIndex]}return void 0};Promise.prototype._pushContext=function Promise$_pushContext(){if(!debugging)return;contextStack.push(this)};Promise.prototype._popContext=function Promise$_popContext(){if(!debugging)return;contextStack.pop()};Promise.noConflict=function Promise$NoConflict(){return noConflict(Promise)};Promise.setScheduler=function(fn){if(typeof fn!=="function")throw new TypeError("fn must be a function");async._schedule=fn};if(!CapturedTrace.isSupported()){Promise.longStackTraces=function(){};debugging=false}Promise._makeSelfResolutionError=makeSelfResolutionError;require("./finally.js")(Promise,NEXT_FILTER,cast);require("./direct_resolve.js")(Promise);require("./synchronous_inspection.js")(Promise);require("./join.js")(Promise,PromiseArray,cast,INTERNAL);Promise.RangeError=RangeError;Promise.CancellationError=CancellationError;Promise.TimeoutError=TimeoutError;Promise.TypeError=TypeError;Promise.OperationalError=OperationalError;Promise.RejectionError=OperationalError;Promise.AggregateError=errors.AggregateError;util.toFastProperties(Promise);util.toFastProperties(Promise.prototype);Promise.Promise=Promise;require("./timers.js")(Promise,INTERNAL,cast);require("./race.js")(Promise,INTERNAL,cast);require("./call_get.js")(Promise);require("./generators.js")(Promise,apiRejection,INTERNAL,cast);require("./map.js")(Promise,PromiseArray,apiRejection,cast,INTERNAL);require("./nodeify.js")(Promise);require("./promisify.js")(Promise,INTERNAL);require("./props.js")(Promise,PromiseArray,cast);require("./reduce.js")(Promise,PromiseArray,apiRejection,cast,INTERNAL);require("./settle.js")(Promise,PromiseArray);require("./some.js")(Promise,PromiseArray,apiRejection);require("./progress.js")(Promise,PromiseArray);require("./cancel.js")(Promise,INTERNAL);require("./filter.js")(Promise,INTERNAL);require("./any.js")(Promise,PromiseArray);require("./each.js")(Promise,INTERNAL);require("./using.js")(Promise,apiRejection,cast);Promise.prototype=Promise.prototype;return Promise}}).call(this,require("_process"))},{"./any.js":6,"./async.js":7,"./call_get.js":9,"./cancel.js":10,"./captured_trace.js":11,"./catch_filter.js":12,"./direct_resolve.js":13,"./each.js":14,"./errors.js":15,"./errors_api_rejection":16,"./filter.js":18,"./finally.js":19,"./generators.js":20,"./join.js":21,"./map.js":22,"./nodeify.js":23,"./progress.js":24,"./promise_array.js":26,"./promise_resolver.js":27,"./promisify.js":28,"./props.js":29,"./race.js":31,"./reduce.js":32,"./settle.js":34,"./some.js":35,"./synchronous_inspection.js":36,"./thenables.js":37,"./timers.js":38,"./using.js":39,"./util.js":40,_process:1}],26:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL,cast){var canAttach=require("./errors.js").canAttach;var util=require("./util.js");var isArray=util.isArray;function toResolutionValue(val){switch(val){case-1:return void 0;case-2:return[];case-3:return{}}}function PromiseArray(values){var promise=this._promise=new Promise(INTERNAL);var parent=void 0;if(values instanceof Promise){parent=values;promise._propagateFrom(parent,1|4)}promise._setTrace(parent);this._values=values;this._length=0;this._totalResolved=0;this._init(void 0,-2)}PromiseArray.prototype.length=function PromiseArray$length(){return this._length};PromiseArray.prototype.promise=function PromiseArray$promise(){return this._promise};PromiseArray.prototype._init=function PromiseArray$_init(_,resolveValueIfEmpty){var values=cast(this._values,void 0);if(values instanceof Promise){this._values=values;values._setBoundTo(this._promise._boundTo);if(values.isFulfilled()){values=values._settledValue;if(!isArray(values)){var err=new Promise.TypeError("expecting an array, a promise or a thenable");this.__hardReject__(err);return}}else if(values.isPending()){values._then(PromiseArray$_init,this._reject,void 0,this,resolveValueIfEmpty);return}else{values._unsetRejectionIsUnhandled();this._reject(values._settledValue);return}}else if(!isArray(values)){var err=new Promise.TypeError("expecting an array, a promise or a thenable");this.__hardReject__(err);return}if(values.length===0){if(resolveValueIfEmpty===-5){this._resolveEmptyArray()}else{this._resolve(toResolutionValue(resolveValueIfEmpty))}return}var len=this.getActualLength(values.length);var newLen=len;var newValues=this.shouldCopyValues()?new Array(len):this._values;var isDirectScanNeeded=false;for(var i=0;i<len;++i){var maybePromise=cast(values[i],void 0);if(maybePromise instanceof Promise){if(maybePromise.isPending()){maybePromise._proxyPromiseArray(this,i)}else{maybePromise._unsetRejectionIsUnhandled();isDirectScanNeeded=true}}else{isDirectScanNeeded=true}newValues[i]=maybePromise}this._values=newValues;this._length=newLen;if(isDirectScanNeeded){this._scanDirectValues(len)}};PromiseArray.prototype._settlePromiseAt=function PromiseArray$_settlePromiseAt(index){var value=this._values[index];if(!(value instanceof Promise)){this._promiseFulfilled(value,index)}else if(value.isFulfilled()){this._promiseFulfilled(value._settledValue,index)}else if(value.isRejected()){this._promiseRejected(value._settledValue,index)}};PromiseArray.prototype._scanDirectValues=function PromiseArray$_scanDirectValues(len){for(var i=0;i<len;++i){if(this._isResolved()){break}this._settlePromiseAt(i)}};PromiseArray.prototype._isResolved=function PromiseArray$_isResolved(){return this._values===null};PromiseArray.prototype._resolve=function PromiseArray$_resolve(value){this._values=null;this._promise._fulfill(value)};PromiseArray.prototype.__hardReject__=PromiseArray.prototype._reject=function PromiseArray$_reject(reason){this._values=null;var trace=canAttach(reason)?reason:new Error(reason+"");this._promise._attachExtraTrace(trace);this._promise._reject(reason,trace)};PromiseArray.prototype._promiseProgressed=function PromiseArray$_promiseProgressed(progressValue,index){if(this._isResolved())return;this._promise._progress({index:index,value:progressValue})};PromiseArray.prototype._promiseFulfilled=function PromiseArray$_promiseFulfilled(value,index){if(this._isResolved())return;this._values[index]=value;var totalResolved=++this._totalResolved;if(totalResolved>=this._length){this._resolve(this._values)}};PromiseArray.prototype._promiseRejected=function PromiseArray$_promiseRejected(reason,index){if(this._isResolved())return;this._totalResolved++;this._reject(reason)};PromiseArray.prototype.shouldCopyValues=function PromiseArray$_shouldCopyValues(){return true};PromiseArray.prototype.getActualLength=function PromiseArray$getActualLength(len){return len};return PromiseArray}},{"./errors.js":15,"./util.js":40}],27:[function(require,module,exports){"use strict";var util=require("./util.js");var maybeWrapAsError=util.maybeWrapAsError;var errors=require("./errors.js");var TimeoutError=errors.TimeoutError;var OperationalError=errors.OperationalError;var async=require("./async.js");var haveGetters=util.haveGetters;var es5=require("./es5.js");function isUntypedError(obj){return obj instanceof Error&&es5.getPrototypeOf(obj)===Error.prototype}function wrapAsOperationalError(obj){var ret;if(isUntypedError(obj)){ret=new OperationalError(obj)}else{ret=obj}errors.markAsOriginatingFromRejection(ret);return ret}function nodebackForPromise(promise){function PromiseResolver$_callback(err,value){if(promise===null)return;if(err){var wrapped=wrapAsOperationalError(maybeWrapAsError(err));promise._attachExtraTrace(wrapped);promise._reject(wrapped)}else if(arguments.length>2){var $_len=arguments.length;var args=new Array($_len-1);for(var $_i=1;$_i<$_len;++$_i){args[$_i-1]=arguments[$_i]}promise._fulfill(args)}else{promise._fulfill(value)}promise=null}return PromiseResolver$_callback}var PromiseResolver;if(!haveGetters){PromiseResolver=function PromiseResolver(promise){this.promise=promise;this.asCallback=nodebackForPromise(promise);this.callback=this.asCallback}}else{PromiseResolver=function PromiseResolver(promise){this.promise=promise}}if(haveGetters){var prop={get:function(){return nodebackForPromise(this.promise)}};es5.defineProperty(PromiseResolver.prototype,"asCallback",prop);es5.defineProperty(PromiseResolver.prototype,"callback",prop)}PromiseResolver._nodebackForPromise=nodebackForPromise;PromiseResolver.prototype.toString=function PromiseResolver$toString(){return"[object PromiseResolver]"};PromiseResolver.prototype.resolve=PromiseResolver.prototype.fulfill=function PromiseResolver$resolve(value){if(!(this instanceof PromiseResolver)){throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.")}var promise=this.promise;if(promise._tryFollow(value)){return}async.invoke(promise._fulfill,promise,value)};PromiseResolver.prototype.reject=function PromiseResolver$reject(reason){if(!(this instanceof PromiseResolver)){throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.")}var promise=this.promise;errors.markAsOriginatingFromRejection(reason);var trace=errors.canAttach(reason)?reason:new Error(reason+"");promise._attachExtraTrace(trace);async.invoke(promise._reject,promise,reason);if(trace!==reason){async.invoke(this._setCarriedStackTrace,this,trace)}};PromiseResolver.prototype.progress=function PromiseResolver$progress(value){if(!(this instanceof PromiseResolver)){throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.")}async.invoke(this.promise._progress,this.promise,value)};PromiseResolver.prototype.cancel=function PromiseResolver$cancel(){async.invoke(this.promise.cancel,this.promise,void 0)};PromiseResolver.prototype.timeout=function PromiseResolver$timeout(){this.reject(new TimeoutError("timeout"))};PromiseResolver.prototype.isResolved=function PromiseResolver$isResolved(){return this.promise.isResolved()};PromiseResolver.prototype.toJSON=function PromiseResolver$toJSON(){return this.promise.toJSON()};PromiseResolver.prototype._setCarriedStackTrace=function PromiseResolver$_setCarriedStackTrace(trace){if(this.promise.isRejected()){this.promise._setCarriedStackTrace(trace)}};module.exports=PromiseResolver},{"./async.js":7,"./errors.js":15,"./es5.js":17,"./util.js":40}],28:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL){var THIS={};var util=require("./util.js");var nodebackForPromise=require("./promise_resolver.js")._nodebackForPromise;var withAppended=util.withAppended;var maybeWrapAsError=util.maybeWrapAsError;var canEvaluate=util.canEvaluate;var TypeError=require("./errors").TypeError;var defaultSuffix="Async";var defaultFilter=function(name,func){return util.isIdentifier(name)&&name.charAt(0)!=="_"&&!util.isClass(func)};var defaultPromisified={__isPromisified__:true};function escapeIdentRegex(str){return str.replace(/([$])/,"\\$")}function isPromisified(fn){try{return fn.__isPromisified__===true}catch(e){return false}}function hasPromisified(obj,key,suffix){var val=util.getDataPropertyOrDefault(obj,key+suffix,defaultPromisified);return val?isPromisified(val):false}function checkValid(ret,suffix,suffixRegexp){for(var i=0;i<ret.length;i+=2){var key=ret[i];if(suffixRegexp.test(key)){var keyWithoutAsyncSuffix=key.replace(suffixRegexp,"");for(var j=0;j<ret.length;j+=2){if(ret[j]===keyWithoutAsyncSuffix){throw new TypeError("Cannot promisify an API "+"that has normal methods with '"+suffix+"'-suffix")}}}}}function promisifiableMethods(obj,suffix,suffixRegexp,filter){var keys=util.inheritedDataKeys(obj);var ret=[];for(var i=0;i<keys.length;++i){var key=keys[i];var value=obj[key];if(typeof value==="function"&&!isPromisified(value)&&!hasPromisified(obj,key,suffix)&&filter(key,value,obj)){ret.push(key,value)}}checkValid(ret,suffix,suffixRegexp);return ret}function switchCaseArgumentOrder(likelyArgumentCount){var ret=[likelyArgumentCount];var min=Math.max(0,likelyArgumentCount-1-5);for(var i=likelyArgumentCount-1;i>=min;--i){if(i===likelyArgumentCount)continue;ret.push(i)}for(var i=likelyArgumentCount+1;i<=5;++i){ret.push(i)}return ret}function argumentSequence(argumentCount){return util.filledRange(argumentCount,"arguments[","]")}function parameterDeclaration(parameterCount){return util.filledRange(parameterCount,"_arg","")}function parameterCount(fn){if(typeof fn.length==="number"){return Math.max(Math.min(fn.length,1023+1),0)}return 0}function generatePropertyAccess(key){if(util.isIdentifier(key)){return"."+key}else return"['"+key.replace(/(['\\])/g,"\\$1")+"']"}function makeNodePromisifiedEval(callback,receiver,originalName,fn,suffix){var newParameterCount=Math.max(0,parameterCount(fn)-1);var argumentOrder=switchCaseArgumentOrder(newParameterCount);var callbackName=typeof originalName==="string"&&util.isIdentifier(originalName)?originalName+suffix:"promisified";function generateCallForArgumentCount(count){var args=argumentSequence(count).join(", ");var comma=count>0?", ":"";var ret;if(typeof callback==="string"){ret=" \n this.method({{args}}, fn); \n break; \n ".replace(".method",generatePropertyAccess(callback))}else if(receiver===THIS){ret=" \n callback.call(this, {{args}}, fn); \n break; \n "}else if(receiver!==void 0){ret=" \n callback.call(receiver, {{args}}, fn); \n break; \n "}else{ret=" \n callback({{args}}, fn); \n break; \n "}return ret.replace("{{args}}",args).replace(", ",comma)}function generateArgumentSwitchCase(){var ret="";for(var i=0;i<argumentOrder.length;++i){ret+="case "+argumentOrder[i]+":"+generateCallForArgumentCount(argumentOrder[i])}var codeForCall;if(typeof callback==="string"){codeForCall=" \n this.property.apply(this, args); \n ".replace(".property",generatePropertyAccess(callback))}else if(receiver===THIS){codeForCall=" \n callback.apply(this, args); \n "}else{codeForCall=" \n callback.apply(receiver, args); \n "}ret+=" \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = fn; \n [CodeForCall] \n break; \n ".replace("[CodeForCall]",codeForCall);return ret}return new Function("Promise","callback","receiver","withAppended","maybeWrapAsError","nodebackForPromise","INTERNAL"," \n var ret = function FunctionName(Parameters) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._setTrace(void 0); \n var fn = nodebackForPromise(promise); \n try { \n switch(len) { \n [CodeForSwitchCase] \n } \n } catch (e) { \n var wrapped = maybeWrapAsError(e); \n promise._attachExtraTrace(wrapped); \n promise._reject(wrapped); \n } \n return promise; \n }; \n ret.__isPromisified__ = true; \n return ret; \n ".replace("FunctionName",callbackName).replace("Parameters",parameterDeclaration(newParameterCount)).replace("[CodeForSwitchCase]",generateArgumentSwitchCase()))(Promise,callback,receiver,withAppended,maybeWrapAsError,nodebackForPromise,INTERNAL)}function makeNodePromisifiedClosure(callback,receiver){function promisified(){var _receiver=receiver;if(receiver===THIS)_receiver=this;if(typeof callback==="string"){callback=_receiver[callback]}var promise=new Promise(INTERNAL);promise._setTrace(void 0);var fn=nodebackForPromise(promise);try{callback.apply(_receiver,withAppended(arguments,fn))}catch(e){var wrapped=maybeWrapAsError(e);promise._attachExtraTrace(wrapped);promise._reject(wrapped)}return promise}promisified.__isPromisified__=true;return promisified}var makeNodePromisified=canEvaluate?makeNodePromisifiedEval:makeNodePromisifiedClosure;function promisifyAll(obj,suffix,filter,promisifier){var suffixRegexp=new RegExp(escapeIdentRegex(suffix)+"$");var methods=promisifiableMethods(obj,suffix,suffixRegexp,filter);for(var i=0,len=methods.length;i<len;i+=2){var key=methods[i];var fn=methods[i+1];var promisifiedKey=key+suffix;obj[promisifiedKey]=promisifier===makeNodePromisified?makeNodePromisified(key,THIS,key,fn,suffix):promisifier(fn)}util.toFastProperties(obj);return obj}function promisify(callback,receiver){return makeNodePromisified(callback,receiver,void 0,callback)}Promise.promisify=function Promise$Promisify(fn,receiver){if(typeof fn!=="function"){throw new TypeError("fn must be a function")}if(isPromisified(fn)){return fn}return promisify(fn,arguments.length<2?THIS:receiver)};Promise.promisifyAll=function Promise$PromisifyAll(target,options){if(typeof target!=="function"&&typeof target!=="object"){throw new TypeError("the target of promisifyAll must be an object or a function")}options=Object(options);var suffix=options.suffix;if(typeof suffix!=="string")suffix=defaultSuffix;var filter=options.filter;if(typeof filter!=="function")filter=defaultFilter;var promisifier=options.promisifier;if(typeof promisifier!=="function")promisifier=makeNodePromisified;if(!util.isIdentifier(suffix)){throw new RangeError("suffix must be a valid identifier")}var keys=util.inheritedDataKeys(target,{includeHidden:true});for(var i=0;i<keys.length;++i){var value=target[keys[i]];if(keys[i]!=="constructor"&&util.isClass(value)){promisifyAll(value.prototype,suffix,filter,promisifier);promisifyAll(value,suffix,filter,promisifier)}}return promisifyAll(target,suffix,filter,promisifier)}}},{"./errors":15,"./promise_resolver.js":27,"./util.js":40}],29:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray,cast){var util=require("./util.js");var apiRejection=require("./errors_api_rejection")(Promise);var isObject=util.isObject;var es5=require("./es5.js");function PropertiesPromiseArray(obj){var keys=es5.keys(obj);var len=keys.length;var values=new Array(len*2);for(var i=0;i<len;++i){var key=keys[i];values[i]=obj[key];values[i+len]=key}this.constructor$(values)}util.inherits(PropertiesPromiseArray,PromiseArray);PropertiesPromiseArray.prototype._init=function PropertiesPromiseArray$_init(){this._init$(void 0,-3)};PropertiesPromiseArray.prototype._promiseFulfilled=function PropertiesPromiseArray$_promiseFulfilled(value,index){if(this._isResolved())return;this._values[index]=value;var totalResolved=++this._totalResolved;if(totalResolved>=this._length){var val={};var keyOffset=this.length();for(var i=0,len=this.length();i<len;++i){val[this._values[i+keyOffset]]=this._values[i]}this._resolve(val)}};PropertiesPromiseArray.prototype._promiseProgressed=function PropertiesPromiseArray$_promiseProgressed(value,index){if(this._isResolved())return;this._promise._progress({key:this._values[index+this.length()],value:value})};PropertiesPromiseArray.prototype.shouldCopyValues=function PropertiesPromiseArray$_shouldCopyValues(){return false};PropertiesPromiseArray.prototype.getActualLength=function PropertiesPromiseArray$getActualLength(len){return len>>1};function Promise$_Props(promises){var ret;var castValue=cast(promises,void 0);if(!isObject(castValue)){return apiRejection("cannot await properties of a non-object")}else if(castValue instanceof Promise){ret=castValue._then(Promise.props,void 0,void 0,void 0,void 0)}else{ret=new PropertiesPromiseArray(castValue).promise()}if(castValue instanceof Promise){ret._propagateFrom(castValue,4)}return ret}Promise.prototype.props=function Promise$props(){return Promise$_Props(this)};Promise.props=function Promise$Props(promises){return Promise$_Props(promises)}}},{"./errors_api_rejection":16,"./es5.js":17,"./util.js":40}],30:[function(require,module,exports){"use strict";function arrayCopy(src,srcIndex,dst,dstIndex,len){for(var j=0;j<len;++j){dst[j+dstIndex]=src[j+srcIndex]}}function Queue(capacity){this._capacity=capacity;this._length=0;this._front=0;this._makeCapacity()}Queue.prototype._willBeOverCapacity=function Queue$_willBeOverCapacity(size){return this._capacity<size};Queue.prototype._pushOne=function Queue$_pushOne(arg){var length=this.length();this._checkCapacity(length+1);var i=this._front+length&this._capacity-1;this[i]=arg;this._length=length+1};Queue.prototype.push=function Queue$push(fn,receiver,arg){var length=this.length()+3;if(this._willBeOverCapacity(length)){this._pushOne(fn);this._pushOne(receiver);this._pushOne(arg);return}var j=this._front+length-3;this._checkCapacity(length);var wrapMask=this._capacity-1;this[j+0&wrapMask]=fn;this[j+1&wrapMask]=receiver;this[j+2&wrapMask]=arg;this._length=length};Queue.prototype.shift=function Queue$shift(){var front=this._front,ret=this[front];this[front]=void 0;this._front=front+1&this._capacity-1;this._length--;return ret};Queue.prototype.length=function Queue$length(){return this._length};Queue.prototype._makeCapacity=function Queue$_makeCapacity(){var len=this._capacity;for(var i=0;i<len;++i){this[i]=void 0}};Queue.prototype._checkCapacity=function Queue$_checkCapacity(size){if(this._capacity<size){this._resizeTo(this._capacity<<3)}};Queue.prototype._resizeTo=function Queue$_resizeTo(capacity){var oldFront=this._front;var oldCapacity=this._capacity;var oldQueue=new Array(oldCapacity);var length=this.length();arrayCopy(this,0,oldQueue,0,oldCapacity);this._capacity=capacity;this._makeCapacity();this._front=0;if(oldFront+length<=oldCapacity){arrayCopy(oldQueue,oldFront,this,0,length)}else{var lengthBeforeWrapping=length-(oldFront+length&oldCapacity-1);arrayCopy(oldQueue,oldFront,this,0,lengthBeforeWrapping);arrayCopy(oldQueue,0,this,lengthBeforeWrapping,length-lengthBeforeWrapping)}};module.exports=Queue},{}],31:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL,cast){var apiRejection=require("./errors_api_rejection.js")(Promise);var isArray=require("./util.js").isArray;var raceLater=function Promise$_raceLater(promise){return promise.then(function(array){return Promise$_Race(array,promise)})};var hasOwn={}.hasOwnProperty;function Promise$_Race(promises,parent){var maybePromise=cast(promises,void 0);if(maybePromise instanceof Promise){return raceLater(maybePromise)}else if(!isArray(promises)){return apiRejection("expecting an array, a promise or a thenable")}var ret=new Promise(INTERNAL);if(parent!==void 0){ret._propagateFrom(parent,7)}else{ret._setTrace(void 0)}var fulfill=ret._fulfill;var reject=ret._reject;for(var i=0,len=promises.length;i<len;++i){var val=promises[i];if(val===void 0&&!hasOwn.call(promises,i)){continue}Promise.cast(val)._then(fulfill,reject,void 0,ret,null)}return ret}Promise.race=function Promise$Race(promises){return Promise$_Race(promises,void 0)};Promise.prototype.race=function Promise$race(){return Promise$_Race(this,void 0)}}},{"./errors_api_rejection.js":16,"./util.js":40}],32:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray,apiRejection,cast,INTERNAL){var util=require("./util.js");var tryCatch4=util.tryCatch4;var tryCatch3=util.tryCatch3;var errorObj=util.errorObj;function ReductionPromiseArray(promises,fn,accum,_each){this.constructor$(promises);this._preservedValues=_each===INTERNAL?[]:null;this._zerothIsAccum=accum===void 0;this._gotAccum=false;this._reducingIndex=this._zerothIsAccum?1:0;this._valuesPhase=undefined;var maybePromise=cast(accum,void 0);var rejected=false;var isPromise=maybePromise instanceof Promise;if(isPromise){if(maybePromise.isPending()){maybePromise._proxyPromiseArray(this,-1)}else if(maybePromise.isFulfilled()){accum=maybePromise.value();this._gotAccum=true}else{maybePromise._unsetRejectionIsUnhandled();this._reject(maybePromise.reason());rejected=true}}if(!(isPromise||this._zerothIsAccum))this._gotAccum=true;this._callback=fn;this._accum=accum;if(!rejected)this._init$(void 0,-5)}util.inherits(ReductionPromiseArray,PromiseArray);ReductionPromiseArray.prototype._init=function ReductionPromiseArray$_init(){};ReductionPromiseArray.prototype._resolveEmptyArray=function ReductionPromiseArray$_resolveEmptyArray(){if(this._gotAccum||this._zerothIsAccum){this._resolve(this._preservedValues!==null?[]:this._accum)}};ReductionPromiseArray.prototype._promiseFulfilled=function ReductionPromiseArray$_promiseFulfilled(value,index){var values=this._values;if(values===null)return;var length=this.length();var preservedValues=this._preservedValues;var isEach=preservedValues!==null;var gotAccum=this._gotAccum;var valuesPhase=this._valuesPhase;var valuesPhaseIndex;if(!valuesPhase){valuesPhase=this._valuesPhase=Array(length);for(valuesPhaseIndex=0;valuesPhaseIndex<length;++valuesPhaseIndex){valuesPhase[valuesPhaseIndex]=0}}valuesPhaseIndex=valuesPhase[index];if(index===0&&this._zerothIsAccum){if(!gotAccum){this._accum=value;this._gotAccum=gotAccum=true}valuesPhase[index]=valuesPhaseIndex===0?1:2}else if(index===-1){if(!gotAccum){this._accum=value;this._gotAccum=gotAccum=true}}else{if(valuesPhaseIndex===0){valuesPhase[index]=1}else{valuesPhase[index]=2;if(gotAccum){this._accum=value}}}if(!gotAccum)return;var callback=this._callback;var receiver=this._promise._boundTo;var ret;for(var i=this._reducingIndex;i<length;++i){valuesPhaseIndex=valuesPhase[i];if(valuesPhaseIndex===2){this._reducingIndex=i+1;continue}if(valuesPhaseIndex!==1)return;value=values[i];if(value instanceof Promise){if(value.isFulfilled()){value=value._settledValue}else if(value.isPending()){return}else{value._unsetRejectionIsUnhandled();return this._reject(value.reason())}}if(isEach){preservedValues.push(value);ret=tryCatch3(callback,receiver,value,i,length)}else{ret=tryCatch4(callback,receiver,this._accum,value,i,length)}if(ret===errorObj)return this._reject(ret.e);var maybePromise=cast(ret,void 0);if(maybePromise instanceof Promise){if(maybePromise.isPending()){valuesPhase[i]=4;return maybePromise._proxyPromiseArray(this,i)}else if(maybePromise.isFulfilled()){ret=maybePromise.value()}else{maybePromise._unsetRejectionIsUnhandled();return this._reject(maybePromise.reason())}}this._reducingIndex=i+1;this._accum=ret}if(this._reducingIndex<length)return;this._resolve(isEach?preservedValues:this._accum)};function reduce(promises,fn,initialValue,_each){if(typeof fn!=="function")return apiRejection("fn must be a function");var array=new ReductionPromiseArray(promises,fn,initialValue,_each);return array.promise()}Promise.prototype.reduce=function Promise$reduce(fn,initialValue){return reduce(this,fn,initialValue,null)};Promise.reduce=function Promise$Reduce(promises,fn,initialValue,_each){return reduce(promises,fn,initialValue,_each)}}},{"./util.js":40}],33:[function(require,module,exports){(function(process){"use strict";var schedule;var _MutationObserver;if(typeof process==="object"&&typeof process.version==="string"){schedule=function Promise$_Scheduler(fn){process.nextTick(fn)}}else if(typeof MutationObserver!=="undefined"&&(_MutationObserver=MutationObserver)||typeof WebKitMutationObserver!=="undefined"&&(_MutationObserver=WebKitMutationObserver)){schedule=function(){var div=document.createElement("div");var queuedFn=void 0;var observer=new _MutationObserver(function Promise$_Scheduler(){var fn=queuedFn;queuedFn=void 0;fn()});observer.observe(div,{attributes:true});return function Promise$_Scheduler(fn){queuedFn=fn;div.classList.toggle("foo")
}}()}else if(typeof setTimeout!=="undefined"){schedule=function Promise$_Scheduler(fn){setTimeout(fn,0)}}else throw new Error("no async scheduler available");module.exports=schedule}).call(this,require("_process"))},{_process:1}],34:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray){var PromiseInspection=Promise.PromiseInspection;var util=require("./util.js");function SettledPromiseArray(values){this.constructor$(values)}util.inherits(SettledPromiseArray,PromiseArray);SettledPromiseArray.prototype._promiseResolved=function SettledPromiseArray$_promiseResolved(index,inspection){this._values[index]=inspection;var totalResolved=++this._totalResolved;if(totalResolved>=this._length){this._resolve(this._values)}};SettledPromiseArray.prototype._promiseFulfilled=function SettledPromiseArray$_promiseFulfilled(value,index){if(this._isResolved())return;var ret=new PromiseInspection;ret._bitField=268435456;ret._settledValue=value;this._promiseResolved(index,ret)};SettledPromiseArray.prototype._promiseRejected=function SettledPromiseArray$_promiseRejected(reason,index){if(this._isResolved())return;var ret=new PromiseInspection;ret._bitField=134217728;ret._settledValue=reason;this._promiseResolved(index,ret)};Promise.settle=function Promise$Settle(promises){return new SettledPromiseArray(promises).promise()};Promise.prototype.settle=function Promise$settle(){return new SettledPromiseArray(this).promise()}}},{"./util.js":40}],35:[function(require,module,exports){"use strict";module.exports=function(Promise,PromiseArray,apiRejection){var util=require("./util.js");var RangeError=require("./errors.js").RangeError;var AggregateError=require("./errors.js").AggregateError;var isArray=util.isArray;function SomePromiseArray(values){this.constructor$(values);this._howMany=0;this._unwrap=false;this._initialized=false}util.inherits(SomePromiseArray,PromiseArray);SomePromiseArray.prototype._init=function SomePromiseArray$_init(){if(!this._initialized){return}if(this._howMany===0){this._resolve([]);return}this._init$(void 0,-5);var isArrayResolved=isArray(this._values);if(!this._isResolved()&&isArrayResolved&&this._howMany>this._canPossiblyFulfill()){this._reject(this._getRangeError(this.length()))}};SomePromiseArray.prototype.init=function SomePromiseArray$init(){this._initialized=true;this._init()};SomePromiseArray.prototype.setUnwrap=function SomePromiseArray$setUnwrap(){this._unwrap=true};SomePromiseArray.prototype.howMany=function SomePromiseArray$howMany(){return this._howMany};SomePromiseArray.prototype.setHowMany=function SomePromiseArray$setHowMany(count){if(this._isResolved())return;this._howMany=count};SomePromiseArray.prototype._promiseFulfilled=function SomePromiseArray$_promiseFulfilled(value){if(this._isResolved())return;this._addFulfilled(value);if(this._fulfilled()===this.howMany()){this._values.length=this.howMany();if(this.howMany()===1&&this._unwrap){this._resolve(this._values[0])}else{this._resolve(this._values)}}};SomePromiseArray.prototype._promiseRejected=function SomePromiseArray$_promiseRejected(reason){if(this._isResolved())return;this._addRejected(reason);if(this.howMany()>this._canPossiblyFulfill()){var e=new AggregateError;for(var i=this.length();i<this._values.length;++i){e.push(this._values[i])}this._reject(e)}};SomePromiseArray.prototype._fulfilled=function SomePromiseArray$_fulfilled(){return this._totalResolved};SomePromiseArray.prototype._rejected=function SomePromiseArray$_rejected(){return this._values.length-this.length()};SomePromiseArray.prototype._addRejected=function SomePromiseArray$_addRejected(reason){this._values.push(reason)};SomePromiseArray.prototype._addFulfilled=function SomePromiseArray$_addFulfilled(value){this._values[this._totalResolved++]=value};SomePromiseArray.prototype._canPossiblyFulfill=function SomePromiseArray$_canPossiblyFulfill(){return this.length()-this._rejected()};SomePromiseArray.prototype._getRangeError=function SomePromiseArray$_getRangeError(count){var message="Input array must contain at least "+this._howMany+" items but contains only "+count+" items";return new RangeError(message)};SomePromiseArray.prototype._resolveEmptyArray=function SomePromiseArray$_resolveEmptyArray(){this._reject(this._getRangeError(0))};function Promise$_Some(promises,howMany){if((howMany|0)!==howMany||howMany<0){return apiRejection("expecting a positive integer")}var ret=new SomePromiseArray(promises);var promise=ret.promise();if(promise.isRejected()){return promise}ret.setHowMany(howMany);ret.init();return promise}Promise.some=function Promise$Some(promises,howMany){return Promise$_Some(promises,howMany)};Promise.prototype.some=function Promise$some(howMany){return Promise$_Some(this,howMany)};Promise._SomePromiseArray=SomePromiseArray}},{"./errors.js":15,"./util.js":40}],36:[function(require,module,exports){"use strict";module.exports=function(Promise){function PromiseInspection(promise){if(promise!==void 0){this._bitField=promise._bitField;this._settledValue=promise.isResolved()?promise._settledValue:void 0}else{this._bitField=0;this._settledValue=void 0}}PromiseInspection.prototype.isFulfilled=Promise.prototype.isFulfilled=function Promise$isFulfilled(){return(this._bitField&268435456)>0};PromiseInspection.prototype.isRejected=Promise.prototype.isRejected=function Promise$isRejected(){return(this._bitField&134217728)>0};PromiseInspection.prototype.isPending=Promise.prototype.isPending=function Promise$isPending(){return(this._bitField&402653184)===0};PromiseInspection.prototype.value=Promise.prototype.value=function Promise$value(){if(!this.isFulfilled()){throw new TypeError("cannot get fulfillment value of a non-fulfilled promise")}return this._settledValue};PromiseInspection.prototype.error=PromiseInspection.prototype.reason=Promise.prototype.reason=function Promise$reason(){if(!this.isRejected()){throw new TypeError("cannot get rejection reason of a non-rejected promise")}return this._settledValue};PromiseInspection.prototype.isResolved=Promise.prototype.isResolved=function Promise$isResolved(){return(this._bitField&402653184)>0};Promise.PromiseInspection=PromiseInspection}},{}],37:[function(require,module,exports){"use strict";module.exports=function(Promise,INTERNAL){var util=require("./util.js");var canAttach=require("./errors.js").canAttach;var errorObj=util.errorObj;var isObject=util.isObject;function getThen(obj){try{return obj.then}catch(e){errorObj.e=e;return errorObj}}function Promise$_Cast(obj,originalPromise){if(isObject(obj)){if(obj instanceof Promise){return obj}else if(isAnyBluebirdPromise(obj)){var ret=new Promise(INTERNAL);ret._setTrace(void 0);obj._then(ret._fulfillUnchecked,ret._rejectUncheckedCheckError,ret._progressUnchecked,ret,null);ret._setFollowing();return ret}var then=getThen(obj);if(then===errorObj){if(originalPromise!==void 0&&canAttach(then.e)){originalPromise._attachExtraTrace(then.e)}return Promise.reject(then.e)}else if(typeof then==="function"){return Promise$_doThenable(obj,then,originalPromise)}}return obj}var hasProp={}.hasOwnProperty;function isAnyBluebirdPromise(obj){return hasProp.call(obj,"_promise0")}function Promise$_doThenable(x,then,originalPromise){var resolver=Promise.defer();var called=false;try{then.call(x,Promise$_resolveFromThenable,Promise$_rejectFromThenable,Promise$_progressFromThenable)}catch(e){if(!called){called=true;var trace=canAttach(e)?e:new Error(e+"");if(originalPromise!==void 0){originalPromise._attachExtraTrace(trace)}resolver.promise._reject(e,trace)}}return resolver.promise;function Promise$_resolveFromThenable(y){if(called)return;called=true;if(x===y){var e=Promise._makeSelfResolutionError();if(originalPromise!==void 0){originalPromise._attachExtraTrace(e)}resolver.promise._reject(e,void 0);return}resolver.resolve(y)}function Promise$_rejectFromThenable(r){if(called)return;called=true;var trace=canAttach(r)?r:new Error(r+"");if(originalPromise!==void 0){originalPromise._attachExtraTrace(trace)}resolver.promise._reject(r,trace)}function Promise$_progressFromThenable(v){if(called)return;var promise=resolver.promise;if(typeof promise._progress==="function"){promise._progress(v)}}}return Promise$_Cast}},{"./errors.js":15,"./util.js":40}],38:[function(require,module,exports){"use strict";var _setTimeout=function(fn,ms){var len=arguments.length;var arg0=arguments[2];var arg1=arguments[3];var arg2=len>=5?arguments[4]:void 0;return setTimeout(function(){fn(arg0,arg1,arg2)},ms|0)};module.exports=function(Promise,INTERNAL,cast){var util=require("./util.js");var errors=require("./errors.js");var apiRejection=require("./errors_api_rejection")(Promise);var TimeoutError=Promise.TimeoutError;var afterTimeout=function Promise$_afterTimeout(promise,message,ms){if(!promise.isPending())return;if(typeof message!=="string"){message="operation timed out after"+" "+ms+" ms"}var err=new TimeoutError(message);errors.markAsOriginatingFromRejection(err);promise._attachExtraTrace(err);promise._cancel(err)};var afterDelay=function Promise$_afterDelay(value,promise){promise._fulfill(value)};var delay=Promise.delay=function Promise$Delay(value,ms){if(ms===void 0){ms=value;value=void 0}ms=+ms;var maybePromise=cast(value,void 0);var promise=new Promise(INTERNAL);if(maybePromise instanceof Promise){promise._propagateFrom(maybePromise,7);promise._follow(maybePromise);return promise.then(function(value){return Promise.delay(value,ms)})}else{promise._setTrace(void 0);_setTimeout(afterDelay,ms,value,promise)}return promise};Promise.prototype.delay=function Promise$delay(ms){return delay(this,ms)};function successClear(value){var handle=this;if(handle instanceof Number)handle=+handle;clearTimeout(handle);return value}function failureClear(reason){var handle=this;if(handle instanceof Number)handle=+handle;clearTimeout(handle);throw reason}Promise.prototype.timeout=function Promise$timeout(ms,message){ms=+ms;var ret=new Promise(INTERNAL);ret._propagateFrom(this,7);ret._follow(this);var handle=_setTimeout(afterTimeout,ms,ret,message,ms);return ret.cancellable()._then(successClear,failureClear,void 0,handle,void 0)}}},{"./errors.js":15,"./errors_api_rejection":16,"./util.js":40}],39:[function(require,module,exports){"use strict";module.exports=function(Promise,apiRejection,cast){var TypeError=require("./errors.js").TypeError;var inherits=require("./util.js").inherits;var PromiseInspection=Promise.PromiseInspection;function inspectionMapper(inspections){var len=inspections.length;for(var i=0;i<len;++i){var inspection=inspections[i];if(inspection.isRejected()){return Promise.reject(inspection.error())}inspections[i]=inspection.value()}return inspections}function thrower(e){setTimeout(function(){throw e},0)}function castPreservingDisposable(thenable){var maybePromise=cast(thenable,void 0);if(maybePromise!==thenable&&typeof thenable._isDisposable==="function"&&typeof thenable._getDisposer==="function"&&thenable._isDisposable()){maybePromise._setDisposable(thenable._getDisposer())}return maybePromise}function dispose(resources,inspection){var i=0;var len=resources.length;var ret=Promise.defer();function iterator(){if(i>=len)return ret.resolve();var maybePromise=castPreservingDisposable(resources[i++]);if(maybePromise instanceof Promise&&maybePromise._isDisposable()){try{maybePromise=cast(maybePromise._getDisposer().tryDispose(inspection),void 0)}catch(e){return thrower(e)}if(maybePromise instanceof Promise){return maybePromise._then(iterator,thrower,null,null,null)}}iterator()}iterator();return ret.promise}function disposerSuccess(value){var inspection=new PromiseInspection;inspection._settledValue=value;inspection._bitField=268435456;return dispose(this,inspection).thenReturn(value)}function disposerFail(reason){var inspection=new PromiseInspection;inspection._settledValue=reason;inspection._bitField=134217728;return dispose(this,inspection).thenThrow(reason)}function Disposer(data,promise){this._data=data;this._promise=promise}Disposer.prototype.data=function Disposer$data(){return this._data};Disposer.prototype.promise=function Disposer$promise(){return this._promise};Disposer.prototype.resource=function Disposer$resource(){if(this.promise().isFulfilled()){return this.promise().value()}return null};Disposer.prototype.tryDispose=function(inspection){var resource=this.resource();var ret=resource!==null?this.doDispose(resource,inspection):null;this._promise._unsetDisposable();this._data=this._promise=null;return ret};Disposer.isDisposer=function Disposer$isDisposer(d){return d!=null&&typeof d.resource==="function"&&typeof d.tryDispose==="function"};function FunctionDisposer(fn,promise){this.constructor$(fn,promise)}inherits(FunctionDisposer,Disposer);FunctionDisposer.prototype.doDispose=function(resource,inspection){var fn=this.data();return fn.call(resource,resource,inspection)};Promise.using=function Promise$using(){var len=arguments.length;if(len<2)return apiRejection("you must pass at least 2 arguments to Promise.using");var fn=arguments[len-1];if(typeof fn!=="function")return apiRejection("fn must be a function");len--;var resources=new Array(len);for(var i=0;i<len;++i){var resource=arguments[i];if(Disposer.isDisposer(resource)){var disposer=resource;resource=resource.promise();resource._setDisposable(disposer)}resources[i]=resource}return Promise.settle(resources).then(inspectionMapper).spread(fn)._then(disposerSuccess,disposerFail,void 0,resources,void 0)};Promise.prototype._setDisposable=function Promise$_setDisposable(disposer){this._bitField=this._bitField|262144;this._disposer=disposer};Promise.prototype._isDisposable=function Promise$_isDisposable(){return(this._bitField&262144)>0};Promise.prototype._getDisposer=function Promise$_getDisposer(){return this._disposer};Promise.prototype._unsetDisposable=function Promise$_unsetDisposable(){this._bitField=this._bitField&~262144;this._disposer=void 0};Promise.prototype.disposer=function Promise$disposer(fn){if(typeof fn==="function"){return new FunctionDisposer(fn,this)}throw new TypeError}}},{"./errors.js":15,"./util.js":40}],40:[function(require,module,exports){"use strict";var es5=require("./es5.js");var haveGetters=function(){try{var o={};es5.defineProperty(o,"f",{get:function(){return 3}});return o.f===3}catch(e){return false}}();var canEvaluate=typeof navigator=="undefined";var errorObj={e:{}};function tryCatch1(fn,receiver,arg){try{return fn.call(receiver,arg)}catch(e){errorObj.e=e;return errorObj}}function tryCatch2(fn,receiver,arg,arg2){try{return fn.call(receiver,arg,arg2)}catch(e){errorObj.e=e;return errorObj}}function tryCatch3(fn,receiver,arg,arg2,arg3){try{return fn.call(receiver,arg,arg2,arg3)}catch(e){errorObj.e=e;return errorObj}}function tryCatch4(fn,receiver,arg,arg2,arg3,arg4){try{return fn.call(receiver,arg,arg2,arg3,arg4)}catch(e){errorObj.e=e;return errorObj}}function tryCatchApply(fn,args,receiver){try{return fn.apply(receiver,args)}catch(e){errorObj.e=e;return errorObj}}var inherits=function(Child,Parent){var hasProp={}.hasOwnProperty;function T(){this.constructor=Child;this.constructor$=Parent;for(var propertyName in Parent.prototype){if(hasProp.call(Parent.prototype,propertyName)&&propertyName.charAt(propertyName.length-1)!=="$"){this[propertyName+"$"]=Parent.prototype[propertyName]}}}T.prototype=Parent.prototype;Child.prototype=new T;return Child.prototype};function asString(val){return typeof val==="string"?val:""+val}function isPrimitive(val){return val==null||val===true||val===false||typeof val==="string"||typeof val==="number"}function isObject(value){return!isPrimitive(value)}function maybeWrapAsError(maybeError){if(!isPrimitive(maybeError))return maybeError;return new Error(asString(maybeError))}function withAppended(target,appendee){var len=target.length;var ret=new Array(len+1);var i;for(i=0;i<len;++i){ret[i]=target[i]}ret[i]=appendee;return ret}function getDataPropertyOrDefault(obj,key,defaultValue){if(es5.isES5){var desc=Object.getOwnPropertyDescriptor(obj,key);if(desc!=null){return desc.get==null&&desc.set==null?desc.value:defaultValue}}else{return{}.hasOwnProperty.call(obj,key)?obj[key]:void 0}}function notEnumerableProp(obj,name,value){if(isPrimitive(obj))return obj;var descriptor={value:value,configurable:true,enumerable:false,writable:true};es5.defineProperty(obj,name,descriptor);return obj}var wrapsPrimitiveReceiver=function(){return this!=="string"}.call("string");function thrower(r){throw r}var inheritedDataKeys=function(){if(es5.isES5){return function(obj,opts){var ret=[];var visitedKeys=Object.create(null);var getKeys=Object(opts).includeHidden?Object.getOwnPropertyNames:Object.keys;while(obj!=null){var keys;try{keys=getKeys(obj)}catch(e){return ret}for(var i=0;i<keys.length;++i){var key=keys[i];if(visitedKeys[key])continue;visitedKeys[key]=true;var desc=Object.getOwnPropertyDescriptor(obj,key);if(desc!=null&&desc.get==null&&desc.set==null){ret.push(key)}}obj=es5.getPrototypeOf(obj)}return ret}}else{return function(obj){var ret=[];for(var key in obj){ret.push(key)}return ret}}}();function isClass(fn){try{if(typeof fn==="function"){var keys=es5.keys(fn.prototype);return keys.length>0&&!(keys.length===1&&keys[0]==="constructor")}return false}catch(e){return false}}function toFastProperties(obj){function f(){}f.prototype=obj;return f;eval(obj)}var rident=/^[a-z$_][a-z$_0-9]*$/i;function isIdentifier(str){return rident.test(str)}function filledRange(count,prefix,suffix){var ret=new Array(count);for(var i=0;i<count;++i){ret[i]=prefix+i+suffix}return ret}var ret={isClass:isClass,isIdentifier:isIdentifier,inheritedDataKeys:inheritedDataKeys,getDataPropertyOrDefault:getDataPropertyOrDefault,thrower:thrower,isArray:es5.isArray,haveGetters:haveGetters,notEnumerableProp:notEnumerableProp,isPrimitive:isPrimitive,isObject:isObject,canEvaluate:canEvaluate,errorObj:errorObj,tryCatch1:tryCatch1,tryCatch2:tryCatch2,tryCatch3:tryCatch3,tryCatch4:tryCatch4,tryCatchApply:tryCatchApply,inherits:inherits,withAppended:withAppended,asString:asString,maybeWrapAsError:maybeWrapAsError,wrapsPrimitiveReceiver:wrapsPrimitiveReceiver,toFastProperties:toFastProperties,filledRange:filledRange};module.exports=ret},{"./es5.js":17}],41:[function(require,module,exports){module.exports={"Aacute;":"Á",Aacute:"Á","aacute;":"á",aacute:"á","Abreve;":"Ă","abreve;":"ă","ac;":"∾","acd;":"∿","acE;":"∾̳","Acirc;":"Â",Acirc:"Â","acirc;":"â",acirc:"â","acute;":"´",acute:"´","Acy;":"А","acy;":"а","AElig;":"Æ",AElig:"Æ","aelig;":"æ",aelig:"æ","af;":"⁡","Afr;":"𝔄","afr;":"𝔞","Agrave;":"À",Agrave:"À","agrave;":"à",agrave:"à","alefsym;":"ℵ","aleph;":"ℵ","Alpha;":"Α","alpha;":"α","Amacr;":"Ā","amacr;":"ā","amalg;":"⨿","AMP;":"&",AMP:"&","amp;":"&",amp:"&","And;":"⩓","and;":"∧","andand;":"⩕","andd;":"⩜","andslope;":"⩘","andv;":"⩚","ang;":"∠","ange;":"⦤","angle;":"∠","angmsd;":"∡","angmsdaa;":"⦨","angmsdab;":"⦩","angmsdac;":"⦪","angmsdad;":"⦫","angmsdae;":"⦬","angmsdaf;":"⦭","angmsdag;":"⦮","angmsdah;":"⦯","angrt;":"∟","angrtvb;":"⊾","angrtvbd;":"⦝","angsph;":"∢","angst;":"Å","angzarr;":"⍼","Aogon;":"Ą","aogon;":"ą","Aopf;":"𝔸","aopf;":"𝕒","ap;":"≈","apacir;":"⩯","apE;":"⩰","ape;":"≊","apid;":"≋","apos;":"'","ApplyFunction;":"⁡","approx;":"≈","approxeq;":"≊","Aring;":"Å",Aring:"Å","aring;":"å",aring:"å","Ascr;":"𝒜","ascr;":"𝒶","Assign;":"≔","ast;":"*","asymp;":"≈","asympeq;":"≍","Atilde;":"Ã",Atilde:"Ã","atilde;":"ã",atilde:"ã","Auml;":"Ä",Auml:"Ä","auml;":"ä",auml:"ä","awconint;":"∳","awint;":"⨑","backcong;":"≌","backepsilon;":"϶","backprime;":"‵","backsim;":"∽","backsimeq;":"⋍","Backslash;":"∖","Barv;":"⫧","barvee;":"⊽","Barwed;":"⌆","barwed;":"⌅","barwedge;":"⌅","bbrk;":"⎵","bbrktbrk;":"⎶","bcong;":"≌","Bcy;":"Б","bcy;":"б","bdquo;":"„","becaus;":"∵","Because;":"∵","because;":"∵","bemptyv;":"⦰","bepsi;":"϶","bernou;":"ℬ","Bernoullis;":"ℬ","Beta;":"Β","beta;":"β","beth;":"ℶ","between;":"≬","Bfr;":"𝔅","bfr;":"𝔟","bigcap;":"⋂","bigcirc;":"◯","bigcup;":"⋃","bigodot;":"⨀","bigoplus;":"⨁","bigotimes;":"⨂","bigsqcup;":"⨆","bigstar;":"★","bigtriangledown;":"▽","bigtriangleup;":"△","biguplus;":"⨄","bigvee;":"⋁","bigwedge;":"⋀","bkarow;":"⤍","blacklozenge;":"⧫","blacksquare;":"▪","blacktriangle;":"▴","blacktriangledown;":"▾","blacktriangleleft;":"◂","blacktriangleright;":"▸","blank;":"␣","blk12;":"▒","blk14;":"░","blk34;":"▓","block;":"█","bne;":"=⃥","bnequiv;":"≡⃥","bNot;":"⫭","bnot;":"⌐","Bopf;":"𝔹","bopf;":"𝕓","bot;":"⊥","bottom;":"⊥","bowtie;":"⋈","boxbox;":"⧉","boxDL;":"╗","boxDl;":"╖","boxdL;":"╕","boxdl;":"┐","boxDR;":"╔","boxDr;":"╓","boxdR;":"╒","boxdr;":"┌","boxH;":"═","boxh;":"─","boxHD;":"╦","boxHd;":"╤","boxhD;":"╥","boxhd;":"┬","boxHU;":"╩","boxHu;":"╧","boxhU;":"╨","boxhu;":"┴","boxminus;":"⊟","boxplus;":"⊞","boxtimes;":"⊠","boxUL;":"╝","boxUl;":"╜","boxuL;":"╛","boxul;":"┘","boxUR;":"╚","boxUr;":"╙","boxuR;":"╘","boxur;":"└","boxV;":"║","boxv;":"│","boxVH;":"╬","boxVh;":"╫","boxvH;":"╪","boxvh;":"┼","boxVL;":"╣","boxVl;":"╢","boxvL;":"╡","boxvl;":"┤","boxVR;":"╠","boxVr;":"╟","boxvR;":"╞","boxvr;":"├","bprime;":"‵","Breve;":"˘","breve;":"˘","brvbar;":"¦",brvbar:"¦","Bscr;":"ℬ","bscr;":"𝒷","bsemi;":"⁏","bsim;":"∽","bsime;":"⋍","bsol;":"\\","bsolb;":"⧅","bsolhsub;":"⟈","bull;":"•","bullet;":"•","bump;":"≎","bumpE;":"⪮","bumpe;":"≏","Bumpeq;":"≎","bumpeq;":"≏","Cacute;":"Ć","cacute;":"ć","Cap;":"⋒","cap;":"∩","capand;":"⩄","capbrcup;":"⩉","capcap;":"⩋","capcup;":"⩇","capdot;":"⩀","CapitalDifferentialD;":"ⅅ","caps;":"∩︀","caret;":"⁁","caron;":"ˇ","Cayleys;":"ℭ","ccaps;":"⩍","Ccaron;":"Č","ccaron;":"č","Ccedil;":"Ç",Ccedil:"Ç","ccedil;":"ç",ccedil:"ç","Ccirc;":"Ĉ","ccirc;":"ĉ","Cconint;":"∰","ccups;":"⩌","ccupssm;":"⩐","Cdot;":"Ċ","cdot;":"ċ","cedil;":"¸",cedil:"¸","Cedilla;":"¸","cemptyv;":"⦲","cent;":"¢",cent:"¢","CenterDot;":"·","centerdot;":"·","Cfr;":"ℭ","cfr;":"𝔠","CHcy;":"Ч","chcy;":"ч","check;":"✓","checkmark;":"✓","Chi;":"Χ","chi;":"χ","cir;":"○","circ;":"ˆ","circeq;":"≗","circlearrowleft;":"↺","circlearrowright;":"↻","circledast;":"⊛","circledcirc;":"⊚","circleddash;":"⊝","CircleDot;":"⊙","circledR;":"®","circledS;":"Ⓢ","CircleMinus;":"⊖","CirclePlus;":"⊕","CircleTimes;":"⊗","cirE;":"⧃","cire;":"≗","cirfnint;":"⨐","cirmid;":"⫯","cirscir;":"⧂","ClockwiseContourIntegral;":"∲","CloseCurlyDoubleQuote;":"”","CloseCurlyQuote;":"’","clubs;":"♣","clubsuit;":"♣","Colon;":"∷","colon;":":","Colone;":"⩴","colone;":"≔","coloneq;":"≔","comma;":",","commat;":"@","comp;":"∁","compfn;":"∘","complement;":"∁","complexes;":"ℂ","cong;":"≅","congdot;":"⩭","Congruent;":"≡","Conint;":"∯","conint;":"∮","ContourIntegral;":"∮","Copf;":"ℂ","copf;":"𝕔","coprod;":"∐","Coproduct;":"∐","COPY;":"©",COPY:"©","copy;":"©",copy:"©","copysr;":"℗","CounterClockwiseContourIntegral;":"∳","crarr;":"↵","Cross;":"⨯","cross;":"✗","Cscr;":"𝒞","cscr;":"𝒸","csub;":"⫏","csube;":"⫑","csup;":"⫐","csupe;":"⫒","ctdot;":"⋯","cudarrl;":"⤸","cudarrr;":"⤵","cuepr;":"⋞","cuesc;":"⋟","cularr;":"↶","cularrp;":"⤽","Cup;":"⋓","cup;":"∪","cupbrcap;":"⩈","CupCap;":"≍","cupcap;":"⩆","cupcup;":"⩊","cupdot;":"⊍","cupor;":"⩅","cups;":"∪︀","curarr;":"↷","curarrm;":"⤼","curlyeqprec;":"⋞","curlyeqsucc;":"⋟","curlyvee;":"⋎","curlywedge;":"⋏","curren;":"¤",curren:"¤","curvearrowleft;":"↶","curvearrowright;":"↷","cuvee;":"⋎","cuwed;":"⋏","cwconint;":"∲","cwint;":"∱","cylcty;":"⌭","Dagger;":"‡","dagger;":"†","daleth;":"ℸ","Darr;":"↡","dArr;":"⇓","darr;":"↓","dash;":"‐","Dashv;":"⫤","dashv;":"⊣","dbkarow;":"⤏","dblac;":"˝","Dcaron;":"Ď","dcaron;":"ď","Dcy;":"Д","dcy;":"д","DD;":"ⅅ","dd;":"ⅆ","ddagger;":"‡","ddarr;":"⇊","DDotrahd;":"⤑","ddotseq;":"⩷","deg;":"°",deg:"°","Del;":"∇","Delta;":"Δ","delta;":"δ","demptyv;":"⦱","dfisht;":"⥿","Dfr;":"𝔇","dfr;":"𝔡","dHar;":"⥥","dharl;":"⇃","dharr;":"⇂","DiacriticalAcute;":"´","DiacriticalDot;":"˙","DiacriticalDoubleAcute;":"˝","DiacriticalGrave;":"`","DiacriticalTilde;":"˜","diam;":"⋄","Diamond;":"⋄","diamond;":"⋄","diamondsuit;":"♦","diams;":"♦","die;":"¨","DifferentialD;":"ⅆ","digamma;":"ϝ","disin;":"⋲","div;":"÷","divide;":"÷",divide:"÷","divideontimes;":"⋇","divonx;":"⋇","DJcy;":"Ђ","djcy;":"ђ","dlcorn;":"⌞","dlcrop;":"⌍","dollar;":"$","Dopf;":"𝔻","dopf;":"𝕕","Dot;":"¨","dot;":"˙","DotDot;":"⃜","doteq;":"≐","doteqdot;":"≑","DotEqual;":"≐","dotminus;":"∸","dotplus;":"∔","dotsquare;":"⊡","doublebarwedge;":"⌆","DoubleContourIntegral;":"∯","DoubleDot;":"¨","DoubleDownArrow;":"⇓","DoubleLeftArrow;":"⇐","DoubleLeftRightArrow;":"⇔","DoubleLeftTee;":"⫤","DoubleLongLeftArrow;":"⟸","DoubleLongLeftRightArrow;":"⟺","DoubleLongRightArrow;":"⟹","DoubleRightArrow;":"⇒","DoubleRightTee;":"⊨","DoubleUpArrow;":"⇑","DoubleUpDownArrow;":"⇕","DoubleVerticalBar;":"∥","DownArrow;":"↓","Downarrow;":"⇓","downarrow;":"↓","DownArrowBar;":"⤓","DownArrowUpArrow;":"⇵","DownBreve;":"̑","downdownarrows;":"⇊","downharpoonleft;":"⇃","downharpoonright;":"⇂","DownLeftRightVector;":"⥐","DownLeftTeeVector;":"⥞","DownLeftVector;":"↽","DownLeftVectorBar;":"⥖","DownRightTeeVector;":"⥟","DownRightVector;":"⇁","DownRightVectorBar;":"⥗","DownTee;":"⊤","DownTeeArrow;":"↧","drbkarow;":"⤐","drcorn;":"⌟","drcrop;":"⌌","Dscr;":"𝒟","dscr;":"𝒹","DScy;":"Ѕ","dscy;":"ѕ","dsol;":"⧶","Dstrok;":"Đ","dstrok;":"đ","dtdot;":"⋱","dtri;":"▿","dtrif;":"▾","duarr;":"⇵","duhar;":"⥯","dwangle;":"⦦","DZcy;":"Џ","dzcy;":"џ","dzigrarr;":"⟿","Eacute;":"É",Eacute:"É","eacute;":"é",eacute:"é","easter;":"⩮","Ecaron;":"Ě","ecaron;":"ě","ecir;":"≖","Ecirc;":"Ê",Ecirc:"Ê","ecirc;":"ê",ecirc:"ê","ecolon;":"≕","Ecy;":"Э","ecy;":"э","eDDot;":"⩷","Edot;":"Ė","eDot;":"≑","edot;":"ė","ee;":"ⅇ","efDot;":"≒","Efr;":"𝔈","efr;":"𝔢","eg;":"⪚","Egrave;":"È",Egrave:"È","egrave;":"è",egrave:"è","egs;":"⪖","egsdot;":"⪘","el;":"⪙","Element;":"∈","elinters;":"⏧","ell;":"ℓ","els;":"⪕","elsdot;":"⪗","Emacr;":"Ē","emacr;":"ē","empty;":"∅","emptyset;":"∅","EmptySmallSquare;":"◻","emptyv;":"∅","EmptyVerySmallSquare;":"▫","emsp;":" ","emsp13;":" ","emsp14;":" ","ENG;":"Ŋ","eng;":"ŋ","ensp;":" ","Eogon;":"Ę","eogon;":"ę","Eopf;":"𝔼","eopf;":"𝕖","epar;":"⋕","eparsl;":"⧣","eplus;":"⩱","epsi;":"ε","Epsilon;":"Ε","epsilon;":"ε","epsiv;":"ϵ","eqcirc;":"≖","eqcolon;":"≕","eqsim;":"≂","eqslantgtr;":"⪖","eqslantless;":"⪕","Equal;":"⩵","equals;":"=","EqualTilde;":"≂","equest;":"≟","Equilibrium;":"⇌","equiv;":"≡","equivDD;":"⩸","eqvparsl;":"⧥","erarr;":"⥱","erDot;":"≓","Escr;":"ℰ","escr;":"ℯ","esdot;":"≐","Esim;":"⩳","esim;":"≂","Eta;":"Η","eta;":"η","ETH;":"Ð",ETH:"Ð","eth;":"ð",eth:"ð","Euml;":"Ë",Euml:"Ë","euml;":"ë",euml:"ë","euro;":"€","excl;":"!","exist;":"∃","Exists;":"∃","expectation;":"ℰ","ExponentialE;":"ⅇ","exponentiale;":"ⅇ","fallingdotseq;":"≒","Fcy;":"Ф","fcy;":"ф","female;":"♀","ffilig;":"ffi","fflig;":"ff","ffllig;":"ffl","Ffr;":"𝔉","ffr;":"𝔣","filig;":"fi","FilledSmallSquare;":"◼","FilledVerySmallSquare;":"▪","fjlig;":"fj","flat;":"♭","fllig;":"fl","fltns;":"▱","fnof;":"ƒ","Fopf;":"𝔽","fopf;":"𝕗","ForAll;":"∀","forall;":"∀","fork;":"⋔","forkv;":"⫙","Fouriertrf;":"ℱ","fpartint;":"⨍","frac12;":"½",frac12:"½","frac13;":"⅓","frac14;":"¼",frac14:"¼","frac15;":"⅕","frac16;":"⅙","frac18;":"⅛","frac23;":"⅔","frac25;":"⅖","frac34;":"¾",frac34:"¾","frac35;":"⅗","frac38;":"⅜","frac45;":"⅘","frac56;":"⅚","frac58;":"⅝","frac78;":"⅞","frasl;":"⁄","frown;":"⌢","Fscr;":"ℱ","fscr;":"𝒻","gacute;":"ǵ","Gamma;":"Γ","gamma;":"γ","Gammad;":"Ϝ","gammad;":"ϝ","gap;":"⪆","Gbreve;":"Ğ","gbreve;":"ğ","Gcedil;":"Ģ","Gcirc;":"Ĝ","gcirc;":"ĝ","Gcy;":"Г","gcy;":"г","Gdot;":"Ġ","gdot;":"ġ","gE;":"≧","ge;":"≥","gEl;":"⪌","gel;":"⋛","geq;":"≥","geqq;":"≧","geqslant;":"⩾","ges;":"⩾","gescc;":"⪩","gesdot;":"⪀","gesdoto;":"⪂","gesdotol;":"⪄","gesl;":"⋛︀","gesles;":"⪔","Gfr;":"𝔊","gfr;":"𝔤","Gg;":"⋙","gg;":"≫","ggg;":"⋙","gimel;":"ℷ","GJcy;":"Ѓ","gjcy;":"ѓ","gl;":"≷","gla;":"⪥","glE;":"⪒","glj;":"⪤","gnap;":"⪊","gnapprox;":"⪊","gnE;":"≩","gne;":"⪈","gneq;":"⪈","gneqq;":"≩","gnsim;":"⋧","Gopf;":"𝔾","gopf;":"𝕘","grave;":"`","GreaterEqual;":"≥","GreaterEqualLess;":"⋛","GreaterFullEqual;":"≧","GreaterGreater;":"⪢","GreaterLess;":"≷","GreaterSlantEqual;":"⩾","GreaterTilde;":"≳","Gscr;":"𝒢","gscr;":"ℊ","gsim;":"≳","gsime;":"⪎","gsiml;":"⪐","GT;":">",GT:">","Gt;":"≫","gt;":">",gt:">","gtcc;":"⪧","gtcir;":"⩺","gtdot;":"⋗","gtlPar;":"⦕","gtquest;":"⩼","gtrapprox;":"⪆","gtrarr;":"⥸","gtrdot;":"⋗","gtreqless;":"⋛","gtreqqless;":"⪌","gtrless;":"≷","gtrsim;":"≳","gvertneqq;":"≩︀","gvnE;":"≩︀","Hacek;":"ˇ","hairsp;":" ","half;":"½","hamilt;":"ℋ","HARDcy;":"Ъ","hardcy;":"ъ","hArr;":"⇔","harr;":"↔","harrcir;":"⥈","harrw;":"↭","Hat;":"^","hbar;":"ℏ","Hcirc;":"Ĥ","hcirc;":"ĥ","hearts;":"♥","heartsuit;":"♥","hellip;":"…","hercon;":"⊹","Hfr;":"ℌ","hfr;":"𝔥","HilbertSpace;":"ℋ","hksearow;":"⤥","hkswarow;":"⤦","hoarr;":"⇿","homtht;":"∻","hookleftarrow;":"↩","hookrightarrow;":"↪","Hopf;":"ℍ","hopf;":"𝕙","horbar;":"―","HorizontalLine;":"─","Hscr;":"ℋ","hscr;":"𝒽","hslash;":"ℏ","Hstrok;":"Ħ","hstrok;":"ħ","HumpDownHump;":"≎","HumpEqual;":"≏","hybull;":"⁃","hyphen;":"‐","Iacute;":"Í",Iacute:"Í","iacute;":"í",iacute:"í","ic;":"⁣","Icirc;":"Î",Icirc:"Î","icirc;":"î",icirc:"î","Icy;":"И","icy;":"и","Idot;":"İ","IEcy;":"Е","iecy;":"е","iexcl;":"¡",iexcl:"¡","iff;":"⇔","Ifr;":"ℑ","ifr;":"𝔦","Igrave;":"Ì",Igrave:"Ì","igrave;":"ì",igrave:"ì","ii;":"ⅈ","iiiint;":"⨌","iiint;":"∭","iinfin;":"⧜","iiota;":"℩","IJlig;":"IJ","ijlig;":"ij","Im;":"ℑ","Imacr;":"Ī","imacr;":"ī","image;":"ℑ","ImaginaryI;":"ⅈ","imagline;":"ℐ","imagpart;":"ℑ","imath;":"ı","imof;":"⊷","imped;":"Ƶ","Implies;":"⇒","in;":"∈","incare;":"℅","infin;":"∞","infintie;":"⧝","inodot;":"ı","Int;":"∬","int;":"∫","intcal;":"⊺","integers;":"ℤ","Integral;":"∫","intercal;":"⊺","Intersection;":"⋂","intlarhk;":"⨗","intprod;":"⨼","InvisibleComma;":"⁣","InvisibleTimes;":"⁢","IOcy;":"Ё","iocy;":"ё","Iogon;":"Į","iogon;":"į","Iopf;":"𝕀","iopf;":"𝕚","Iota;":"Ι","iota;":"ι","iprod;":"⨼","iquest;":"¿",iquest:"¿","Iscr;":"ℐ","iscr;":"𝒾","isin;":"∈","isindot;":"⋵","isinE;":"⋹","isins;":"⋴","isinsv;":"⋳","isinv;":"∈","it;":"⁢","Itilde;":"Ĩ","itilde;":"ĩ","Iukcy;":"І","iukcy;":"і","Iuml;":"Ï",Iuml:"Ï","iuml;":"ï",iuml:"ï","Jcirc;":"Ĵ","jcirc;":"ĵ","Jcy;":"Й","jcy;":"й","Jfr;":"𝔍","jfr;":"𝔧","jmath;":"ȷ","Jopf;":"𝕁","jopf;":"𝕛","Jscr;":"𝒥","jscr;":"𝒿","Jsercy;":"Ј","jsercy;":"ј","Jukcy;":"Є","jukcy;":"є","Kappa;":"Κ","kappa;":"κ","kappav;":"ϰ","Kcedil;":"Ķ","kcedil;":"ķ","Kcy;":"К","kcy;":"к","Kfr;":"𝔎","kfr;":"𝔨","kgreen;":"ĸ","KHcy;":"Х","khcy;":"х","KJcy;":"Ќ","kjcy;":"ќ","Kopf;":"𝕂","kopf;":"𝕜","Kscr;":"𝒦","kscr;":"𝓀","lAarr;":"⇚","Lacute;":"Ĺ","lacute;":"ĺ","laemptyv;":"⦴","lagran;":"ℒ","Lambda;":"Λ","lambda;":"λ","Lang;":"⟪","lang;":"⟨","langd;":"⦑","langle;":"⟨","lap;":"⪅","Laplacetrf;":"ℒ","laquo;":"«",laquo:"«","Larr;":"↞","lArr;":"⇐","larr;":"←","larrb;":"⇤","larrbfs;":"⤟","larrfs;":"⤝","larrhk;":"↩","larrlp;":"↫","larrpl;":"⤹","larrsim;":"⥳","larrtl;":"↢","lat;":"⪫","lAtail;":"⤛","latail;":"⤙","late;":"⪭","lates;":"⪭︀","lBarr;":"⤎","lbarr;":"⤌","lbbrk;":"❲","lbrace;":"{","lbrack;":"[","lbrke;":"⦋","lbrksld;":"⦏","lbrkslu;":"⦍","Lcaron;":"Ľ","lcaron;":"ľ","Lcedil;":"Ļ","lcedil;":"ļ","lceil;":"⌈","lcub;":"{","Lcy;":"Л","lcy;":"л","ldca;":"⤶","ldquo;":"“","ldquor;":"„","ldrdhar;":"⥧","ldrushar;":"⥋","ldsh;":"↲","lE;":"≦","le;":"≤","LeftAngleBracket;":"⟨","LeftArrow;":"←","Leftarrow;":"⇐","leftarrow;":"←","LeftArrowBar;":"⇤","LeftArrowRightArrow;":"⇆","leftarrowtail;":"↢","LeftCeiling;":"⌈","LeftDoubleBracket;":"⟦","LeftDownTeeVector;":"⥡","LeftDownVector;":"⇃","LeftDownVectorBar;":"⥙","LeftFloor;":"⌊","leftharpoondown;":"↽","leftharpoonup;":"↼","leftleftarrows;":"⇇","LeftRightArrow;":"↔","Leftrightarrow;":"⇔","leftrightarrow;":"↔","leftrightarrows;":"⇆","leftrightharpoons;":"⇋","leftrightsquigarrow;":"↭","LeftRightVector;":"⥎","LeftTee;":"⊣","LeftTeeArrow;":"↤","LeftTeeVector;":"⥚","leftthreetimes;":"⋋","LeftTriangle;":"⊲","LeftTriangleBar;":"⧏","LeftTriangleEqual;":"⊴","LeftUpDownVector;":"⥑","LeftUpTeeVector;":"⥠","LeftUpVector;":"↿","LeftUpVectorBar;":"⥘","LeftVector;":"↼","LeftVectorBar;":"⥒","lEg;":"⪋","leg;":"⋚","leq;":"≤","leqq;":"≦","leqslant;":"⩽","les;":"⩽","lescc;":"⪨","lesdot;":"⩿","lesdoto;":"⪁","lesdotor;":"⪃","lesg;":"⋚︀","lesges;":"⪓","lessapprox;":"⪅","lessdot;":"⋖","lesseqgtr;":"⋚","lesseqqgtr;":"⪋","LessEqualGreater;":"⋚","LessFullEqual;":"≦","LessGreater;":"≶","lessgtr;":"≶","LessLess;":"⪡","lesssim;":"≲","LessSlantEqual;":"⩽","LessTilde;":"≲","lfisht;":"⥼","lfloor;":"⌊","Lfr;":"𝔏","lfr;":"𝔩","lg;":"≶","lgE;":"⪑","lHar;":"⥢","lhard;":"↽","lharu;":"↼","lharul;":"⥪","lhblk;":"▄","LJcy;":"Љ","ljcy;":"љ","Ll;":"⋘","ll;":"≪","llarr;":"⇇","llcorner;":"⌞","Lleftarrow;":"⇚","llhard;":"⥫","lltri;":"◺","Lmidot;":"Ŀ","lmidot;":"ŀ","lmoust;":"⎰","lmoustache;":"⎰","lnap;":"⪉","lnapprox;":"⪉","lnE;":"≨","lne;":"⪇","lneq;":"⪇","lneqq;":"≨","lnsim;":"⋦","loang;":"⟬","loarr;":"⇽","lobrk;":"⟦","LongLeftArrow;":"⟵","Longleftarrow;":"⟸","longleftarrow;":"⟵","LongLeftRightArrow;":"⟷","Longleftrightarrow;":"⟺","longleftrightarrow;":"⟷","longmapsto;":"⟼","LongRightArrow;":"⟶","Longrightarrow;":"⟹","longrightarrow;":"⟶","looparrowleft;":"↫","looparrowright;":"↬","lopar;":"⦅","Lopf;":"𝕃","lopf;":"𝕝","loplus;":"⨭","lotimes;":"⨴","lowast;":"∗","lowbar;":"_","LowerLeftArrow;":"↙","LowerRightArrow;":"↘","loz;":"◊","lozenge;":"◊","lozf;":"⧫","lpar;":"(","lparlt;":"⦓","lrarr;":"⇆","lrcorner;":"⌟","lrhar;":"⇋","lrhard;":"⥭","lrm;":"‎","lrtri;":"⊿","lsaquo;":"‹","Lscr;":"ℒ","lscr;":"𝓁","Lsh;":"↰","lsh;":"↰","lsim;":"≲","lsime;":"⪍","lsimg;":"⪏","lsqb;":"[","lsquo;":"‘","lsquor;":"‚","Lstrok;":"Ł","lstrok;":"ł","LT;":"<",LT:"<","Lt;":"≪","lt;":"<",lt:"<","ltcc;":"⪦","ltcir;":"⩹","ltdot;":"⋖","lthree;":"⋋","ltimes;":"⋉","ltlarr;":"⥶","ltquest;":"⩻","ltri;":"◃","ltrie;":"⊴","ltrif;":"◂","ltrPar;":"⦖","lurdshar;":"⥊","luruhar;":"⥦","lvertneqq;":"≨︀","lvnE;":"≨︀","macr;":"¯",macr:"¯","male;":"♂","malt;":"✠","maltese;":"✠","Map;":"⤅","map;":"↦","mapsto;":"↦","mapstodown;":"↧","mapstoleft;":"↤","mapstoup;":"↥","marker;":"▮","mcomma;":"⨩","Mcy;":"М","mcy;":"м","mdash;":"—","mDDot;":"∺","measuredangle;":"∡","MediumSpace;":" ","Mellintrf;":"ℳ","Mfr;":"𝔐","mfr;":"𝔪","mho;":"℧","micro;":"µ",micro:"µ","mid;":"∣","midast;":"*","midcir;":"⫰","middot;":"·",middot:"·","minus;":"−","minusb;":"⊟","minusd;":"∸","minusdu;":"⨪","MinusPlus;":"∓","mlcp;":"⫛","mldr;":"…","mnplus;":"∓","models;":"⊧","Mopf;":"𝕄","mopf;":"𝕞","mp;":"∓","Mscr;":"ℳ","mscr;":"𝓂","mstpos;":"∾","Mu;":"Μ","mu;":"μ","multimap;":"⊸","mumap;":"⊸","nabla;":"∇","Nacute;":"Ń","nacute;":"ń","nang;":"∠⃒","nap;":"≉","napE;":"⩰̸","napid;":"≋̸","napos;":"ʼn","napprox;":"≉","natur;":"♮","natural;":"♮","naturals;":"ℕ","nbsp;":" ",nbsp:" ","nbump;":"≎̸","nbumpe;":"≏̸","ncap;":"⩃","Ncaron;":"Ň","ncaron;":"ň","Ncedil;":"Ņ","ncedil;":"ņ","ncong;":"≇","ncongdot;":"⩭̸","ncup;":"⩂","Ncy;":"Н","ncy;":"н","ndash;":"–","ne;":"≠","nearhk;":"⤤","neArr;":"⇗","nearr;":"↗","nearrow;":"↗","nedot;":"≐̸","NegativeMediumSpace;":"​","NegativeThickSpace;":"​","NegativeThinSpace;":"​","NegativeVeryThinSpace;":"​","nequiv;":"≢","nesear;":"⤨","nesim;":"≂̸","NestedGreaterGreater;":"≫","NestedLessLess;":"≪","NewLine;":"\n","nexist;":"∄","nexists;":"∄","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","ngeq;":"≱","ngeqq;":"≧̸","ngeqslant;":"⩾̸","nges;":"⩾̸","nGg;":"⋙̸","ngsim;":"≵","nGt;":"≫⃒","ngt;":"≯","ngtr;":"≯","nGtv;":"≫̸","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","ni;":"∋","nis;":"⋼","nisd;":"⋺","niv;":"∋","NJcy;":"Њ","njcy;":"њ","nlArr;":"⇍","nlarr;":"↚","nldr;":"‥","nlE;":"≦̸","nle;":"≰","nLeftarrow;":"⇍","nleftarrow;":"↚","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","nleq;":"≰","nleqq;":"≦̸","nleqslant;":"⩽̸","nles;":"⩽̸","nless;":"≮","nLl;":"⋘̸","nlsim;":"≴","nLt;":"≪⃒","nlt;":"≮","nltri;":"⋪","nltrie;":"⋬","nLtv;":"≪̸","nmid;":"∤","NoBreak;":"⁠","NonBreakingSpace;":" ","Nopf;":"ℕ","nopf;":"𝕟","Not;":"⫬","not;":"¬",not:"¬","NotCongruent;":"≢","NotCupCap;":"≭","NotDoubleVerticalBar;":"∦","NotElement;":"∉","NotEqual;":"≠","NotEqualTilde;":"≂̸","NotExists;":"∄","NotGreater;":"≯","NotGreaterEqual;":"≱","NotGreaterFullEqual;":"≧̸","NotGreaterGreater;":"≫̸","NotGreaterLess;":"≹","NotGreaterSlantEqual;":"⩾̸","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotHumpEqual;":"≏̸","notin;":"∉","notindot;":"⋵̸","notinE;":"⋹̸","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLeftTriangle;":"⋪","NotLeftTriangleBar;":"⧏̸","NotLeftTriangleEqual;":"⋬","NotLess;":"≮","NotLessEqual;":"≰","NotLessGreater;":"≸","NotLessLess;":"≪̸","NotLessSlantEqual;":"⩽̸","NotLessTilde;":"≴","NotNestedGreaterGreater;":"⪢̸","NotNestedLessLess;":"⪡̸","notni;":"∌","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","NotPrecedes;":"⊀","NotPrecedesEqual;":"⪯̸","NotPrecedesSlantEqual;":"⋠","NotReverseElement;":"∌","NotRightTriangle;":"⋫","NotRightTriangleBar;":"⧐̸","NotRightTriangleEqual;":"⋭","NotSquareSubset;":"⊏̸","NotSquareSubsetEqual;":"⋢","NotSquareSuperset;":"⊐̸","NotSquareSupersetEqual;":"⋣","NotSubset;":"⊂⃒","NotSubsetEqual;":"⊈","NotSucceeds;":"⊁","NotSucceedsEqual;":"⪰̸","NotSucceedsSlantEqual;":"⋡","NotSucceedsTilde;":"≿̸","NotSuperset;":"⊃⃒","NotSupersetEqual;":"⊉","NotTilde;":"≁","NotTildeEqual;":"≄","NotTildeFullEqual;":"≇","NotTildeTilde;":"≉","NotVerticalBar;":"∤","npar;":"∦","nparallel;":"∦","nparsl;":"⫽⃥","npart;":"∂̸","npolint;":"⨔","npr;":"⊀","nprcue;":"⋠","npre;":"⪯̸","nprec;":"⊀","npreceq;":"⪯̸","nrArr;":"⇏","nrarr;":"↛","nrarrc;":"⤳̸","nrarrw;":"↝̸","nRightarrow;":"⇏","nrightarrow;":"↛","nrtri;":"⋫","nrtrie;":"⋭","nsc;":"⊁","nsccue;":"⋡","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nshortmid;":"∤","nshortparallel;":"∦","nsim;":"≁","nsime;":"≄","nsimeq;":"≄","nsmid;":"∤","nspar;":"∦","nsqsube;":"⋢","nsqsupe;":"⋣","nsub;":"⊄","nsubE;":"⫅̸","nsube;":"⊈","nsubset;":"⊂⃒","nsubseteq;":"⊈","nsubseteqq;":"⫅̸","nsucc;":"⊁","nsucceq;":"⪰̸","nsup;":"⊅","nsupE;":"⫆̸","nsupe;":"⊉","nsupset;":"⊃⃒","nsupseteq;":"⊉","nsupseteqq;":"⫆̸","ntgl;":"≹","Ntilde;":"Ñ",Ntilde:"Ñ","ntilde;":"ñ",ntilde:"ñ","ntlg;":"≸","ntriangleleft;":"⋪","ntrianglelefteq;":"⋬","ntriangleright;":"⋫","ntrianglerighteq;":"⋭","Nu;":"Ν","nu;":"ν","num;":"#","numero;":"№","numsp;":" ","nvap;":"≍⃒","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvge;":"≥⃒","nvgt;":">⃒","nvHarr;":"⤄","nvinfin;":"⧞","nvlArr;":"⤂","nvle;":"≤⃒","nvlt;":"<⃒","nvltrie;":"⊴⃒","nvrArr;":"⤃","nvrtrie;":"⊵⃒","nvsim;":"∼⃒","nwarhk;":"⤣","nwArr;":"⇖","nwarr;":"↖","nwarrow;":"↖","nwnear;":"⤧","Oacute;":"Ó",Oacute:"Ó","oacute;":"ó",oacute:"ó","oast;":"⊛","ocir;":"⊚","Ocirc;":"Ô",Ocirc:"Ô","ocirc;":"ô",ocirc:"ô","Ocy;":"О","ocy;":"о","odash;":"⊝","Odblac;":"Ő","odblac;":"ő","odiv;":"⨸","odot;":"⊙","odsold;":"⦼","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿","Ofr;":"𝔒","ofr;":"𝔬","ogon;":"˛","Ograve;":"Ò",Ograve:"Ò","ograve;":"ò",ograve:"ò","ogt;":"⧁","ohbar;":"⦵","ohm;":"Ω","oint;":"∮","olarr;":"↺","olcir;":"⦾","olcross;":"⦻","oline;":"‾","olt;":"⧀","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","Omicron;":"Ο","omicron;":"ο","omid;":"⦶","ominus;":"⊖","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","OpenCurlyDoubleQuote;":"“","OpenCurlyQuote;":"‘","operp;":"⦹","oplus;":"⊕","Or;":"⩔","or;":"∨","orarr;":"↻","ord;":"⩝","order;":"ℴ","orderof;":"ℴ","ordf;":"ª",ordf:"ª","ordm;":"º",ordm:"º","origof;":"⊶","oror;":"⩖","orslope;":"⩗","orv;":"⩛","oS;":"Ⓢ","Oscr;":"𝒪","oscr;":"ℴ","Oslash;":"Ø",Oslash:"Ø","oslash;":"ø",oslash:"ø","osol;":"⊘","Otilde;":"Õ",Otilde:"Õ","otilde;":"õ",otilde:"õ","Otimes;":"⨷","otimes;":"⊗","otimesas;":"⨶","Ouml;":"Ö",Ouml:"Ö","ouml;":"ö",ouml:"ö","ovbar;":"⌽","OverBar;":"‾","OverBrace;":"⏞","OverBracket;":"⎴","OverParenthesis;":"⏜","par;":"∥","para;":"¶",para:"¶","parallel;":"∥","parsim;":"⫳","parsl;":"⫽","part;":"∂","PartialD;":"∂","Pcy;":"П","pcy;":"п","percnt;":"%","period;":".","permil;":"‰","perp;":"⊥","pertenk;":"‱","Pfr;":"𝔓","pfr;":"𝔭","Phi;":"Φ","phi;":"φ","phiv;":"ϕ","phmmat;":"ℳ","phone;":"☎","Pi;":"Π","pi;":"π","pitchfork;":"⋔","piv;":"ϖ","planck;":"ℏ","planckh;":"ℎ","plankv;":"ℏ","plus;":"+","plusacir;":"⨣","plusb;":"⊞","pluscir;":"⨢","plusdo;":"∔","plusdu;":"⨥","pluse;":"⩲","PlusMinus;":"±","plusmn;":"±",plusmn:"±","plussim;":"⨦","plustwo;":"⨧","pm;":"±","Poincareplane;":"ℌ","pointint;":"⨕","Popf;":"ℙ","popf;":"𝕡","pound;":"£",pound:"£","Pr;":"⪻","pr;":"≺","prap;":"⪷","prcue;":"≼","prE;":"⪳","pre;":"⪯","prec;":"≺","precapprox;":"⪷","preccurlyeq;":"≼","Precedes;":"≺","PrecedesEqual;":"⪯","PrecedesSlantEqual;":"≼","PrecedesTilde;":"≾","preceq;":"⪯","precnapprox;":"⪹","precneqq;":"⪵","precnsim;":"⋨","precsim;":"≾","Prime;":"″","prime;":"′","primes;":"ℙ","prnap;":"⪹","prnE;":"⪵","prnsim;":"⋨","prod;":"∏","Product;":"∏","profalar;":"⌮","profline;":"⌒","profsurf;":"⌓","prop;":"∝","Proportion;":"∷","Proportional;":"∝","propto;":"∝","prsim;":"≾","prurel;":"⊰","Pscr;":"𝒫","pscr;":"𝓅","Psi;":"Ψ","psi;":"ψ","puncsp;":" ","Qfr;":"𝔔","qfr;":"𝔮","qint;":"⨌","Qopf;":"ℚ","qopf;":"𝕢","qprime;":"⁗","Qscr;":"𝒬","qscr;":"𝓆","quaternions;":"ℍ","quatint;":"⨖","quest;":"?","questeq;":"≟","QUOT;":'"',QUOT:'"',"quot;":'"',quot:'"',"rAarr;":"⇛","race;":"∽̱","Racute;":"Ŕ","racute;":"ŕ","radic;":"√","raemptyv;":"⦳","Rang;":"⟫","rang;":"⟩","rangd;":"⦒","range;":"⦥","rangle;":"⟩","raquo;":"»",raquo:"»","Rarr;":"↠","rArr;":"⇒","rarr;":"→","rarrap;":"⥵","rarrb;":"⇥","rarrbfs;":"⤠","rarrc;":"⤳","rarrfs;":"⤞","rarrhk;":"↪","rarrlp;":"↬","rarrpl;":"⥅","rarrsim;":"⥴","Rarrtl;":"⤖","rarrtl;":"↣","rarrw;":"↝","rAtail;":"⤜","ratail;":"⤚","ratio;":"∶","rationals;":"ℚ","RBarr;":"⤐","rBarr;":"⤏","rbarr;":"⤍","rbbrk;":"❳","rbrace;":"}","rbrack;":"]","rbrke;":"⦌","rbrksld;":"⦎","rbrkslu;":"⦐","Rcaron;":"Ř","rcaron;":"ř","Rcedil;":"Ŗ","rcedil;":"ŗ","rceil;":"⌉","rcub;":"}","Rcy;":"Р","rcy;":"р","rdca;":"⤷","rdldhar;":"⥩","rdquo;":"”","rdquor;":"”","rdsh;":"↳","Re;":"ℜ","real;":"ℜ","realine;":"ℛ","realpart;":"ℜ","reals;":"ℝ","rect;":"▭","REG;":"®",REG:"®","reg;":"®",reg:"®","ReverseElement;":"∋","ReverseEquilibrium;":"⇋","ReverseUpEquilibrium;":"⥯","rfisht;":"⥽","rfloor;":"⌋","Rfr;":"ℜ","rfr;":"𝔯","rHar;":"⥤","rhard;":"⇁","rharu;":"⇀","rharul;":"⥬","Rho;":"Ρ","rho;":"ρ","rhov;":"ϱ","RightAngleBracket;":"⟩","RightArrow;":"→","Rightarrow;":"⇒","rightarrow;":"→","RightArrowBar;":"⇥","RightArrowLeftArrow;":"⇄","rightarrowtail;":"↣","RightCeiling;":"⌉","RightDoubleBracket;":"⟧","RightDownTeeVector;":"⥝","RightDownVector;":"⇂","RightDownVectorBar;":"⥕","RightFloor;":"⌋","rightharpoondown;":"⇁","rightharpoonup;":"⇀","rightleftarrows;":"⇄","rightleftharpoons;":"⇌","rightrightarrows;":"⇉","rightsquigarrow;":"↝","RightTee;":"⊢","RightTeeArrow;":"↦","RightTeeVector;":"⥛","rightthreetimes;":"⋌","RightTriangle;":"⊳","RightTriangleBar;":"⧐","RightTriangleEqual;":"⊵","RightUpDownVector;":"⥏","RightUpTeeVector;":"⥜","RightUpVector;":"↾","RightUpVectorBar;":"⥔","RightVector;":"⇀","RightVectorBar;":"⥓","ring;":"˚","risingdotseq;":"≓","rlarr;":"⇄","rlhar;":"⇌","rlm;":"‏","rmoust;":"⎱","rmoustache;":"⎱","rnmid;":"⫮","roang;":"⟭","roarr;":"⇾","robrk;":"⟧","ropar;":"⦆","Ropf;":"ℝ","ropf;":"𝕣","roplus;":"⨮","rotimes;":"⨵","RoundImplies;":"⥰","rpar;":")","rpargt;":"⦔","rppolint;":"⨒","rrarr;":"⇉","Rrightarrow;":"⇛","rsaquo;":"›","Rscr;":"ℛ","rscr;":"𝓇","Rsh;":"↱","rsh;":"↱","rsqb;":"]","rsquo;":"’","rsquor;":"’","rthree;":"⋌","rtimes;":"⋊","rtri;":"▹","rtrie;":"⊵","rtrif;":"▸","rtriltri;":"⧎","RuleDelayed;":"⧴","ruluhar;":"⥨","rx;":"℞","Sacute;":"Ś","sacute;":"ś","sbquo;":"‚","Sc;":"⪼","sc;":"≻","scap;":"⪸","Scaron;":"Š","scaron;":"š","sccue;":"≽","scE;":"⪴","sce;":"⪰","Scedil;":"Ş","scedil;":"ş","Scirc;":"Ŝ","scirc;":"ŝ","scnap;":"⪺","scnE;":"⪶","scnsim;":"⋩","scpolint;":"⨓","scsim;":"≿","Scy;":"С","scy;":"с","sdot;":"⋅","sdotb;":"⊡","sdote;":"⩦","searhk;":"⤥","seArr;":"⇘","searr;":"↘","searrow;":"↘","sect;":"§",sect:"§","semi;":";","seswar;":"⤩","setminus;":"∖","setmn;":"∖","sext;":"✶","Sfr;":"𝔖","sfr;":"𝔰","sfrown;":"⌢","sharp;":"♯","SHCHcy;":"Щ","shchcy;":"щ","SHcy;":"Ш","shcy;":"ш","ShortDownArrow;":"↓","ShortLeftArrow;":"←","shortmid;":"∣","shortparallel;":"∥","ShortRightArrow;":"→","ShortUpArrow;":"↑","shy;":"­",shy:"­","Sigma;":"Σ","sigma;":"σ","sigmaf;":"ς","sigmav;":"ς","sim;":"∼","simdot;":"⩪","sime;":"≃","simeq;":"≃","simg;":"⪞","simgE;":"⪠","siml;":"⪝","simlE;":"⪟","simne;":"≆","simplus;":"⨤","simrarr;":"⥲","slarr;":"←","SmallCircle;":"∘","smallsetminus;":"∖","smashp;":"⨳","smeparsl;":"⧤","smid;":"∣","smile;":"⌣","smt;":"⪪","smte;":"⪬","smtes;":"⪬︀","SOFTcy;":"Ь","softcy;":"ь","sol;":"/","solb;":"⧄","solbar;":"⌿","Sopf;":"𝕊","sopf;":"𝕤","spades;":"♠","spadesuit;":"♠","spar;":"∥","sqcap;":"⊓","sqcaps;":"⊓︀","sqcup;":"⊔","sqcups;":"⊔︀","Sqrt;":"√","sqsub;":"⊏","sqsube;":"⊑","sqsubset;":"⊏","sqsubseteq;":"⊑","sqsup;":"⊐","sqsupe;":"⊒","sqsupset;":"⊐","sqsupseteq;":"⊒","squ;":"□","Square;":"□","square;":"□","SquareIntersection;":"⊓","SquareSubset;":"⊏","SquareSubsetEqual;":"⊑","SquareSuperset;":"⊐","SquareSupersetEqual;":"⊒","SquareUnion;":"⊔","squarf;":"▪","squf;":"▪","srarr;":"→","Sscr;":"𝒮","sscr;":"𝓈","ssetmn;":"∖","ssmile;":"⌣","sstarf;":"⋆","Star;":"⋆","star;":"☆","starf;":"★","straightepsilon;":"ϵ","straightphi;":"ϕ","strns;":"¯","Sub;":"⋐","sub;":"⊂","subdot;":"⪽","subE;":"⫅","sube;":"⊆","subedot;":"⫃","submult;":"⫁","subnE;":"⫋","subne;":"⊊","subplus;":"⪿","subrarr;":"⥹","Subset;":"⋐","subset;":"⊂","subseteq;":"⊆","subseteqq;":"⫅","SubsetEqual;":"⊆","subsetneq;":"⊊","subsetneqq;":"⫋","subsim;":"⫇","subsub;":"⫕","subsup;":"⫓","succ;":"≻","succapprox;":"⪸","succcurlyeq;":"≽","Succeeds;":"≻","SucceedsEqual;":"⪰","SucceedsSlantEqual;":"≽","SucceedsTilde;":"≿","succeq;":"⪰","succnapprox;":"⪺","succneqq;":"⪶","succnsim;":"⋩","succsim;":"≿","SuchThat;":"∋","Sum;":"∑","sum;":"∑","sung;":"♪","Sup;":"⋑","sup;":"⊃","sup1;":"¹",sup1:"¹","sup2;":"²",sup2:"²","sup3;":"³",sup3:"³","supdot;":"⪾","supdsub;":"⫘","supE;":"⫆","supe;":"⊇","supedot;":"⫄","Superset;":"⊃","SupersetEqual;":"⊇","suphsol;":"⟉","suphsub;":"⫗","suplarr;":"⥻","supmult;":"⫂","supnE;":"⫌","supne;":"⊋","supplus;":"⫀","Supset;":"⋑","supset;":"⊃","supseteq;":"⊇","supseteqq;":"⫆","supsetneq;":"⊋","supsetneqq;":"⫌","supsim;":"⫈","supsub;":"⫔","supsup;":"⫖","swarhk;":"⤦","swArr;":"⇙","swarr;":"↙","swarrow;":"↙","swnwar;":"⤪","szlig;":"ß",szlig:"ß","Tab;":" ","target;":"⌖","Tau;":"Τ","tau;":"τ","tbrk;":"⎴","Tcaron;":"Ť","tcaron;":"ť","Tcedil;":"Ţ","tcedil;":"ţ","Tcy;":"Т","tcy;":"т","tdot;":"⃛","telrec;":"⌕","Tfr;":"𝔗","tfr;":"𝔱","there4;":"∴","Therefore;":"∴","therefore;":"∴","Theta;":"Θ","theta;":"θ","thetasym;":"ϑ","thetav;":"ϑ","thickapprox;":"≈","thicksim;":"∼","ThickSpace;":"  ","thinsp;":" ","ThinSpace;":" ","thkap;":"≈","thksim;":"∼","THORN;":"Þ",THORN:"Þ","thorn;":"þ",thorn:"þ","Tilde;":"∼","tilde;":"˜","TildeEqual;":"≃","TildeFullEqual;":"≅","TildeTilde;":"≈","times;":"×",times:"×","timesb;":"⊠","timesbar;":"⨱","timesd;":"⨰","tint;":"∭","toea;":"⤨","top;":"⊤","topbot;":"⌶","topcir;":"⫱","Topf;":"𝕋","topf;":"𝕥","topfork;":"⫚","tosa;":"⤩","tprime;":"‴","TRADE;":"™","trade;":"™","triangle;":"▵","triangledown;":"▿","triangleleft;":"◃","trianglelefteq;":"⊴","triangleq;":"≜","triangleright;":"▹","trianglerighteq;":"⊵","tridot;":"◬","trie;":"≜","triminus;":"⨺","TripleDot;":"⃛","triplus;":"⨹","trisb;":"⧍","tritime;":"⨻","trpezium;":"⏢","Tscr;":"𝒯","tscr;":"𝓉","TScy;":"Ц","tscy;":"ц","TSHcy;":"Ћ","tshcy;":"ћ","Tstrok;":"Ŧ","tstrok;":"ŧ","twixt;":"≬","twoheadleftarrow;":"↞","twoheadrightarrow;":"↠","Uacute;":"Ú",Uacute:"Ú","uacute;":"ú",uacute:"ú","Uarr;":"↟","uArr;":"⇑","uarr;":"↑","Uarrocir;":"⥉","Ubrcy;":"Ў","ubrcy;":"ў","Ubreve;":"Ŭ","ubreve;":"ŭ","Ucirc;":"Û",Ucirc:"Û","ucirc;":"û",ucirc:"û","Ucy;":"У","ucy;":"у","udarr;":"⇅","Udblac;":"Ű","udblac;":"ű","udhar;":"⥮","ufisht;":"⥾","Ufr;":"𝔘","ufr;":"𝔲","Ugrave;":"Ù",Ugrave:"Ù","ugrave;":"ù",ugrave:"ù","uHar;":"⥣","uharl;":"↿","uharr;":"↾","uhblk;":"▀","ulcorn;":"⌜","ulcorner;":"⌜","ulcrop;":"⌏","ultri;":"◸","Umacr;":"Ū","umacr;":"ū","uml;":"¨",uml:"¨","UnderBar;":"_","UnderBrace;":"⏟","UnderBracket;":"⎵","UnderParenthesis;":"⏝","Union;":"⋃","UnionPlus;":"⊎","Uogon;":"Ų","uogon;":"ų","Uopf;":"𝕌","uopf;":"𝕦","UpArrow;":"↑","Uparrow;":"⇑","uparrow;":"↑","UpArrowBar;":"⤒","UpArrowDownArrow;":"⇅","UpDownArrow;":"↕","Updownarrow;":"⇕","updownarrow;":"↕","UpEquilibrium;":"⥮","upharpoonleft;":"↿","upharpoonright;":"↾","uplus;":"⊎","UpperLeftArrow;":"↖","UpperRightArrow;":"↗","Upsi;":"ϒ","upsi;":"υ","upsih;":"ϒ","Upsilon;":"Υ","upsilon;":"υ","UpTee;":"⊥","UpTeeArrow;":"↥","upuparrows;":"⇈","urcorn;":"⌝","urcorner;":"⌝","urcrop;":"⌎","Uring;":"Ů","uring;":"ů","urtri;":"◹","Uscr;":"𝒰","uscr;":"𝓊","utdot;":"⋰","Utilde;":"Ũ","utilde;":"ũ","utri;":"▵","utrif;":"▴","uuarr;":"⇈","Uuml;":"Ü",Uuml:"Ü","uuml;":"ü",uuml:"ü","uwangle;":"⦧","vangrt;":"⦜","varepsilon;":"ϵ","varkappa;":"ϰ","varnothing;":"∅","varphi;":"ϕ","varpi;":"ϖ","varpropto;":"∝","vArr;":"⇕","varr;":"↕","varrho;":"ϱ","varsigma;":"ς","varsubsetneq;":"⊊︀","varsubsetneqq;":"⫋︀","varsupsetneq;":"⊋︀","varsupsetneqq;":"⫌︀","vartheta;":"ϑ","vartriangleleft;":"⊲","vartriangleright;":"⊳","Vbar;":"⫫","vBar;":"⫨","vBarv;":"⫩","Vcy;":"В","vcy;":"в","VDash;":"⊫","Vdash;":"⊩","vDash;":"⊨","vdash;":"⊢","Vdashl;":"⫦","Vee;":"⋁","vee;":"∨","veebar;":"⊻","veeeq;":"≚","vellip;":"⋮","Verbar;":"‖","verbar;":"|","Vert;":"‖","vert;":"|","VerticalBar;":"∣","VerticalLine;":"|","VerticalSeparator;":"❘","VerticalTilde;":"≀","VeryThinSpace;":" ","Vfr;":"𝔙","vfr;":"𝔳","vltri;":"⊲","vnsub;":"⊂⃒","vnsup;":"⊃⃒","Vopf;":"𝕍","vopf;":"𝕧","vprop;":"∝","vrtri;":"⊳","Vscr;":"𝒱","vscr;":"𝓋","vsubnE;":"⫋︀","vsubne;":"⊊︀","vsupnE;":"⫌︀","vsupne;":"⊋︀","Vvdash;":"⊪","vzigzag;":"⦚","Wcirc;":"Ŵ","wcirc;":"ŵ","wedbar;":"⩟","Wedge;":"⋀","wedge;":"∧","wedgeq;":"≙","weierp;":"℘","Wfr;":"𝔚","wfr;":"𝔴","Wopf;":"𝕎","wopf;":"𝕨","wp;":"℘","wr;":"≀","wreath;":"≀","Wscr;":"𝒲","wscr;":"𝓌","xcap;":"⋂","xcirc;":"◯","xcup;":"⋃","xdtri;":"▽","Xfr;":"𝔛","xfr;":"𝔵","xhArr;":"⟺","xharr;":"⟷","Xi;":"Ξ","xi;":"ξ","xlArr;":"⟸","xlarr;":"⟵","xmap;":"⟼","xnis;":"⋻","xodot;":"⨀","Xopf;":"𝕏","xopf;":"𝕩","xoplus;":"⨁","xotime;":"⨂","xrArr;":"⟹","xrarr;":"⟶","Xscr;":"𝒳","xscr;":"𝓍","xsqcup;":"⨆","xuplus;":"⨄","xutri;":"△","xvee;":"⋁","xwedge;":"⋀","Yacute;":"Ý",Yacute:"Ý","yacute;":"ý",yacute:"ý","YAcy;":"Я","yacy;":"я","Ycirc;":"Ŷ","ycirc;":"ŷ","Ycy;":"Ы","ycy;":"ы","yen;":"¥",yen:"¥","Yfr;":"𝔜","yfr;":"𝔶","YIcy;":"Ї","yicy;":"ї","Yopf;":"𝕐","yopf;":"𝕪","Yscr;":"𝒴","yscr;":"𝓎","YUcy;":"Ю","yucy;":"ю","Yuml;":"Ÿ","yuml;":"ÿ",yuml:"ÿ","Zacute;":"Ź","zacute;":"ź","Zcaron;":"Ž","zcaron;":"ž","Zcy;":"З","zcy;":"з","Zdot;":"Ż","zdot;":"ż","zeetrf;":"ℨ","ZeroWidthSpace;":"​","Zeta;":"Ζ","zeta;":"ζ","Zfr;":"ℨ","zfr;":"𝔷","ZHcy;":"Ж","zhcy;":"ж","zigrarr;":"⇝","Zopf;":"ℤ","zopf;":"𝕫","Zscr;":"𝒵","zscr;":"𝓏","zwj;":"‍","zwnj;":"‌"}
},{}],42:[function(require,module,exports){var punycode=require("punycode");var entities=require("./entities.json");var revEntities=require("./reversed.json");exports.encode=function(str,opts){if(typeof str!=="string"){throw new TypeError("Expected a String")}var special={'"':true,"'":true,"<":true,">":true,"&":true};if(!opts)opts={};var numeric=true;if(opts.named)numeric=false;if(opts.numeric!==undefined)numeric=opts.numeric;return str.split("").map(function(c){var cc=c.charCodeAt(0);var e=revEntities[cc];if(e&&(cc>=127||special[c])&&!numeric){return"&"+(e.match(/;$/)?e:e+";")}else if(cc<32||cc>=127||special[c]){return"&#"+cc+";"}else if(/\s/.test(c)){return c}else{return c}}).join("")};exports.decode=function(str){if(typeof str!=="string"){throw new TypeError("Expected a String")}return str.replace(/&#(\d+);?/g,function(_,code){return punycode.ucs2.encode([code])}).replace(/&#[xX]([A-Fa-f0-9]+);?/g,function(_,hex){return punycode.ucs2.encode([parseInt(hex,16)])}).replace(/&([^;\W]+;?)/g,function(m,e){var ee=e.replace(/;$/,"");var target=entities[e]||e.match(/;$/)&&entities[ee];if(typeof target==="number"){return punycode.ucs2.encode([target])}else if(typeof target==="string"){return target}else{return m}})}},{"./entities.json":41,"./reversed.json":43,punycode:2}],43:[function(require,module,exports){module.exports={9:"Tab;",10:"NewLine;",33:"excl;",34:"quot;",35:"num;",36:"dollar;",37:"percnt;",38:"amp;",39:"apos;",40:"lpar;",41:"rpar;",42:"midast;",43:"plus;",44:"comma;",46:"period;",47:"sol;",58:"colon;",59:"semi;",60:"lt;",61:"equals;",62:"gt;",63:"quest;",64:"commat;",91:"lsqb;",92:"bsol;",93:"rsqb;",94:"Hat;",95:"UnderBar;",96:"grave;",123:"lcub;",124:"VerticalLine;",125:"rcub;",160:"NonBreakingSpace;",161:"iexcl;",162:"cent;",163:"pound;",164:"curren;",165:"yen;",166:"brvbar;",167:"sect;",168:"uml;",169:"copy;",170:"ordf;",171:"laquo;",172:"not;",173:"shy;",174:"reg;",175:"strns;",176:"deg;",177:"pm;",178:"sup2;",179:"sup3;",180:"DiacriticalAcute;",181:"micro;",182:"para;",183:"middot;",184:"Cedilla;",185:"sup1;",186:"ordm;",187:"raquo;",188:"frac14;",189:"half;",190:"frac34;",191:"iquest;",192:"Agrave;",193:"Aacute;",194:"Acirc;",195:"Atilde;",196:"Auml;",197:"Aring;",198:"AElig;",199:"Ccedil;",200:"Egrave;",201:"Eacute;",202:"Ecirc;",203:"Euml;",204:"Igrave;",205:"Iacute;",206:"Icirc;",207:"Iuml;",208:"ETH;",209:"Ntilde;",210:"Ograve;",211:"Oacute;",212:"Ocirc;",213:"Otilde;",214:"Ouml;",215:"times;",216:"Oslash;",217:"Ugrave;",218:"Uacute;",219:"Ucirc;",220:"Uuml;",221:"Yacute;",222:"THORN;",223:"szlig;",224:"agrave;",225:"aacute;",226:"acirc;",227:"atilde;",228:"auml;",229:"aring;",230:"aelig;",231:"ccedil;",232:"egrave;",233:"eacute;",234:"ecirc;",235:"euml;",236:"igrave;",237:"iacute;",238:"icirc;",239:"iuml;",240:"eth;",241:"ntilde;",242:"ograve;",243:"oacute;",244:"ocirc;",245:"otilde;",246:"ouml;",247:"divide;",248:"oslash;",249:"ugrave;",250:"uacute;",251:"ucirc;",252:"uuml;",253:"yacute;",254:"thorn;",255:"yuml;",256:"Amacr;",257:"amacr;",258:"Abreve;",259:"abreve;",260:"Aogon;",261:"aogon;",262:"Cacute;",263:"cacute;",264:"Ccirc;",265:"ccirc;",266:"Cdot;",267:"cdot;",268:"Ccaron;",269:"ccaron;",270:"Dcaron;",271:"dcaron;",272:"Dstrok;",273:"dstrok;",274:"Emacr;",275:"emacr;",278:"Edot;",279:"edot;",280:"Eogon;",281:"eogon;",282:"Ecaron;",283:"ecaron;",284:"Gcirc;",285:"gcirc;",286:"Gbreve;",287:"gbreve;",288:"Gdot;",289:"gdot;",290:"Gcedil;",292:"Hcirc;",293:"hcirc;",294:"Hstrok;",295:"hstrok;",296:"Itilde;",297:"itilde;",298:"Imacr;",299:"imacr;",302:"Iogon;",303:"iogon;",304:"Idot;",305:"inodot;",306:"IJlig;",307:"ijlig;",308:"Jcirc;",309:"jcirc;",310:"Kcedil;",311:"kcedil;",312:"kgreen;",313:"Lacute;",314:"lacute;",315:"Lcedil;",316:"lcedil;",317:"Lcaron;",318:"lcaron;",319:"Lmidot;",320:"lmidot;",321:"Lstrok;",322:"lstrok;",323:"Nacute;",324:"nacute;",325:"Ncedil;",326:"ncedil;",327:"Ncaron;",328:"ncaron;",329:"napos;",330:"ENG;",331:"eng;",332:"Omacr;",333:"omacr;",336:"Odblac;",337:"odblac;",338:"OElig;",339:"oelig;",340:"Racute;",341:"racute;",342:"Rcedil;",343:"rcedil;",344:"Rcaron;",345:"rcaron;",346:"Sacute;",347:"sacute;",348:"Scirc;",349:"scirc;",350:"Scedil;",351:"scedil;",352:"Scaron;",353:"scaron;",354:"Tcedil;",355:"tcedil;",356:"Tcaron;",357:"tcaron;",358:"Tstrok;",359:"tstrok;",360:"Utilde;",361:"utilde;",362:"Umacr;",363:"umacr;",364:"Ubreve;",365:"ubreve;",366:"Uring;",367:"uring;",368:"Udblac;",369:"udblac;",370:"Uogon;",371:"uogon;",372:"Wcirc;",373:"wcirc;",374:"Ycirc;",375:"ycirc;",376:"Yuml;",377:"Zacute;",378:"zacute;",379:"Zdot;",380:"zdot;",381:"Zcaron;",382:"zcaron;",402:"fnof;",437:"imped;",501:"gacute;",567:"jmath;",710:"circ;",711:"Hacek;",728:"breve;",729:"dot;",730:"ring;",731:"ogon;",732:"tilde;",733:"DiacriticalDoubleAcute;",785:"DownBreve;",913:"Alpha;",914:"Beta;",915:"Gamma;",916:"Delta;",917:"Epsilon;",918:"Zeta;",919:"Eta;",920:"Theta;",921:"Iota;",922:"Kappa;",923:"Lambda;",924:"Mu;",925:"Nu;",926:"Xi;",927:"Omicron;",928:"Pi;",929:"Rho;",931:"Sigma;",932:"Tau;",933:"Upsilon;",934:"Phi;",935:"Chi;",936:"Psi;",937:"Omega;",945:"alpha;",946:"beta;",947:"gamma;",948:"delta;",949:"epsilon;",950:"zeta;",951:"eta;",952:"theta;",953:"iota;",954:"kappa;",955:"lambda;",956:"mu;",957:"nu;",958:"xi;",959:"omicron;",960:"pi;",961:"rho;",962:"varsigma;",963:"sigma;",964:"tau;",965:"upsilon;",966:"phi;",967:"chi;",968:"psi;",969:"omega;",977:"vartheta;",978:"upsih;",981:"varphi;",982:"varpi;",988:"Gammad;",989:"gammad;",1008:"varkappa;",1009:"varrho;",1013:"varepsilon;",1014:"bepsi;",1025:"IOcy;",1026:"DJcy;",1027:"GJcy;",1028:"Jukcy;",1029:"DScy;",1030:"Iukcy;",1031:"YIcy;",1032:"Jsercy;",1033:"LJcy;",1034:"NJcy;",1035:"TSHcy;",1036:"KJcy;",1038:"Ubrcy;",1039:"DZcy;",1040:"Acy;",1041:"Bcy;",1042:"Vcy;",1043:"Gcy;",1044:"Dcy;",1045:"IEcy;",1046:"ZHcy;",1047:"Zcy;",1048:"Icy;",1049:"Jcy;",1050:"Kcy;",1051:"Lcy;",1052:"Mcy;",1053:"Ncy;",1054:"Ocy;",1055:"Pcy;",1056:"Rcy;",1057:"Scy;",1058:"Tcy;",1059:"Ucy;",1060:"Fcy;",1061:"KHcy;",1062:"TScy;",1063:"CHcy;",1064:"SHcy;",1065:"SHCHcy;",1066:"HARDcy;",1067:"Ycy;",1068:"SOFTcy;",1069:"Ecy;",1070:"YUcy;",1071:"YAcy;",1072:"acy;",1073:"bcy;",1074:"vcy;",1075:"gcy;",1076:"dcy;",1077:"iecy;",1078:"zhcy;",1079:"zcy;",1080:"icy;",1081:"jcy;",1082:"kcy;",1083:"lcy;",1084:"mcy;",1085:"ncy;",1086:"ocy;",1087:"pcy;",1088:"rcy;",1089:"scy;",1090:"tcy;",1091:"ucy;",1092:"fcy;",1093:"khcy;",1094:"tscy;",1095:"chcy;",1096:"shcy;",1097:"shchcy;",1098:"hardcy;",1099:"ycy;",1100:"softcy;",1101:"ecy;",1102:"yucy;",1103:"yacy;",1105:"iocy;",1106:"djcy;",1107:"gjcy;",1108:"jukcy;",1109:"dscy;",1110:"iukcy;",1111:"yicy;",1112:"jsercy;",1113:"ljcy;",1114:"njcy;",1115:"tshcy;",1116:"kjcy;",1118:"ubrcy;",1119:"dzcy;",8194:"ensp;",8195:"emsp;",8196:"emsp13;",8197:"emsp14;",8199:"numsp;",8200:"puncsp;",8201:"ThinSpace;",8202:"VeryThinSpace;",8203:"ZeroWidthSpace;",8204:"zwnj;",8205:"zwj;",8206:"lrm;",8207:"rlm;",8208:"hyphen;",8211:"ndash;",8212:"mdash;",8213:"horbar;",8214:"Vert;",8216:"OpenCurlyQuote;",8217:"rsquor;",8218:"sbquo;",8220:"OpenCurlyDoubleQuote;",8221:"rdquor;",8222:"ldquor;",8224:"dagger;",8225:"ddagger;",8226:"bullet;",8229:"nldr;",8230:"mldr;",8240:"permil;",8241:"pertenk;",8242:"prime;",8243:"Prime;",8244:"tprime;",8245:"bprime;",8249:"lsaquo;",8250:"rsaquo;",8254:"OverBar;",8257:"caret;",8259:"hybull;",8260:"frasl;",8271:"bsemi;",8279:"qprime;",8287:"MediumSpace;",8288:"NoBreak;",8289:"ApplyFunction;",8290:"it;",8291:"InvisibleComma;",8364:"euro;",8411:"TripleDot;",8412:"DotDot;",8450:"Copf;",8453:"incare;",8458:"gscr;",8459:"Hscr;",8460:"Poincareplane;",8461:"quaternions;",8462:"planckh;",8463:"plankv;",8464:"Iscr;",8465:"imagpart;",8466:"Lscr;",8467:"ell;",8469:"Nopf;",8470:"numero;",8471:"copysr;",8472:"wp;",8473:"primes;",8474:"rationals;",8475:"Rscr;",8476:"Rfr;",8477:"Ropf;",8478:"rx;",8482:"trade;",8484:"Zopf;",8487:"mho;",8488:"Zfr;",8489:"iiota;",8492:"Bscr;",8493:"Cfr;",8495:"escr;",8496:"expectation;",8497:"Fscr;",8499:"phmmat;",8500:"oscr;",8501:"aleph;",8502:"beth;",8503:"gimel;",8504:"daleth;",8517:"DD;",8518:"DifferentialD;",8519:"exponentiale;",8520:"ImaginaryI;",8531:"frac13;",8532:"frac23;",8533:"frac15;",8534:"frac25;",8535:"frac35;",8536:"frac45;",8537:"frac16;",8538:"frac56;",8539:"frac18;",8540:"frac38;",8541:"frac58;",8542:"frac78;",8592:"slarr;",8593:"uparrow;",8594:"srarr;",8595:"ShortDownArrow;",8596:"leftrightarrow;",8597:"varr;",8598:"UpperLeftArrow;",8599:"UpperRightArrow;",8600:"searrow;",8601:"swarrow;",8602:"nleftarrow;",8603:"nrightarrow;",8605:"rightsquigarrow;",8606:"twoheadleftarrow;",8607:"Uarr;",8608:"twoheadrightarrow;",8609:"Darr;",8610:"leftarrowtail;",8611:"rightarrowtail;",8612:"mapstoleft;",8613:"UpTeeArrow;",8614:"RightTeeArrow;",8615:"mapstodown;",8617:"larrhk;",8618:"rarrhk;",8619:"looparrowleft;",8620:"rarrlp;",8621:"leftrightsquigarrow;",8622:"nleftrightarrow;",8624:"lsh;",8625:"rsh;",8626:"ldsh;",8627:"rdsh;",8629:"crarr;",8630:"curvearrowleft;",8631:"curvearrowright;",8634:"olarr;",8635:"orarr;",8636:"lharu;",8637:"lhard;",8638:"upharpoonright;",8639:"upharpoonleft;",8640:"RightVector;",8641:"rightharpoondown;",8642:"RightDownVector;",8643:"LeftDownVector;",8644:"rlarr;",8645:"UpArrowDownArrow;",8646:"lrarr;",8647:"llarr;",8648:"uuarr;",8649:"rrarr;",8650:"downdownarrows;",8651:"ReverseEquilibrium;",8652:"rlhar;",8653:"nLeftarrow;",8654:"nLeftrightarrow;",8655:"nRightarrow;",8656:"Leftarrow;",8657:"Uparrow;",8658:"Rightarrow;",8659:"Downarrow;",8660:"Leftrightarrow;",8661:"vArr;",8662:"nwArr;",8663:"neArr;",8664:"seArr;",8665:"swArr;",8666:"Lleftarrow;",8667:"Rrightarrow;",8669:"zigrarr;",8676:"LeftArrowBar;",8677:"RightArrowBar;",8693:"duarr;",8701:"loarr;",8702:"roarr;",8703:"hoarr;",8704:"forall;",8705:"complement;",8706:"PartialD;",8707:"Exists;",8708:"NotExists;",8709:"varnothing;",8711:"nabla;",8712:"isinv;",8713:"notinva;",8715:"SuchThat;",8716:"NotReverseElement;",8719:"Product;",8720:"Coproduct;",8721:"sum;",8722:"minus;",8723:"mp;",8724:"plusdo;",8726:"ssetmn;",8727:"lowast;",8728:"SmallCircle;",8730:"Sqrt;",8733:"vprop;",8734:"infin;",8735:"angrt;",8736:"angle;",8737:"measuredangle;",8738:"angsph;",8739:"VerticalBar;",8740:"nsmid;",8741:"spar;",8742:"nspar;",8743:"wedge;",8744:"vee;",8745:"cap;",8746:"cup;",8747:"Integral;",8748:"Int;",8749:"tint;",8750:"oint;",8751:"DoubleContourIntegral;",8752:"Cconint;",8753:"cwint;",8754:"cwconint;",8755:"CounterClockwiseContourIntegral;",8756:"therefore;",8757:"because;",8758:"ratio;",8759:"Proportion;",8760:"minusd;",8762:"mDDot;",8763:"homtht;",8764:"Tilde;",8765:"bsim;",8766:"mstpos;",8767:"acd;",8768:"wreath;",8769:"nsim;",8770:"esim;",8771:"TildeEqual;",8772:"nsimeq;",8773:"TildeFullEqual;",8774:"simne;",8775:"NotTildeFullEqual;",8776:"TildeTilde;",8777:"NotTildeTilde;",8778:"approxeq;",8779:"apid;",8780:"bcong;",8781:"CupCap;",8782:"HumpDownHump;",8783:"HumpEqual;",8784:"esdot;",8785:"eDot;",8786:"fallingdotseq;",8787:"risingdotseq;",8788:"coloneq;",8789:"eqcolon;",8790:"eqcirc;",8791:"cire;",8793:"wedgeq;",8794:"veeeq;",8796:"trie;",8799:"questeq;",8800:"NotEqual;",8801:"equiv;",8802:"NotCongruent;",8804:"leq;",8805:"GreaterEqual;",8806:"LessFullEqual;",8807:"GreaterFullEqual;",8808:"lneqq;",8809:"gneqq;",8810:"NestedLessLess;",8811:"NestedGreaterGreater;",8812:"twixt;",8813:"NotCupCap;",8814:"NotLess;",8815:"NotGreater;",8816:"NotLessEqual;",8817:"NotGreaterEqual;",8818:"lsim;",8819:"gtrsim;",8820:"NotLessTilde;",8821:"NotGreaterTilde;",8822:"lg;",8823:"gtrless;",8824:"ntlg;",8825:"ntgl;",8826:"Precedes;",8827:"Succeeds;",8828:"PrecedesSlantEqual;",8829:"SucceedsSlantEqual;",8830:"prsim;",8831:"succsim;",8832:"nprec;",8833:"nsucc;",8834:"subset;",8835:"supset;",8836:"nsub;",8837:"nsup;",8838:"SubsetEqual;",8839:"supseteq;",8840:"nsubseteq;",8841:"nsupseteq;",8842:"subsetneq;",8843:"supsetneq;",8845:"cupdot;",8846:"uplus;",8847:"SquareSubset;",8848:"SquareSuperset;",8849:"SquareSubsetEqual;",8850:"SquareSupersetEqual;",8851:"SquareIntersection;",8852:"SquareUnion;",8853:"oplus;",8854:"ominus;",8855:"otimes;",8856:"osol;",8857:"odot;",8858:"ocir;",8859:"oast;",8861:"odash;",8862:"plusb;",8863:"minusb;",8864:"timesb;",8865:"sdotb;",8866:"vdash;",8867:"LeftTee;",8868:"top;",8869:"UpTee;",8871:"models;",8872:"vDash;",8873:"Vdash;",8874:"Vvdash;",8875:"VDash;",8876:"nvdash;",8877:"nvDash;",8878:"nVdash;",8879:"nVDash;",8880:"prurel;",8882:"vltri;",8883:"vrtri;",8884:"trianglelefteq;",8885:"trianglerighteq;",8886:"origof;",8887:"imof;",8888:"mumap;",8889:"hercon;",8890:"intercal;",8891:"veebar;",8893:"barvee;",8894:"angrtvb;",8895:"lrtri;",8896:"xwedge;",8897:"xvee;",8898:"xcap;",8899:"xcup;",8900:"diamond;",8901:"sdot;",8902:"Star;",8903:"divonx;",8904:"bowtie;",8905:"ltimes;",8906:"rtimes;",8907:"lthree;",8908:"rthree;",8909:"bsime;",8910:"cuvee;",8911:"cuwed;",8912:"Subset;",8913:"Supset;",8914:"Cap;",8915:"Cup;",8916:"pitchfork;",8917:"epar;",8918:"ltdot;",8919:"gtrdot;",8920:"Ll;",8921:"ggg;",8922:"LessEqualGreater;",8923:"gtreqless;",8926:"curlyeqprec;",8927:"curlyeqsucc;",8928:"nprcue;",8929:"nsccue;",8930:"nsqsube;",8931:"nsqsupe;",8934:"lnsim;",8935:"gnsim;",8936:"prnsim;",8937:"succnsim;",8938:"ntriangleleft;",8939:"ntriangleright;",8940:"ntrianglelefteq;",8941:"ntrianglerighteq;",8942:"vellip;",8943:"ctdot;",8944:"utdot;",8945:"dtdot;",8946:"disin;",8947:"isinsv;",8948:"isins;",8949:"isindot;",8950:"notinvc;",8951:"notinvb;",8953:"isinE;",8954:"nisd;",8955:"xnis;",8956:"nis;",8957:"notnivc;",8958:"notnivb;",8965:"barwedge;",8966:"doublebarwedge;",8968:"LeftCeiling;",8969:"RightCeiling;",8970:"lfloor;",8971:"RightFloor;",8972:"drcrop;",8973:"dlcrop;",8974:"urcrop;",8975:"ulcrop;",8976:"bnot;",8978:"profline;",8979:"profsurf;",8981:"telrec;",8982:"target;",8988:"ulcorner;",8989:"urcorner;",8990:"llcorner;",8991:"lrcorner;",8994:"sfrown;",8995:"ssmile;",9005:"cylcty;",9006:"profalar;",9014:"topbot;",9021:"ovbar;",9023:"solbar;",9084:"angzarr;",9136:"lmoustache;",9137:"rmoustache;",9140:"tbrk;",9141:"UnderBracket;",9142:"bbrktbrk;",9180:"OverParenthesis;",9181:"UnderParenthesis;",9182:"OverBrace;",9183:"UnderBrace;",9186:"trpezium;",9191:"elinters;",9251:"blank;",9416:"oS;",9472:"HorizontalLine;",9474:"boxv;",9484:"boxdr;",9488:"boxdl;",9492:"boxur;",9496:"boxul;",9500:"boxvr;",9508:"boxvl;",9516:"boxhd;",9524:"boxhu;",9532:"boxvh;",9552:"boxH;",9553:"boxV;",9554:"boxdR;",9555:"boxDr;",9556:"boxDR;",9557:"boxdL;",9558:"boxDl;",9559:"boxDL;",9560:"boxuR;",9561:"boxUr;",9562:"boxUR;",9563:"boxuL;",9564:"boxUl;",9565:"boxUL;",9566:"boxvR;",9567:"boxVr;",9568:"boxVR;",9569:"boxvL;",9570:"boxVl;",9571:"boxVL;",9572:"boxHd;",9573:"boxhD;",9574:"boxHD;",9575:"boxHu;",9576:"boxhU;",9577:"boxHU;",9578:"boxvH;",9579:"boxVh;",9580:"boxVH;",9600:"uhblk;",9604:"lhblk;",9608:"block;",9617:"blk14;",9618:"blk12;",9619:"blk34;",9633:"square;",9642:"squf;",9643:"EmptyVerySmallSquare;",9645:"rect;",9646:"marker;",9649:"fltns;",9651:"xutri;",9652:"utrif;",9653:"utri;",9656:"rtrif;",9657:"triangleright;",9661:"xdtri;",9662:"dtrif;",9663:"triangledown;",9666:"ltrif;",9667:"triangleleft;",9674:"lozenge;",9675:"cir;",9708:"tridot;",9711:"xcirc;",9720:"ultri;",9721:"urtri;",9722:"lltri;",9723:"EmptySmallSquare;",9724:"FilledSmallSquare;",9733:"starf;",9734:"star;",9742:"phone;",9792:"female;",9794:"male;",9824:"spadesuit;",9827:"clubsuit;",9829:"heartsuit;",9830:"diams;",9834:"sung;",9837:"flat;",9838:"natural;",9839:"sharp;",10003:"checkmark;",10007:"cross;",10016:"maltese;",10038:"sext;",10072:"VerticalSeparator;",10098:"lbbrk;",10099:"rbbrk;",10184:"bsolhsub;",10185:"suphsol;",10214:"lobrk;",10215:"robrk;",10216:"LeftAngleBracket;",10217:"RightAngleBracket;",10218:"Lang;",10219:"Rang;",10220:"loang;",10221:"roang;",10229:"xlarr;",10230:"xrarr;",10231:"xharr;",10232:"xlArr;",10233:"xrArr;",10234:"xhArr;",10236:"xmap;",10239:"dzigrarr;",10498:"nvlArr;",10499:"nvrArr;",10500:"nvHarr;",10501:"Map;",10508:"lbarr;",10509:"rbarr;",10510:"lBarr;",10511:"rBarr;",10512:"RBarr;",10513:"DDotrahd;",10514:"UpArrowBar;",10515:"DownArrowBar;",10518:"Rarrtl;",10521:"latail;",10522:"ratail;",10523:"lAtail;",10524:"rAtail;",10525:"larrfs;",10526:"rarrfs;",10527:"larrbfs;",10528:"rarrbfs;",10531:"nwarhk;",10532:"nearhk;",10533:"searhk;",10534:"swarhk;",10535:"nwnear;",10536:"toea;",10537:"tosa;",10538:"swnwar;",10547:"rarrc;",10549:"cudarrr;",10550:"ldca;",10551:"rdca;",10552:"cudarrl;",10553:"larrpl;",10556:"curarrm;",10557:"cularrp;",10565:"rarrpl;",10568:"harrcir;",10569:"Uarrocir;",10570:"lurdshar;",10571:"ldrushar;",10574:"LeftRightVector;",10575:"RightUpDownVector;",10576:"DownLeftRightVector;",10577:"LeftUpDownVector;",10578:"LeftVectorBar;",10579:"RightVectorBar;",10580:"RightUpVectorBar;",10581:"RightDownVectorBar;",10582:"DownLeftVectorBar;",10583:"DownRightVectorBar;",10584:"LeftUpVectorBar;",10585:"LeftDownVectorBar;",10586:"LeftTeeVector;",10587:"RightTeeVector;",10588:"RightUpTeeVector;",10589:"RightDownTeeVector;",10590:"DownLeftTeeVector;",10591:"DownRightTeeVector;",10592:"LeftUpTeeVector;",10593:"LeftDownTeeVector;",10594:"lHar;",10595:"uHar;",10596:"rHar;",10597:"dHar;",10598:"luruhar;",10599:"ldrdhar;",10600:"ruluhar;",10601:"rdldhar;",10602:"lharul;",10603:"llhard;",10604:"rharul;",10605:"lrhard;",10606:"UpEquilibrium;",10607:"ReverseUpEquilibrium;",10608:"RoundImplies;",10609:"erarr;",10610:"simrarr;",10611:"larrsim;",10612:"rarrsim;",10613:"rarrap;",10614:"ltlarr;",10616:"gtrarr;",10617:"subrarr;",10619:"suplarr;",10620:"lfisht;",10621:"rfisht;",10622:"ufisht;",10623:"dfisht;",10629:"lopar;",10630:"ropar;",10635:"lbrke;",10636:"rbrke;",10637:"lbrkslu;",10638:"rbrksld;",10639:"lbrksld;",10640:"rbrkslu;",10641:"langd;",10642:"rangd;",10643:"lparlt;",10644:"rpargt;",10645:"gtlPar;",10646:"ltrPar;",10650:"vzigzag;",10652:"vangrt;",10653:"angrtvbd;",10660:"ange;",10661:"range;",10662:"dwangle;",10663:"uwangle;",10664:"angmsdaa;",10665:"angmsdab;",10666:"angmsdac;",10667:"angmsdad;",10668:"angmsdae;",10669:"angmsdaf;",10670:"angmsdag;",10671:"angmsdah;",10672:"bemptyv;",10673:"demptyv;",10674:"cemptyv;",10675:"raemptyv;",10676:"laemptyv;",10677:"ohbar;",10678:"omid;",10679:"opar;",10681:"operp;",10683:"olcross;",10684:"odsold;",10686:"olcir;",10687:"ofcir;",10688:"olt;",10689:"ogt;",10690:"cirscir;",10691:"cirE;",10692:"solb;",10693:"bsolb;",10697:"boxbox;",10701:"trisb;",10702:"rtriltri;",10703:"LeftTriangleBar;",10704:"RightTriangleBar;",10716:"iinfin;",10717:"infintie;",10718:"nvinfin;",10723:"eparsl;",10724:"smeparsl;",10725:"eqvparsl;",10731:"lozf;",10740:"RuleDelayed;",10742:"dsol;",10752:"xodot;",10753:"xoplus;",10754:"xotime;",10756:"xuplus;",10758:"xsqcup;",10764:"qint;",10765:"fpartint;",10768:"cirfnint;",10769:"awint;",10770:"rppolint;",10771:"scpolint;",10772:"npolint;",10773:"pointint;",10774:"quatint;",10775:"intlarhk;",10786:"pluscir;",10787:"plusacir;",10788:"simplus;",10789:"plusdu;",10790:"plussim;",10791:"plustwo;",10793:"mcomma;",10794:"minusdu;",10797:"loplus;",10798:"roplus;",10799:"Cross;",10800:"timesd;",10801:"timesbar;",10803:"smashp;",10804:"lotimes;",10805:"rotimes;",10806:"otimesas;",10807:"Otimes;",10808:"odiv;",10809:"triplus;",10810:"triminus;",10811:"tritime;",10812:"iprod;",10815:"amalg;",10816:"capdot;",10818:"ncup;",10819:"ncap;",10820:"capand;",10821:"cupor;",10822:"cupcap;",10823:"capcup;",10824:"cupbrcap;",10825:"capbrcup;",10826:"cupcup;",10827:"capcap;",10828:"ccups;",10829:"ccaps;",10832:"ccupssm;",10835:"And;",10836:"Or;",10837:"andand;",10838:"oror;",10839:"orslope;",10840:"andslope;",10842:"andv;",10843:"orv;",10844:"andd;",10845:"ord;",10847:"wedbar;",10854:"sdote;",10858:"simdot;",10861:"congdot;",10862:"easter;",10863:"apacir;",10864:"apE;",10865:"eplus;",10866:"pluse;",10867:"Esim;",10868:"Colone;",10869:"Equal;",10871:"eDDot;",10872:"equivDD;",10873:"ltcir;",10874:"gtcir;",10875:"ltquest;",10876:"gtquest;",10877:"LessSlantEqual;",10878:"GreaterSlantEqual;",10879:"lesdot;",10880:"gesdot;",10881:"lesdoto;",10882:"gesdoto;",10883:"lesdotor;",10884:"gesdotol;",10885:"lessapprox;",10886:"gtrapprox;",10887:"lneq;",10888:"gneq;",10889:"lnapprox;",10890:"gnapprox;",10891:"lesseqqgtr;",10892:"gtreqqless;",10893:"lsime;",10894:"gsime;",10895:"lsimg;",10896:"gsiml;",10897:"lgE;",10898:"glE;",10899:"lesges;",10900:"gesles;",10901:"eqslantless;",10902:"eqslantgtr;",10903:"elsdot;",10904:"egsdot;",10905:"el;",10906:"eg;",10909:"siml;",10910:"simg;",10911:"simlE;",10912:"simgE;",10913:"LessLess;",10914:"GreaterGreater;",10916:"glj;",10917:"gla;",10918:"ltcc;",10919:"gtcc;",10920:"lescc;",10921:"gescc;",10922:"smt;",10923:"lat;",10924:"smte;",10925:"late;",10926:"bumpE;",10927:"preceq;",10928:"succeq;",10931:"prE;",10932:"scE;",10933:"prnE;",10934:"succneqq;",10935:"precapprox;",10936:"succapprox;",10937:"prnap;",10938:"succnapprox;",10939:"Pr;",10940:"Sc;",10941:"subdot;",10942:"supdot;",10943:"subplus;",10944:"supplus;",10945:"submult;",10946:"supmult;",10947:"subedot;",10948:"supedot;",10949:"subseteqq;",10950:"supseteqq;",10951:"subsim;",10952:"supsim;",10955:"subsetneqq;",10956:"supsetneqq;",10959:"csub;",10960:"csup;",10961:"csube;",10962:"csupe;",10963:"subsup;",10964:"supsub;",10965:"subsub;",10966:"supsup;",10967:"suphsub;",10968:"supdsub;",10969:"forkv;",10970:"topfork;",10971:"mlcp;",10980:"DoubleLeftTee;",10982:"Vdashl;",10983:"Barv;",10984:"vBar;",10985:"vBarv;",10987:"Vbar;",10988:"Not;",10989:"bNot;",10990:"rnmid;",10991:"cirmid;",10992:"midcir;",10993:"topcir;",10994:"nhpar;",10995:"parsim;",11005:"parsl;",64256:"fflig;",64257:"filig;",64258:"fllig;",64259:"ffilig;",64260:"ffllig;"}},{}],44:[function(require,module,exports){(function(__filename,__dirname){(function(){function runningInNode(){return typeof require=="function"&&typeof exports=="object"&&typeof module=="object"&&typeof __filename=="string"&&typeof __dirname=="string"}if(!runningInNode()){if(!this.Tautologistics)this.Tautologistics={};else if(this.Tautologistics.NodeHtmlParser)return;this.Tautologistics.NodeHtmlParser={};exports=this.Tautologistics.NodeHtmlParser}var ElementType={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag"};function Parser(handler,options){this._options=options?options:{};if(this._options.includeLocation==undefined){this._options.includeLocation=false}this.validateHandler(handler);this._handler=handler;this.reset()}Parser._reTrim=/(^\s+|\s+$)/g;Parser._reTrimComment=/(^\!--|--$)/g;Parser._reWhitespace=/\s/g;Parser._reTagName=/^\s*(\/?)\s*([^\s\/]+)/;Parser._reAttrib=/([^=<>\"\'\s]+)\s*=\s*"([^"]*)"|([^=<>\"\'\s]+)\s*=\s*'([^']*)'|([^=<>\"\'\s]+)\s*=\s*([^'"\s]+)|([^=<>\"\'\s\/]+)/g;Parser._reTags=/[\<\>]/g;Parser.prototype.parseComplete=function Parser$parseComplete(data){this.reset();this.parseChunk(data);this.done()};Parser.prototype.parseChunk=function Parser$parseChunk(data){if(this._done)this.handleError(new Error("Attempted to parse chunk after parsing already done"));this._buffer+=data;this.parseTags()};Parser.prototype.done=function Parser$done(){if(this._done)return;this._done=true;if(this._buffer.length){var rawData=this._buffer;this._buffer="";var element={raw:rawData,data:this._parseState==ElementType.Text?rawData:rawData.replace(Parser._reTrim,""),type:this._parseState};if(this._parseState==ElementType.Tag||this._parseState==ElementType.Script||this._parseState==ElementType.Style)element.name=this.parseTagName(element.data);this.parseAttribs(element);this._elements.push(element)}this.writeHandler();this._handler.done()};Parser.prototype.reset=function Parser$reset(){this._buffer="";this._done=false;this._elements=[];this._elementsCurrent=0;this._current=0;this._next=0;this._location={row:0,col:0,charOffset:0,inBuffer:0};this._parseState=ElementType.Text;this._prevTagSep="";this._tagStack=[];this._handler.reset()};Parser.prototype._options=null;Parser.prototype._handler=null;Parser.prototype._buffer=null;Parser.prototype._done=false;Parser.prototype._elements=null;Parser.prototype._elementsCurrent=0;Parser.prototype._current=0;Parser.prototype._next=0;Parser.prototype._location=null;Parser.prototype._parseState=ElementType.Text;Parser.prototype._prevTagSep="";Parser.prototype._tagStack=null;Parser.prototype.parseTagAttribs=function Parser$parseTagAttribs(elements){var idxEnd=elements.length;var idx=0;while(idx<idxEnd){var element=elements[idx++];if(element.type==ElementType.Tag||element.type==ElementType.Script||element.type==ElementType.style)this.parseAttribs(element)}return elements};Parser.prototype.parseAttribs=function Parser$parseAttribs(element){if(element.type!=ElementType.Script&&element.type!=ElementType.Style&&element.type!=ElementType.Tag)return;var tagName=element.data.split(Parser._reWhitespace,1)[0];var attribRaw=element.data.substring(tagName.length);if(attribRaw.length<1)return;var match;Parser._reAttrib.lastIndex=0;while(match=Parser._reAttrib.exec(attribRaw)){if(element.attribs==undefined)element.attribs={};if(typeof match[1]=="string"&&match[1].length){element.attribs[match[1]]=match[2]}else if(typeof match[3]=="string"&&match[3].length){element.attribs[match[3].toString()]=match[4].toString()}else if(typeof match[5]=="string"&&match[5].length){element.attribs[match[5]]=match[6]}else if(typeof match[7]=="string"&&match[7].length){element.attribs[match[7]]=match[7]}}};Parser.prototype.parseTagName=function Parser$parseTagName(data){if(data==null||data=="")return"";var match=Parser._reTagName.exec(data);if(!match)return"";return(match[1]?"/":"")+match[2]};Parser.prototype.parseTags=function Parser$parseTags(){var bufferEnd=this._buffer.length-1;while(Parser._reTags.test(this._buffer)){this._next=Parser._reTags.lastIndex-1;var tagSep=this._buffer.charAt(this._next);var rawData=this._buffer.substring(this._current,this._next);var element={raw:rawData,data:this._parseState==ElementType.Text?rawData:rawData.replace(Parser._reTrim,""),type:this._parseState};var elementName=this.parseTagName(element.data);if(this._tagStack.length){if(this._tagStack[this._tagStack.length-1]==ElementType.Script){if(elementName.toLowerCase()=="/script")this._tagStack.pop();else{if(element.raw.indexOf("!--")!=0){element.type=ElementType.Text;if(this._elements.length&&this._elements[this._elements.length-1].type==ElementType.Text){var prevElement=this._elements[this._elements.length-1];prevElement.raw=prevElement.data=prevElement.raw+this._prevTagSep+element.raw;element.raw=element.data=""}}}}else if(this._tagStack[this._tagStack.length-1]==ElementType.Style){if(elementName.toLowerCase()=="/style")this._tagStack.pop();else{if(element.raw.indexOf("!--")!=0){element.type=ElementType.Text;if(this._elements.length&&this._elements[this._elements.length-1].type==ElementType.Text){var prevElement=this._elements[this._elements.length-1];if(element.raw!=""){prevElement.raw=prevElement.data=prevElement.raw+this._prevTagSep+element.raw;element.raw=element.data=""}else{prevElement.raw=prevElement.data=prevElement.raw+this._prevTagSep}}else{if(element.raw!=""){element.raw=element.data=element.raw}}}}}else if(this._tagStack[this._tagStack.length-1]==ElementType.Comment){var rawLen=element.raw.length;if(element.raw.charAt(rawLen-2)=="-"&&element.raw.charAt(rawLen-1)=="-"&&tagSep==">"){this._tagStack.pop();if(this._elements.length&&this._elements[this._elements.length-1].type==ElementType.Comment){var prevElement=this._elements[this._elements.length-1];prevElement.raw=prevElement.data=(prevElement.raw+element.raw).replace(Parser._reTrimComment,"");element.raw=element.data="";element.type=ElementType.Text}else element.type=ElementType.Comment}else{element.type=ElementType.Comment;if(this._elements.length&&this._elements[this._elements.length-1].type==ElementType.Comment){var prevElement=this._elements[this._elements.length-1];prevElement.raw=prevElement.data=prevElement.raw+element.raw+tagSep;element.raw=element.data="";element.type=ElementType.Text}else element.raw=element.data=element.raw+tagSep}}}if(element.type==ElementType.Tag){element.name=elementName;var elementNameCI=elementName.toLowerCase();if(element.raw.indexOf("!--")==0){element.type=ElementType.Comment;delete element["name"];var rawLen=element.raw.length;if(element.raw.charAt(rawLen-1)=="-"&&element.raw.charAt(rawLen-2)=="-"&&tagSep==">")element.raw=element.data=element.raw.replace(Parser._reTrimComment,"");else{element.raw+=tagSep;this._tagStack.push(ElementType.Comment)}}else if(element.raw.indexOf("!")==0||element.raw.indexOf("?")==0){element.type=ElementType.Directive}else if(elementNameCI=="script"){element.type=ElementType.Script;if(element.data.charAt(element.data.length-1)!="/")this._tagStack.push(ElementType.Script)}else if(elementNameCI=="/script")element.type=ElementType.Script;else if(elementNameCI=="style"){element.type=ElementType.Style;if(element.data.charAt(element.data.length-1)!="/")this._tagStack.push(ElementType.Style)}else if(elementNameCI=="/style")element.type=ElementType.Style;if(element.name&&element.name.charAt(0)=="/")element.data=element.name}if(element.raw!=""||element.type!=ElementType.Text){if(this._options.includeLocation&&!element.location){element.location=this.getLocation(element.type==ElementType.Tag)}this.parseAttribs(element);this._elements.push(element);if(element.type!=ElementType.Text&&element.type!=ElementType.Comment&&element.type!=ElementType.Directive&&element.data.charAt(element.data.length-1)=="/")this._elements.push({raw:"/"+element.name,data:"/"+element.name,name:"/"+element.name,type:element.type})}this._parseState=tagSep=="<"?ElementType.Tag:ElementType.Text;this._current=this._next+1;this._prevTagSep=tagSep}if(this._options.includeLocation){this.getLocation();this._location.row+=this._location.inBuffer;this._location.inBuffer=0;this._location.charOffset=0}this._buffer=this._current<=bufferEnd?this._buffer.substring(this._current):"";this._current=0;this.writeHandler()};Parser.prototype.getLocation=function Parser$getLocation(startTag){var c,l=this._location,end=this._current-(startTag?1:0),chunk=startTag&&l.charOffset==0&&this._current==0;for(;l.charOffset<end;l.charOffset++){c=this._buffer.charAt(l.charOffset);if(c=="\n"){l.inBuffer++;l.col=0}else if(c!="\r"){l.col++}}return{line:l.row+l.inBuffer+1,col:l.col+(chunk?0:1)}};Parser.prototype.validateHandler=function Parser$validateHandler(handler){if(typeof handler!="object")throw new Error("Handler is not an object");if(typeof handler.reset!="function")throw new Error("Handler method 'reset' is invalid");if(typeof handler.done!="function")throw new Error("Handler method 'done' is invalid");if(typeof handler.writeTag!="function")throw new Error("Handler method 'writeTag' is invalid");if(typeof handler.writeText!="function")throw new Error("Handler method 'writeText' is invalid");if(typeof handler.writeComment!="function")throw new Error("Handler method 'writeComment' is invalid");if(typeof handler.writeDirective!="function")throw new Error("Handler method 'writeDirective' is invalid")};Parser.prototype.writeHandler=function Parser$writeHandler(forceFlush){forceFlush=!!forceFlush;if(this._tagStack.length&&!forceFlush)return;while(this._elements.length){var element=this._elements.shift();switch(element.type){case ElementType.Comment:this._handler.writeComment(element);break;case ElementType.Directive:this._handler.writeDirective(element);break;case ElementType.Text:this._handler.writeText(element);break;default:this._handler.writeTag(element);break}}};Parser.prototype.handleError=function Parser$handleError(error){if(typeof this._handler.error=="function")this._handler.error(error);else throw error};function RssHandler(callback){RssHandler.super_.call(this,callback,{ignoreWhitespace:true,verbose:false,enforceEmptyTags:false})}inherits(RssHandler,DefaultHandler);RssHandler.prototype.done=function RssHandler$done(){var feed={};var feedRoot;var found=DomUtils.getElementsByTagName(function(value){return value=="rss"||value=="feed"},this.dom,false);if(found.length){feedRoot=found[0]}if(feedRoot){if(feedRoot.name=="rss"){feed.type="rss";feedRoot=feedRoot.children[0];feed.id="";try{feed.title=DomUtils.getElementsByTagName("title",feedRoot.children,false)[0].children[0].data
}catch(ex){}try{feed.link=DomUtils.getElementsByTagName("link",feedRoot.children,false)[0].children[0].data}catch(ex){}try{feed.description=DomUtils.getElementsByTagName("description",feedRoot.children,false)[0].children[0].data}catch(ex){}try{feed.updated=new Date(DomUtils.getElementsByTagName("lastBuildDate",feedRoot.children,false)[0].children[0].data)}catch(ex){}try{feed.author=DomUtils.getElementsByTagName("managingEditor",feedRoot.children,false)[0].children[0].data}catch(ex){}feed.items=[];DomUtils.getElementsByTagName("item",feedRoot.children).forEach(function(item,index,list){var entry={};try{entry.id=DomUtils.getElementsByTagName("guid",item.children,false)[0].children[0].data}catch(ex){}try{entry.title=DomUtils.getElementsByTagName("title",item.children,false)[0].children[0].data}catch(ex){}try{entry.link=DomUtils.getElementsByTagName("link",item.children,false)[0].children[0].data}catch(ex){}try{entry.description=DomUtils.getElementsByTagName("description",item.children,false)[0].children[0].data}catch(ex){}try{entry.pubDate=new Date(DomUtils.getElementsByTagName("pubDate",item.children,false)[0].children[0].data)}catch(ex){}feed.items.push(entry)})}else{feed.type="atom";try{feed.id=DomUtils.getElementsByTagName("id",feedRoot.children,false)[0].children[0].data}catch(ex){}try{feed.title=DomUtils.getElementsByTagName("title",feedRoot.children,false)[0].children[0].data}catch(ex){}try{feed.link=DomUtils.getElementsByTagName("link",feedRoot.children,false)[0].attribs.href}catch(ex){}try{feed.description=DomUtils.getElementsByTagName("subtitle",feedRoot.children,false)[0].children[0].data}catch(ex){}try{feed.updated=new Date(DomUtils.getElementsByTagName("updated",feedRoot.children,false)[0].children[0].data)}catch(ex){}try{feed.author=DomUtils.getElementsByTagName("email",feedRoot.children,true)[0].children[0].data}catch(ex){}feed.items=[];DomUtils.getElementsByTagName("entry",feedRoot.children).forEach(function(item,index,list){var entry={};try{entry.id=DomUtils.getElementsByTagName("id",item.children,false)[0].children[0].data}catch(ex){}try{entry.title=DomUtils.getElementsByTagName("title",item.children,false)[0].children[0].data}catch(ex){}try{entry.link=DomUtils.getElementsByTagName("link",item.children,false)[0].attribs.href}catch(ex){}try{entry.description=DomUtils.getElementsByTagName("summary",item.children,false)[0].children[0].data}catch(ex){}try{entry.pubDate=new Date(DomUtils.getElementsByTagName("updated",item.children,false)[0].children[0].data)}catch(ex){}feed.items.push(entry)})}this.dom=feed}RssHandler.super_.prototype.done.call(this)};function DefaultHandler(callback,options){this.reset();this._options=options?options:{};if(this._options.ignoreWhitespace==undefined)this._options.ignoreWhitespace=false;if(this._options.verbose==undefined)this._options.verbose=true;if(this._options.enforceEmptyTags==undefined)this._options.enforceEmptyTags=true;if(typeof callback=="function")this._callback=callback}DefaultHandler._emptyTags={area:1,base:1,basefont:1,br:1,col:1,frame:1,hr:1,img:1,input:1,isindex:1,link:1,meta:1,param:1,embed:1};DefaultHandler.reWhitespace=/^\s*$/;DefaultHandler.prototype.dom=null;DefaultHandler.prototype.reset=function DefaultHandler$reset(){this.dom=[];this._done=false;this._tagStack=[];this._tagStack.last=function DefaultHandler$_tagStack$last(){return this.length?this[this.length-1]:null}};DefaultHandler.prototype.done=function DefaultHandler$done(){this._done=true;this.handleCallback(null)};DefaultHandler.prototype.writeTag=function DefaultHandler$writeTag(element){this.handleElement(element)};DefaultHandler.prototype.writeText=function DefaultHandler$writeText(element){if(this._options.ignoreWhitespace)if(DefaultHandler.reWhitespace.test(element.data))return;this.handleElement(element)};DefaultHandler.prototype.writeComment=function DefaultHandler$writeComment(element){this.handleElement(element)};DefaultHandler.prototype.writeDirective=function DefaultHandler$writeDirective(element){this.handleElement(element)};DefaultHandler.prototype.error=function DefaultHandler$error(error){this.handleCallback(error)};DefaultHandler.prototype._options=null;DefaultHandler.prototype._callback=null;DefaultHandler.prototype._done=false;DefaultHandler.prototype._tagStack=null;DefaultHandler.prototype.handleCallback=function DefaultHandler$handleCallback(error){if(typeof this._callback!="function")if(error)throw error;else return;this._callback(error,this.dom)};DefaultHandler.prototype.isEmptyTag=function(element){var name=element.name.toLowerCase();if(name.charAt(0)=="/"){name=name.substring(1)}return this._options.enforceEmptyTags&&!!DefaultHandler._emptyTags[name]};DefaultHandler.prototype.handleElement=function DefaultHandler$handleElement(element){if(this._done)this.handleCallback(new Error("Writing to the handler after done() called is not allowed without a reset()"));if(!this._options.verbose){delete element.raw;if(element.type=="tag"||element.type=="script"||element.type=="style")delete element.data}if(!this._tagStack.last()){if(element.type!=ElementType.Text&&element.type!=ElementType.Comment&&element.type!=ElementType.Directive){if(element.name.charAt(0)!="/"){this.dom.push(element);if(!this.isEmptyTag(element)){this._tagStack.push(element)}}}else this.dom.push(element)}else{if(element.type!=ElementType.Text&&element.type!=ElementType.Comment&&element.type!=ElementType.Directive){if(element.name.charAt(0)=="/"){var baseName=element.name.substring(1);if(!this.isEmptyTag(element)){var pos=this._tagStack.length-1;while(pos>-1&&this._tagStack[pos--].name!=baseName){}if(pos>-1||this._tagStack[0].name==baseName)while(pos<this._tagStack.length-1)this._tagStack.pop()}}else{if(!this._tagStack.last().children)this._tagStack.last().children=[];this._tagStack.last().children.push(element);if(!this.isEmptyTag(element))this._tagStack.push(element)}}else{if(!this._tagStack.last().children)this._tagStack.last().children=[];this._tagStack.last().children.push(element)}}};var DomUtils={testElement:function DomUtils$testElement(options,element){if(!element){return false}for(var key in options){if(key=="tag_name"){if(element.type!="tag"&&element.type!="script"&&element.type!="style"){return false}if(!options["tag_name"](element.name)){return false}}else if(key=="tag_type"){if(!options["tag_type"](element.type)){return false}}else if(key=="tag_contains"){if(element.type!="text"&&element.type!="comment"&&element.type!="directive"){return false}if(!options["tag_contains"](element.data)){return false}}else{if(!element.attribs||!options[key](element.attribs[key])){return false}}}return true},getElements:function DomUtils$getElements(options,currentElement,recurse,limit){recurse=recurse===undefined||recurse===null||!!recurse;limit=isNaN(parseInt(limit))?-1:parseInt(limit);if(!currentElement){return[]}var found=[];var elementList;function getTest(checkVal){return function(value){return value==checkVal}}for(var key in options){if(typeof options[key]!="function"){options[key]=getTest(options[key])}}if(DomUtils.testElement(options,currentElement)){found.push(currentElement)}if(limit>=0&&found.length>=limit){return found}if(recurse&&currentElement.children){elementList=currentElement.children}else if(currentElement instanceof Array){elementList=currentElement}else{return found}for(var i=0;i<elementList.length;i++){found=found.concat(DomUtils.getElements(options,elementList[i],recurse,limit));if(limit>=0&&found.length>=limit){break}}return found},getElementById:function DomUtils$getElementById(id,currentElement,recurse){var result=DomUtils.getElements({id:id},currentElement,recurse,1);return result.length?result[0]:null},getElementsByTagName:function DomUtils$getElementsByTagName(name,currentElement,recurse,limit){return DomUtils.getElements({tag_name:name},currentElement,recurse,limit)},getElementsByTagType:function DomUtils$getElementsByTagType(type,currentElement,recurse,limit){return DomUtils.getElements({tag_type:type},currentElement,recurse,limit)}};function inherits(ctor,superCtor){var tempCtor=function(){};tempCtor.prototype=superCtor.prototype;ctor.super_=superCtor;ctor.prototype=new tempCtor;ctor.prototype.constructor=ctor}exports.Parser=Parser;exports.DefaultHandler=DefaultHandler;exports.RssHandler=RssHandler;exports.ElementType=ElementType;exports.DomUtils=DomUtils})()}).call(this,"/node_modules/html-to-vdom/node_modules/htmlparser/lib/htmlparser.js","/node_modules/html-to-vdom/node_modules/htmlparser/lib")},{}],45:[function(require,module,exports){(function(global){(function(){var undefined;var arrayPool=[],objectPool=[];var idCounter=0;var keyPrefix=+new Date+"";var largeArraySize=75;var maxPoolSize=40;var whitespace=" \f "+"\n\r\u2028\u2029"+" ᠎              ";var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reFuncName=/^\s*function[ \n\r\t]+\w/;var reInterpolate=/<%=([\s\S]+?)%>/g;var reLeadingSpacesAndZeros=RegExp("^["+whitespace+"]*0+(?=.$)");var reNoMatch=/($^)/;var reThis=/\bthis\b/;var reUnescapedString=/['\n\r\t\u2028\u2029\\]/g;var contextProps=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"];var templateCounter=0;var argsClass="[object Arguments]",arrayClass="[object Array]",boolClass="[object Boolean]",dateClass="[object Date]",funcClass="[object Function]",numberClass="[object Number]",objectClass="[object Object]",regexpClass="[object RegExp]",stringClass="[object String]";var cloneableClasses={};cloneableClasses[funcClass]=false;cloneableClasses[argsClass]=cloneableClasses[arrayClass]=cloneableClasses[boolClass]=cloneableClasses[dateClass]=cloneableClasses[numberClass]=cloneableClasses[objectClass]=cloneableClasses[regexpClass]=cloneableClasses[stringClass]=true;var debounceOptions={leading:false,maxWait:0,trailing:false};var descriptor={configurable:false,enumerable:false,value:null,writable:false};var objectTypes={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};var root=objectTypes[typeof window]&&window||this;var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var freeGlobal=objectTypes[typeof global]&&global;if(freeGlobal&&(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal)){root=freeGlobal}function baseIndexOf(array,value,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0;while(++index<length){if(array[index]===value){return index}}return-1}function cacheIndexOf(cache,value){var type=typeof value;cache=cache.cache;if(type=="boolean"||value==null){return cache[value]?0:-1}if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value;cache=(cache=cache[type])&&cache[key];return type=="object"?cache&&baseIndexOf(cache,value)>-1?0:-1:cache?0:-1}function cachePush(value){var cache=this.cache,type=typeof value;if(type=="boolean"||value==null){cache[value]=true}else{if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value,typeCache=cache[type]||(cache[type]={});if(type=="object"){(typeCache[key]||(typeCache[key]=[])).push(value)}else{typeCache[key]=true}}}function charAtCallback(value){return value.charCodeAt(0)}function compareAscending(a,b){var ac=a.criteria,bc=b.criteria,index=-1,length=ac.length;while(++index<length){var value=ac[index],other=bc[index];if(value!==other){if(value>other||typeof value=="undefined"){return 1}if(value<other||typeof other=="undefined"){return-1}}}return a.index-b.index}function createCache(array){var index=-1,length=array.length,first=array[0],mid=array[length/2|0],last=array[length-1];if(first&&typeof first=="object"&&mid&&typeof mid=="object"&&last&&typeof last=="object"){return false}var cache=getObject();cache["false"]=cache["null"]=cache["true"]=cache["undefined"]=false;var result=getObject();result.array=array;result.cache=cache;result.push=cachePush;while(++index<length){result.push(array[index])}return result}function escapeStringChar(match){return"\\"+stringEscapes[match]}function getArray(){return arrayPool.pop()||[]}function getObject(){return objectPool.pop()||{array:null,cache:null,criteria:null,"false":false,index:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,value:null}}function releaseArray(array){array.length=0;if(arrayPool.length<maxPoolSize){arrayPool.push(array)}}function releaseObject(object){var cache=object.cache;if(cache){releaseObject(cache)}object.array=object.cache=object.criteria=object.object=object.number=object.string=object.value=null;if(objectPool.length<maxPoolSize){objectPool.push(object)}}function slice(array,start,end){start||(start=0);if(typeof end=="undefined"){end=array?array.length:0}var index=-1,length=end-start||0,result=Array(length<0?0:length);while(++index<length){result[index]=array[start+index]}return result}function runInContext(context){context=context?_.defaults(root.Object(),context,_.pick(root,contextProps)):root;var Array=context.Array,Boolean=context.Boolean,Date=context.Date,Function=context.Function,Math=context.Math,Number=context.Number,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError;var arrayRef=[];var objectProto=Object.prototype;var oldDash=context._;var toString=objectProto.toString;var reNative=RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$");var ceil=Math.ceil,clearTimeout=context.clearTimeout,floor=Math.floor,fnToString=Function.prototype.toString,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,hasOwnProperty=objectProto.hasOwnProperty,push=arrayRef.push,setTimeout=context.setTimeout,splice=arrayRef.splice,unshift=arrayRef.unshift;var defineProperty=function(){try{var o={},func=isNative(func=Object.defineProperty)&&func,result=func(o,o,o)&&func}catch(e){}return result}();var nativeCreate=isNative(nativeCreate=Object.create)&&nativeCreate,nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeIsFinite=context.isFinite,nativeIsNaN=context.isNaN,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,nativeParseInt=context.parseInt,nativeRandom=Math.random;var ctorByClass={};ctorByClass[arrayClass]=Array;ctorByClass[boolClass]=Boolean;ctorByClass[dateClass]=Date;ctorByClass[funcClass]=Function;ctorByClass[objectClass]=Object;ctorByClass[numberClass]=Number;ctorByClass[regexpClass]=RegExp;ctorByClass[stringClass]=String;function lodash(value){return value&&typeof value=="object"&&!isArray(value)&&hasOwnProperty.call(value,"__wrapped__")?value:new lodashWrapper(value)}function lodashWrapper(value,chainAll){this.__chain__=!!chainAll;this.__wrapped__=value}lodashWrapper.prototype=lodash.prototype;var support=lodash.support={};support.funcDecomp=!isNative(context.WinRTError)&&reThis.test(runInContext);support.funcNames=typeof Function.name=="string";lodash.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function baseBind(bindData){var func=bindData[0],partialArgs=bindData[2],thisArg=bindData[4];function bound(){if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(this instanceof bound){var thisBinding=baseCreate(func.prototype),result=func.apply(thisBinding,args||arguments);return isObject(result)?result:thisBinding}return func.apply(thisArg,args||arguments)}setBindData(bound,bindData);return bound}function baseClone(value,isDeep,callback,stackA,stackB){if(callback){var result=callback(value);if(typeof result!="undefined"){return result}}var isObj=isObject(value);if(isObj){var className=toString.call(value);if(!cloneableClasses[className]){return value}var ctor=ctorByClass[className];switch(className){case boolClass:case dateClass:return new ctor(+value);case numberClass:case stringClass:return new ctor(value);case regexpClass:result=ctor(value.source,reFlags.exec(value));result.lastIndex=value.lastIndex;return result}}else{return value}var isArr=isArray(value);if(isDeep){var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}result=isArr?ctor(value.length):{}}else{result=isArr?slice(value):assign({},value)}if(isArr){if(hasOwnProperty.call(value,"index")){result.index=value.index}if(hasOwnProperty.call(value,"input")){result.input=value.input}}if(!isDeep){return result}stackA.push(value);stackB.push(result);(isArr?forEach:forOwn)(value,function(objValue,key){result[key]=baseClone(objValue,isDeep,callback,stackA,stackB)});if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseCreate(prototype,properties){return isObject(prototype)?nativeCreate(prototype):{}}if(!nativeCreate){baseCreate=function(){function Object(){}return function(prototype){if(isObject(prototype)){Object.prototype=prototype;var result=new Object;Object.prototype=null}return result||context.Object()}}()}function baseCreateCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(typeof thisArg=="undefined"||!("prototype"in func)){return func}var bindData=func.__bindData__;if(typeof bindData=="undefined"){if(support.funcNames){bindData=!func.name}bindData=bindData||!support.funcDecomp;if(!bindData){var source=fnToString.call(func);if(!support.funcNames){bindData=!reFuncName.test(source)}if(!bindData){bindData=reThis.test(source);setBindData(func,bindData)}}}if(bindData===false||bindData!==true&&bindData[1]&1){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 2:return function(a,b){return func.call(thisArg,a,b)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)}}return bind(func,thisArg)}function baseCreateWrapper(bindData){var func=bindData[0],bitmask=bindData[1],partialArgs=bindData[2],partialRightArgs=bindData[3],thisArg=bindData[4],arity=bindData[5];var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,key=func;function bound(){var thisBinding=isBind?thisArg:this;if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(partialRightArgs||isCurry){args||(args=slice(arguments));if(partialRightArgs){push.apply(args,partialRightArgs)}if(isCurry&&args.length<arity){bitmask|=16&~32;return baseCreateWrapper([func,isCurryBound?bitmask:bitmask&~3,args,null,thisArg,arity])}}args||(args=arguments);if(isBindKey){func=thisBinding[key]}if(this instanceof bound){thisBinding=baseCreate(func.prototype);var result=func.apply(thisBinding,args);return isObject(result)?result:thisBinding}return func.apply(thisBinding,args)}setBindData(bound,bindData);return bound}function baseDifference(array,values){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,isLarge=length>=largeArraySize&&indexOf===baseIndexOf,result=[];if(isLarge){var cache=createCache(values);if(cache){indexOf=cacheIndexOf;values=cache}else{isLarge=false}}while(++index<length){var value=array[index];if(indexOf(values,value)<0){result.push(value)}}if(isLarge){releaseObject(values)}return result}function baseFlatten(array,isShallow,isStrict,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0,result=[];while(++index<length){var value=array[index];if(value&&typeof value=="object"&&typeof value.length=="number"&&(isArray(value)||isArguments(value))){if(!isShallow){value=baseFlatten(value,isShallow,isStrict)}var valIndex=-1,valLength=value.length,resIndex=result.length;result.length+=valLength;while(++valIndex<valLength){result[resIndex++]=value[valIndex]}}else if(!isStrict){result.push(value)}}return result}function baseIsEqual(a,b,callback,isWhere,stackA,stackB){if(callback){var result=callback(a,b);if(typeof result!="undefined"){return!!result}}if(a===b){return a!==0||1/a==1/b}var type=typeof a,otherType=typeof b;if(a===a&&!(a&&objectTypes[type])&&!(b&&objectTypes[otherType])){return false}if(a==null||b==null){return a===b}var className=toString.call(a),otherClass=toString.call(b);if(className==argsClass){className=objectClass}if(otherClass==argsClass){otherClass=objectClass}if(className!=otherClass){return false}switch(className){case boolClass:case dateClass:return+a==+b;case numberClass:return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case regexpClass:case stringClass:return a==String(b)}var isArr=className==arrayClass;if(!isArr){var aWrapped=hasOwnProperty.call(a,"__wrapped__"),bWrapped=hasOwnProperty.call(b,"__wrapped__");if(aWrapped||bWrapped){return baseIsEqual(aWrapped?a.__wrapped__:a,bWrapped?b.__wrapped__:b,callback,isWhere,stackA,stackB)}if(className!=objectClass){return false}var ctorA=a.constructor,ctorB=b.constructor;if(ctorA!=ctorB&&!(isFunction(ctorA)&&ctorA instanceof ctorA&&isFunction(ctorB)&&ctorB instanceof ctorB)&&("constructor"in a&&"constructor"in b)){return false}}var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==a){return stackB[length]==b}}var size=0;result=true;stackA.push(a);stackB.push(b);if(isArr){length=a.length;size=b.length;result=size==length;if(result||isWhere){while(size--){var index=length,value=b[size];if(isWhere){while(index--){if(result=baseIsEqual(a[index],value,callback,isWhere,stackA,stackB)){break}}}else if(!(result=baseIsEqual(a[size],value,callback,isWhere,stackA,stackB))){break}}}}else{forIn(b,function(value,key,b){if(hasOwnProperty.call(b,key)){size++;return result=hasOwnProperty.call(a,key)&&baseIsEqual(a[key],value,callback,isWhere,stackA,stackB)}});if(result&&!isWhere){forIn(a,function(value,key,a){if(hasOwnProperty.call(a,key)){return result=--size>-1}})}}stackA.pop();stackB.pop();if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseMerge(object,source,callback,stackA,stackB){(isArray(source)?forEach:forOwn)(source,function(source,key){var found,isArr,result=source,value=object[key];if(source&&((isArr=isArray(source))||isPlainObject(source))){var stackLength=stackA.length;while(stackLength--){if(found=stackA[stackLength]==source){value=stackB[stackLength];break}}if(!found){var isShallow;if(callback){result=callback(value,source);if(isShallow=typeof result!="undefined"){value=result}}if(!isShallow){value=isArr?isArray(value)?value:[]:isPlainObject(value)?value:{}}stackA.push(source);stackB.push(value);if(!isShallow){baseMerge(value,source,callback,stackA,stackB)}}}else{if(callback){result=callback(value,source);if(typeof result=="undefined"){result=source}}if(typeof result!="undefined"){value=result}}object[key]=value})}function baseRandom(min,max){return min+floor(nativeRandom()*(max-min+1))}function baseUniq(array,isSorted,callback){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,result=[];var isLarge=!isSorted&&length>=largeArraySize&&indexOf===baseIndexOf,seen=callback||isLarge?getArray():result;if(isLarge){var cache=createCache(seen);indexOf=cacheIndexOf;seen=cache}while(++index<length){var value=array[index],computed=callback?callback(value,index,array):value;if(isSorted?!index||seen[seen.length-1]!==computed:indexOf(seen,computed)<0){if(callback||isLarge){seen.push(computed)}result.push(value)}}if(isLarge){releaseArray(seen.array);releaseObject(seen)}else if(callback){releaseArray(seen)}return result}function createAggregator(setter){return function(collection,callback,thisArg){var result={};callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];setter(result,value,callback(value,index,collection),collection)}}else{forOwn(collection,function(value,key,collection){setter(result,value,callback(value,key,collection),collection)})}return result}}function createWrapper(func,bitmask,partialArgs,partialRightArgs,thisArg,arity){var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,isPartial=bitmask&16,isPartialRight=bitmask&32;if(!isBindKey&&!isFunction(func)){throw new TypeError}if(isPartial&&!partialArgs.length){bitmask&=~16;isPartial=partialArgs=false}if(isPartialRight&&!partialRightArgs.length){bitmask&=~32;isPartialRight=partialRightArgs=false}var bindData=func&&func.__bindData__;if(bindData&&bindData!==true){bindData=slice(bindData);if(bindData[2]){bindData[2]=slice(bindData[2])}if(bindData[3]){bindData[3]=slice(bindData[3])}if(isBind&&!(bindData[1]&1)){bindData[4]=thisArg}if(!isBind&&bindData[1]&1){bitmask|=8}if(isCurry&&!(bindData[1]&4)){bindData[5]=arity}if(isPartial){push.apply(bindData[2]||(bindData[2]=[]),partialArgs)}if(isPartialRight){unshift.apply(bindData[3]||(bindData[3]=[]),partialRightArgs)}bindData[1]|=bitmask;return createWrapper.apply(null,bindData)}var creater=bitmask==1||bitmask===17?baseBind:baseCreateWrapper;return creater([func,bitmask,partialArgs,partialRightArgs,thisArg,arity])}function escapeHtmlChar(match){return htmlEscapes[match]}function getIndexOf(){var result=(result=lodash.indexOf)===indexOf?baseIndexOf:result;return result}function isNative(value){return typeof value=="function"&&reNative.test(value)}var setBindData=!defineProperty?noop:function(func,value){descriptor.value=value;defineProperty(func,"__bindData__",descriptor)};function shimIsPlainObject(value){var ctor,result;if(!(value&&toString.call(value)==objectClass)||(ctor=value.constructor,isFunction(ctor)&&!(ctor instanceof ctor))){return false}forIn(value,function(value,key){result=key});return typeof result=="undefined"||hasOwnProperty.call(value,result)}function unescapeHtmlChar(match){return htmlUnescapes[match]}function isArguments(value){return value&&typeof value=="object"&&typeof value.length=="number"&&toString.call(value)==argsClass||false}var isArray=nativeIsArray||function(value){return value&&typeof value=="object"&&typeof value.length=="number"&&toString.call(value)==arrayClass||false};var shimKeys=function(object){var index,iterable=object,result=[];if(!iterable)return result;if(!objectTypes[typeof object])return result;for(index in iterable){if(hasOwnProperty.call(iterable,index)){result.push(index)}}return result};var keys=!nativeKeys?shimKeys:function(object){if(!isObject(object)){return[]}return nativeKeys(object)};var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var htmlUnescapes=invert(htmlEscapes);var reEscapedHtml=RegExp("("+keys(htmlUnescapes).join("|")+")","g"),reUnescapedHtml=RegExp("["+keys(htmlEscapes).join("")+"]","g");var assign=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;if(argsLength>3&&typeof args[argsLength-2]=="function"){var callback=baseCreateCallback(args[--argsLength-1],args[argsLength--],2)}else if(argsLength>2&&typeof args[argsLength-1]=="function"){callback=args[--argsLength]}while(++argsIndex<argsLength){iterable=args[argsIndex];if(iterable&&objectTypes[typeof iterable]){var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];result[index]=callback?callback(result[index],iterable[index]):iterable[index]}}}return result};function clone(value,isDeep,callback,thisArg){if(typeof isDeep!="boolean"&&isDeep!=null){thisArg=callback;callback=isDeep;isDeep=false}return baseClone(value,isDeep,typeof callback=="function"&&baseCreateCallback(callback,thisArg,1))}function cloneDeep(value,callback,thisArg){return baseClone(value,true,typeof callback=="function"&&baseCreateCallback(callback,thisArg,1))}function create(prototype,properties){var result=baseCreate(prototype);return properties?assign(result,properties):result}var defaults=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;while(++argsIndex<argsLength){iterable=args[argsIndex];if(iterable&&objectTypes[typeof iterable]){var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];if(typeof result[index]=="undefined")result[index]=iterable[index]}}}return result};function findKey(object,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forOwn(object,function(value,key,object){if(callback(value,key,object)){result=key;return false}});return result}function findLastKey(object,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forOwnRight(object,function(value,key,object){if(callback(value,key,object)){result=key;return false}});return result}var forIn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);for(index in iterable){if(callback(iterable[index],index,collection)===false)return result}return result};function forInRight(object,callback,thisArg){var pairs=[];forIn(object,function(value,key){pairs.push(key,value)});var length=pairs.length;callback=baseCreateCallback(callback,thisArg,3);while(length--){if(callback(pairs[length--],pairs[length],object)===false){break}}return object}var forOwn=function(collection,callback,thisArg){var index,iterable=collection,result=iterable;if(!iterable)return result;if(!objectTypes[typeof iterable])return result;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);var ownIndex=-1,ownProps=objectTypes[typeof iterable]&&keys(iterable),length=ownProps?ownProps.length:0;while(++ownIndex<length){index=ownProps[ownIndex];if(callback(iterable[index],index,collection)===false)return result}return result};function forOwnRight(object,callback,thisArg){var props=keys(object),length=props.length;callback=baseCreateCallback(callback,thisArg,3);while(length--){var key=props[length];if(callback(object[key],key,object)===false){break}}return object}function functions(object){var result=[];forIn(object,function(value,key){if(isFunction(value)){result.push(key)}});return result.sort()}function has(object,key){return object?hasOwnProperty.call(object,key):false}function invert(object){var index=-1,props=keys(object),length=props.length,result={};while(++index<length){var key=props[index];result[object[key]]=key}return result}function isBoolean(value){return value===true||value===false||value&&typeof value=="object"&&toString.call(value)==boolClass||false}function isDate(value){return value&&typeof value=="object"&&toString.call(value)==dateClass||false}function isElement(value){return value&&value.nodeType===1||false}function isEmpty(value){var result=true;if(!value){return result}var className=toString.call(value),length=value.length;if(className==arrayClass||className==stringClass||className==argsClass||className==objectClass&&typeof length=="number"&&isFunction(value.splice)){return!length}forOwn(value,function(){return result=false});return result}function isEqual(a,b,callback,thisArg){return baseIsEqual(a,b,typeof callback=="function"&&baseCreateCallback(callback,thisArg,2))}function isFinite(value){return nativeIsFinite(value)&&!nativeIsNaN(parseFloat(value))}function isFunction(value){return typeof value=="function"
}function isObject(value){return!!(value&&objectTypes[typeof value])}function isNaN(value){return isNumber(value)&&value!=+value}function isNull(value){return value===null}function isNumber(value){return typeof value=="number"||value&&typeof value=="object"&&toString.call(value)==numberClass||false}var isPlainObject=!getPrototypeOf?shimIsPlainObject:function(value){if(!(value&&toString.call(value)==objectClass)){return false}var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)};function isRegExp(value){return value&&typeof value=="object"&&toString.call(value)==regexpClass||false}function isString(value){return typeof value=="string"||value&&typeof value=="object"&&toString.call(value)==stringClass||false}function isUndefined(value){return typeof value=="undefined"}function mapValues(object,callback,thisArg){var result={};callback=lodash.createCallback(callback,thisArg,3);forOwn(object,function(value,key,object){result[key]=callback(value,key,object)});return result}function merge(object){var args=arguments,length=2;if(!isObject(object)){return object}if(typeof args[2]!="number"){length=args.length}if(length>3&&typeof args[length-2]=="function"){var callback=baseCreateCallback(args[--length-1],args[length--],2)}else if(length>2&&typeof args[length-1]=="function"){callback=args[--length]}var sources=slice(arguments,1,length),index=-1,stackA=getArray(),stackB=getArray();while(++index<length){baseMerge(object,sources[index],callback,stackA,stackB)}releaseArray(stackA);releaseArray(stackB);return object}function omit(object,callback,thisArg){var result={};if(typeof callback!="function"){var props=[];forIn(object,function(value,key){props.push(key)});props=baseDifference(props,baseFlatten(arguments,true,false,1));var index=-1,length=props.length;while(++index<length){var key=props[index];result[key]=object[key]}}else{callback=lodash.createCallback(callback,thisArg,3);forIn(object,function(value,key,object){if(!callback(value,key,object)){result[key]=value}})}return result}function pairs(object){var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}function pick(object,callback,thisArg){var result={};if(typeof callback!="function"){var index=-1,props=baseFlatten(arguments,true,false,1),length=isObject(object)?props.length:0;while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}}else{callback=lodash.createCallback(callback,thisArg,3);forIn(object,function(value,key,object){if(callback(value,key,object)){result[key]=value}})}return result}function transform(object,callback,accumulator,thisArg){var isArr=isArray(object);if(accumulator==null){if(isArr){accumulator=[]}else{var ctor=object&&object.constructor,proto=ctor&&ctor.prototype;accumulator=baseCreate(proto)}}if(callback){callback=lodash.createCallback(callback,thisArg,4);(isArr?forEach:forOwn)(object,function(value,index,object){return callback(accumulator,value,index,object)})}return accumulator}function values(object){var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}function at(collection){var args=arguments,index=-1,props=baseFlatten(args,true,false,1),length=args[2]&&args[2][args[1]]===collection?1:props.length,result=Array(length);while(++index<length){result[index]=collection[props[index]]}return result}function contains(collection,target,fromIndex){var index=-1,indexOf=getIndexOf(),length=collection?collection.length:0,result=false;fromIndex=(fromIndex<0?nativeMax(0,length+fromIndex):fromIndex)||0;if(isArray(collection)){result=indexOf(collection,target,fromIndex)>-1}else if(typeof length=="number"){result=(isString(collection)?collection.indexOf(target,fromIndex):indexOf(collection,target,fromIndex))>-1}else{forOwn(collection,function(value){if(++index>=fromIndex){return!(result=value===target)}})}return result}var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key]++:result[key]=1});function every(collection,callback,thisArg){var result=true;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){if(!(result=!!callback(collection[index],index,collection))){break}}}else{forOwn(collection,function(value,index,collection){return result=!!callback(value,index,collection)})}return result}function filter(collection,callback,thisArg){var result=[];callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];if(callback(value,index,collection)){result.push(value)}}}else{forOwn(collection,function(value,index,collection){if(callback(value,index,collection)){result.push(value)}})}return result}function find(collection,callback,thisArg){callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){var value=collection[index];if(callback(value,index,collection)){return value}}}else{var result;forOwn(collection,function(value,index,collection){if(callback(value,index,collection)){result=value;return false}});return result}}function findLast(collection,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);forEachRight(collection,function(value,index,collection){if(callback(value,index,collection)){result=value;return false}});return result}function forEach(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);if(typeof length=="number"){while(++index<length){if(callback(collection[index],index,collection)===false){break}}}else{forOwn(collection,callback)}return collection}function forEachRight(collection,callback,thisArg){var length=collection?collection.length:0;callback=callback&&typeof thisArg=="undefined"?callback:baseCreateCallback(callback,thisArg,3);if(typeof length=="number"){while(length--){if(callback(collection[length],length,collection)===false){break}}}else{var props=keys(collection);length=props.length;forOwn(collection,function(value,key,collection){key=props?props[--length]:--length;return callback(collection[key],key,collection)})}return collection}var groupBy=createAggregator(function(result,value,key){(hasOwnProperty.call(result,key)?result[key]:result[key]=[]).push(value)});var indexBy=createAggregator(function(result,value,key){result[key]=value});function invoke(collection,methodName){var args=slice(arguments,2),index=-1,isFunc=typeof methodName=="function",length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);forEach(collection,function(value){result[++index]=(isFunc?methodName:value[methodName]).apply(value,args)});return result}function map(collection,callback,thisArg){var index=-1,length=collection?collection.length:0;callback=lodash.createCallback(callback,thisArg,3);if(typeof length=="number"){var result=Array(length);while(++index<length){result[index]=callback(collection[index],index,collection)}}else{result=[];forOwn(collection,function(value,key,collection){result[++index]=callback(value,key,collection)})}return result}function max(collection,callback,thisArg){var computed=-Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];if(value>result){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current>computed){computed=current;result=value}})}return result}function min(collection,callback,thisArg){var computed=Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];if(value<result){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current<computed){computed=current;result=value}})}return result}var pluck=map;function reduce(collection,callback,accumulator,thisArg){if(!collection)return accumulator;var noaccum=arguments.length<3;callback=lodash.createCallback(callback,thisArg,4);var index=-1,length=collection.length;if(typeof length=="number"){if(noaccum){accumulator=collection[++index]}while(++index<length){accumulator=callback(accumulator,collection[index],index,collection)}}else{forOwn(collection,function(value,index,collection){accumulator=noaccum?(noaccum=false,value):callback(accumulator,value,index,collection)})}return accumulator}function reduceRight(collection,callback,accumulator,thisArg){var noaccum=arguments.length<3;callback=lodash.createCallback(callback,thisArg,4);forEachRight(collection,function(value,index,collection){accumulator=noaccum?(noaccum=false,value):callback(accumulator,value,index,collection)});return accumulator}function reject(collection,callback,thisArg){callback=lodash.createCallback(callback,thisArg,3);return filter(collection,function(value,index,collection){return!callback(value,index,collection)})}function sample(collection,n,guard){if(collection&&typeof collection.length!="number"){collection=values(collection)}if(n==null||guard){return collection?collection[baseRandom(0,collection.length-1)]:undefined}var result=shuffle(collection);result.length=nativeMin(nativeMax(0,n),result.length);return result}function shuffle(collection){var index=-1,length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);forEach(collection,function(value){var rand=baseRandom(0,++index);result[index]=result[rand];result[rand]=value});return result}function size(collection){var length=collection?collection.length:0;return typeof length=="number"?length:keys(collection).length}function some(collection,callback,thisArg){var result;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++index<length){if(result=callback(collection[index],index,collection)){break}}}else{forOwn(collection,function(value,index,collection){return!(result=callback(value,index,collection))})}return!!result}function sortBy(collection,callback,thisArg){var index=-1,isArr=isArray(callback),length=collection?collection.length:0,result=Array(typeof length=="number"?length:0);if(!isArr){callback=lodash.createCallback(callback,thisArg,3)}forEach(collection,function(value,key,collection){var object=result[++index]=getObject();if(isArr){object.criteria=map(callback,function(key){return value[key]})}else{(object.criteria=getArray())[0]=callback(value,key,collection)}object.index=index;object.value=value});length=result.length;result.sort(compareAscending);while(length--){var object=result[length];result[length]=object.value;if(!isArr){releaseArray(object.criteria)}releaseObject(object)}return result}function toArray(collection){if(collection&&typeof collection.length=="number"){return slice(collection)}return values(collection)}var where=filter;function compact(array){var index=-1,length=array?array.length:0,result=[];while(++index<length){var value=array[index];if(value){result.push(value)}}return result}function difference(array){return baseDifference(array,baseFlatten(arguments,true,true,1))}function findIndex(array,callback,thisArg){var index=-1,length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(++index<length){if(callback(array[index],index,array)){return index}}return-1}function findLastIndex(array,callback,thisArg){var length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(length--){if(callback(array[length],length,array)){return length}}return-1}function first(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=-1;callback=lodash.createCallback(callback,thisArg,3);while(++index<length&&callback(array[index],index,array)){n++}}else{n=callback;if(n==null||thisArg){return array?array[0]:undefined}}return slice(array,0,nativeMin(nativeMax(0,n),length))}function flatten(array,isShallow,callback,thisArg){if(typeof isShallow!="boolean"&&isShallow!=null){thisArg=callback;callback=typeof isShallow!="function"&&thisArg&&thisArg[isShallow]===array?null:isShallow;isShallow=false}if(callback!=null){array=map(array,callback,thisArg)}return baseFlatten(array,isShallow)}function indexOf(array,value,fromIndex){if(typeof fromIndex=="number"){var length=array?array.length:0;fromIndex=fromIndex<0?nativeMax(0,length+fromIndex):fromIndex||0}else if(fromIndex){var index=sortedIndex(array,value);return array[index]===value?index:-1}return baseIndexOf(array,value,fromIndex)}function initial(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=length;callback=lodash.createCallback(callback,thisArg,3);while(index--&&callback(array[index],index,array)){n++}}else{n=callback==null||thisArg?1:callback||n}return slice(array,0,nativeMin(nativeMax(0,length-n),length))}function intersection(){var args=[],argsIndex=-1,argsLength=arguments.length,caches=getArray(),indexOf=getIndexOf(),trustIndexOf=indexOf===baseIndexOf,seen=getArray();while(++argsIndex<argsLength){var value=arguments[argsIndex];if(isArray(value)||isArguments(value)){args.push(value);caches.push(trustIndexOf&&value.length>=largeArraySize&&createCache(argsIndex?args[argsIndex]:seen))}}var array=args[0],index=-1,length=array?array.length:0,result=[];outer:while(++index<length){var cache=caches[0];value=array[index];if((cache?cacheIndexOf(cache,value):indexOf(seen,value))<0){argsIndex=argsLength;(cache||seen).push(value);while(--argsIndex){cache=caches[argsIndex];if((cache?cacheIndexOf(cache,value):indexOf(args[argsIndex],value))<0){continue outer}}result.push(value)}}while(argsLength--){cache=caches[argsLength];if(cache){releaseObject(cache)}}releaseArray(caches);releaseArray(seen);return result}function last(array,callback,thisArg){var n=0,length=array?array.length:0;if(typeof callback!="number"&&callback!=null){var index=length;callback=lodash.createCallback(callback,thisArg,3);while(index--&&callback(array[index],index,array)){n++}}else{n=callback;if(n==null||thisArg){return array?array[length-1]:undefined}}return slice(array,nativeMax(0,length-n))}function lastIndexOf(array,value,fromIndex){var index=array?array.length:0;if(typeof fromIndex=="number"){index=(fromIndex<0?nativeMax(0,index+fromIndex):nativeMin(fromIndex,index-1))+1}while(index--){if(array[index]===value){return index}}return-1}function pull(array){var args=arguments,argsIndex=0,argsLength=args.length,length=array?array.length:0;while(++argsIndex<argsLength){var index=-1,value=args[argsIndex];while(++index<length){if(array[index]===value){splice.call(array,index--,1);length--}}}return array}function range(start,end,step){start=+start||0;step=typeof step=="number"?step:+step||1;if(end==null){end=start;start=0}var index=-1,length=nativeMax(0,ceil((end-start)/(step||1))),result=Array(length);while(++index<length){result[index]=start;start+=step}return result}function remove(array,callback,thisArg){var index=-1,length=array?array.length:0,result=[];callback=lodash.createCallback(callback,thisArg,3);while(++index<length){var value=array[index];if(callback(value,index,array)){result.push(value);splice.call(array,index--,1);length--}}return result}function rest(array,callback,thisArg){if(typeof callback!="number"&&callback!=null){var n=0,index=-1,length=array?array.length:0;callback=lodash.createCallback(callback,thisArg,3);while(++index<length&&callback(array[index],index,array)){n++}}else{n=callback==null||thisArg?1:nativeMax(0,callback)}return slice(array,n)}function sortedIndex(array,value,callback,thisArg){var low=0,high=array?array.length:low;callback=callback?lodash.createCallback(callback,thisArg,1):identity;value=callback(value);while(low<high){var mid=low+high>>>1;callback(array[mid])<value?low=mid+1:high=mid}return low}function union(){return baseUniq(baseFlatten(arguments,true,true))}function uniq(array,isSorted,callback,thisArg){if(typeof isSorted!="boolean"&&isSorted!=null){thisArg=callback;callback=typeof isSorted!="function"&&thisArg&&thisArg[isSorted]===array?null:isSorted;isSorted=false}if(callback!=null){callback=lodash.createCallback(callback,thisArg,3)}return baseUniq(array,isSorted,callback)}function without(array){return baseDifference(array,slice(arguments,1))}function xor(){var index=-1,length=arguments.length;while(++index<length){var array=arguments[index];if(isArray(array)||isArguments(array)){var result=result?baseUniq(baseDifference(result,array).concat(baseDifference(array,result))):array}}return result||[]}function zip(){var array=arguments.length>1?arguments:arguments[0],index=-1,length=array?max(pluck(array,"length")):0,result=Array(length<0?0:length);while(++index<length){result[index]=pluck(array,index)}return result}function zipObject(keys,values){var index=-1,length=keys?keys.length:0,result={};if(!values&&length&&!isArray(keys[0])){values=[]}while(++index<length){var key=keys[index];if(values){result[key]=values[index]}else if(key){result[key[0]]=key[1]}}return result}function after(n,func){if(!isFunction(func)){throw new TypeError}return function(){if(--n<1){return func.apply(this,arguments)}}}function bind(func,thisArg){return arguments.length>2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}function bindAll(object){var funcs=arguments.length>1?baseFlatten(arguments,true,false,1):functions(object),index=-1,length=funcs.length;while(++index<length){var key=funcs[index];object[key]=createWrapper(object[key],1,null,null,object)}return object}function bindKey(object,key){return arguments.length>2?createWrapper(key,19,slice(arguments,2),null,object):createWrapper(key,3,null,null,object)}function compose(){var funcs=arguments,length=funcs.length;while(length--){if(!isFunction(funcs[length])){throw new TypeError}}return function(){var args=arguments,length=funcs.length;while(length--){args=[funcs[length].apply(this,args)]}return args[0]}}function curry(func,arity){arity=typeof arity=="number"?arity:+arity||func.length;return createWrapper(func,4,null,null,null,arity)}function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(!isFunction(func)){throw new TypeError}wait=nativeMax(0,wait)||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=options.leading;maxWait="maxWait"in options&&(nativeMax(wait,options.maxWait)||0);trailing="trailing"in options?options.trailing:trailing}var delayed=function(){var remaining=wait-(now()-stamp);if(remaining<=0){if(maxTimeoutId){clearTimeout(maxTimeoutId)}var isCalled=trailingCall;maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}}else{timeoutId=setTimeout(delayed,remaining)}};var maxDelayed=function(){if(timeoutId){clearTimeout(timeoutId)}maxTimeoutId=timeoutId=trailingCall=undefined;if(trailing||maxWait!==wait){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}};return function(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=null}return result}}function defer(func){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,1);return setTimeout(function(){func.apply(undefined,args)},1)}function delay(func,wait){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,2);return setTimeout(function(){func.apply(undefined,args)},wait)}function memoize(func,resolver){if(!isFunction(func)){throw new TypeError}var memoized=function(){var cache=memoized.cache,key=resolver?resolver.apply(this,arguments):keyPrefix+arguments[0];return hasOwnProperty.call(cache,key)?cache[key]:cache[key]=func.apply(this,arguments)};memoized.cache={};return memoized}function once(func){var ran,result;if(!isFunction(func)){throw new TypeError}return function(){if(ran){return result}ran=true;result=func.apply(this,arguments);func=null;return result}}function partial(func){return createWrapper(func,16,slice(arguments,1))}function partialRight(func){return createWrapper(func,32,null,slice(arguments,1))}function throttle(func,wait,options){var leading=true,trailing=true;if(!isFunction(func)){throw new TypeError}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?options.leading:leading;trailing="trailing"in options?options.trailing:trailing}debounceOptions.leading=leading;debounceOptions.maxWait=wait;debounceOptions.trailing=trailing;return debounce(func,wait,debounceOptions)}function wrap(value,wrapper){return createWrapper(wrapper,16,[value])}function constant(value){return function(){return value}}function createCallback(func,thisArg,argCount){var type=typeof func;if(func==null||type=="function"){return baseCreateCallback(func,thisArg,argCount)}if(type!="object"){return property(func)}var props=keys(func),key=props[0],a=func[key];if(props.length==1&&a===a&&!isObject(a)){return function(object){var b=object[key];return a===b&&(a!==0||1/a==1/b)}}return function(object){var length=props.length,result=false;while(length--){if(!(result=baseIsEqual(object[props[length]],func[props[length]],null,true))){break}}return result}}function escape(string){return string==null?"":String(string).replace(reUnescapedHtml,escapeHtmlChar)}function identity(value){return value}function mixin(object,source,options){var chain=true,methodNames=source&&functions(source);if(!source||!options&&!methodNames.length){if(options==null){options=source}ctor=lodashWrapper;source=object;object=lodash;methodNames=functions(source)}if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}var ctor=object,isFunc=isFunction(ctor);forEach(methodNames,function(methodName){var func=object[methodName]=source[methodName];if(isFunc){ctor.prototype[methodName]=function(){var chainAll=this.__chain__,value=this.__wrapped__,args=[value];push.apply(args,arguments);var result=func.apply(object,args);if(chain||chainAll){if(value===result&&isObject(result)){return this}result=new ctor(result);result.__chain__=chainAll}return result}}})}function noConflict(){context._=oldDash;return this}function noop(){}var now=isNative(now=Date.now)&&now||function(){return(new Date).getTime()};var parseInt=nativeParseInt(whitespace+"08")==8?nativeParseInt:function(value,radix){return nativeParseInt(isString(value)?value.replace(reLeadingSpacesAndZeros,""):value,radix||0)};function property(key){return function(object){return object[key]}}function random(min,max,floating){var noMin=min==null,noMax=max==null;if(floating==null){if(typeof min=="boolean"&&noMax){floating=min;min=1}else if(!noMax&&typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}function result(object,key){if(object){var value=object[key];return isFunction(value)?object[key]():value}}function template(text,data,options){var settings=lodash.templateSettings;text=String(text||"");options=defaults({},options,settings);var imports=defaults({},options.imports,settings.imports),importsKeys=keys(imports),importsValues=values(imports);var isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");text.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=text.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable,hasVariable=variable;if(!hasVariable){variable="obj";source="with ("+variable+") {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+variable+") {\n"+(hasVariable?"":variable+" || ("+variable+" = {});\n")+"var __t, __p = '', __e = _.escape"+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var sourceURL="\n/*\n//# sourceURL="+(options.sourceURL||"/lodash/template/source["+templateCounter++ +"]")+"\n*/";try{var result=Function(importsKeys,"return "+source+sourceURL).apply(undefined,importsValues)}catch(e){e.source=source;throw e}if(data){return result(data)}result.source=source;return result}function times(n,callback,thisArg){n=(n=+n)>-1?n:0;var index=-1,result=Array(n);callback=baseCreateCallback(callback,thisArg,1);while(++index<n){result[index]=callback(index)}return result}function unescape(string){return string==null?"":String(string).replace(reEscapedHtml,unescapeHtmlChar)}function uniqueId(prefix){var id=++idCounter;return String(prefix==null?"":prefix)+id}function chain(value){value=new lodashWrapper(value);value.__chain__=true;return value}function tap(value,interceptor){interceptor(value);return value}function wrapperChain(){this.__chain__=true;return this}function wrapperToString(){return String(this.__wrapped__)}function wrapperValueOf(){return this.__wrapped__}lodash.after=after;lodash.assign=assign;lodash.at=at;lodash.bind=bind;lodash.bindAll=bindAll;lodash.bindKey=bindKey;lodash.chain=chain;lodash.compact=compact;lodash.compose=compose;lodash.constant=constant;lodash.countBy=countBy;lodash.create=create;lodash.createCallback=createCallback;lodash.curry=curry;lodash.debounce=debounce;lodash.defaults=defaults;lodash.defer=defer;lodash.delay=delay;lodash.difference=difference;lodash.filter=filter;lodash.flatten=flatten;lodash.forEach=forEach;lodash.forEachRight=forEachRight;lodash.forIn=forIn;lodash.forInRight=forInRight;lodash.forOwn=forOwn;lodash.forOwnRight=forOwnRight;lodash.functions=functions;lodash.groupBy=groupBy;lodash.indexBy=indexBy;lodash.initial=initial;lodash.intersection=intersection;lodash.invert=invert;lodash.invoke=invoke;lodash.keys=keys;lodash.map=map;lodash.mapValues=mapValues;lodash.max=max;lodash.memoize=memoize;lodash.merge=merge;lodash.min=min;lodash.omit=omit;lodash.once=once;lodash.pairs=pairs;lodash.partial=partial;lodash.partialRight=partialRight;lodash.pick=pick;lodash.pluck=pluck;lodash.property=property;lodash.pull=pull;lodash.range=range;lodash.reject=reject;lodash.remove=remove;lodash.rest=rest;lodash.shuffle=shuffle;lodash.sortBy=sortBy;lodash.tap=tap;lodash.throttle=throttle;lodash.times=times;lodash.toArray=toArray;lodash.transform=transform;lodash.union=union;lodash.uniq=uniq;lodash.values=values;lodash.where=where;lodash.without=without;lodash.wrap=wrap;lodash.xor=xor;lodash.zip=zip;lodash.zipObject=zipObject;lodash.collect=map;lodash.drop=rest;lodash.each=forEach;lodash.eachRight=forEachRight;lodash.extend=assign;lodash.methods=functions;lodash.object=zipObject;lodash.select=filter;lodash.tail=rest;lodash.unique=uniq;lodash.unzip=zip;mixin(lodash);lodash.clone=clone;lodash.cloneDeep=cloneDeep;lodash.contains=contains;lodash.escape=escape;lodash.every=every;lodash.find=find;lodash.findIndex=findIndex;lodash.findKey=findKey;lodash.findLast=findLast;lodash.findLastIndex=findLastIndex;lodash.findLastKey=findLastKey;lodash.has=has;lodash.identity=identity;lodash.indexOf=indexOf;lodash.isArguments=isArguments;lodash.isArray=isArray;lodash.isBoolean=isBoolean;lodash.isDate=isDate;lodash.isElement=isElement;lodash.isEmpty=isEmpty;lodash.isEqual=isEqual;lodash.isFinite=isFinite;lodash.isFunction=isFunction;lodash.isNaN=isNaN;lodash.isNull=isNull;lodash.isNumber=isNumber;lodash.isObject=isObject;lodash.isPlainObject=isPlainObject;lodash.isRegExp=isRegExp;lodash.isString=isString;lodash.isUndefined=isUndefined;lodash.lastIndexOf=lastIndexOf;lodash.mixin=mixin;lodash.noConflict=noConflict;lodash.noop=noop;lodash.now=now;lodash.parseInt=parseInt;lodash.random=random;lodash.reduce=reduce;lodash.reduceRight=reduceRight;lodash.result=result;lodash.runInContext=runInContext;lodash.size=size;lodash.some=some;lodash.sortedIndex=sortedIndex;lodash.template=template;lodash.unescape=unescape;lodash.uniqueId=uniqueId;lodash.all=every;lodash.any=some;lodash.detect=find;lodash.findWhere=find;lodash.foldl=reduce;lodash.foldr=reduceRight;lodash.include=contains;lodash.inject=reduce;mixin(function(){var source={};forOwn(lodash,function(func,methodName){if(!lodash.prototype[methodName]){source[methodName]=func}});return source}(),false);lodash.first=first;lodash.last=last;lodash.sample=sample;lodash.take=first;lodash.head=first;forOwn(lodash,function(func,methodName){var callbackable=methodName!=="sample";if(!lodash.prototype[methodName]){lodash.prototype[methodName]=function(n,guard){var chainAll=this.__chain__,result=func(this.__wrapped__,n,guard);return!chainAll&&(n==null||guard&&!(callbackable&&typeof n=="function"))?result:new lodashWrapper(result,chainAll)}}});lodash.VERSION="2.4.1";lodash.prototype.chain=wrapperChain;lodash.prototype.toString=wrapperToString;lodash.prototype.value=wrapperValueOf;lodash.prototype.valueOf=wrapperValueOf;forEach(["join","pop","shift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){var chainAll=this.__chain__,result=func.apply(this.__wrapped__,arguments);return chainAll?new lodashWrapper(result,chainAll):result}});forEach(["push","reverse","sort","unshift"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){func.apply(this.__wrapped__,arguments);return this}});forEach(["concat","slice","splice"],function(methodName){var func=arrayRef[methodName];lodash.prototype[methodName]=function(){return new lodashWrapper(func.apply(this.__wrapped__,arguments),this.__chain__)}});return lodash}var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root._=_;define(function(){return _})}else if(freeExports&&freeModule){if(moduleExports){(freeModule.exports=_)._=_}else{freeExports._=_}}else{root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})
},{}],46:[function(require,module,exports){module.exports=isHook;function isHook(hook){return hook&&typeof hook.hook==="function"&&!hook.hasOwnProperty("hook")}},{}],47:[function(require,module,exports){var version=require("./version");module.exports=isVirtualNode;function isVirtualNode(x){return x&&x.type==="VirtualNode"&&x.version===version}},{"./version":49}],48:[function(require,module,exports){module.exports=isWidget;function isWidget(w){return w&&w.type==="Widget"}},{}],49:[function(require,module,exports){module.exports="1"},{}],50:[function(require,module,exports){var version=require("./version");var isVNode=require("./is-vnode");var isWidget=require("./is-widget");var isVHook=require("./is-vhook");module.exports=VirtualNode;var noProperties={};var noChildren=[];function VirtualNode(tagName,properties,children,key,namespace){this.tagName=tagName;this.properties=properties||noProperties;this.children=children||noChildren;this.key=key!=null?String(key):undefined;this.namespace=typeof namespace==="string"?namespace:null;var count=children&&children.length||0;var descendants=0;var hasWidgets=false;var descendantHooks=false;var hooks;for(var propName in properties){if(properties.hasOwnProperty(propName)){var property=properties[propName];if(isVHook(property)){if(!hooks){hooks={}}hooks[propName]=property}}}for(var i=0;i<count;i++){var child=children[i];if(isVNode(child)){descendants+=child.count||0;if(!hasWidgets&&child.hasWidgets){hasWidgets=true}if(!descendantHooks&&(child.hooks||child.descendantHooks)){descendantHooks=true}}else if(!hasWidgets&&isWidget(child)){if(typeof child.destroy==="function"){hasWidgets=true}}}this.count=count+descendants;this.hasWidgets=hasWidgets;this.hooks=hooks;this.descendantHooks=descendantHooks}VirtualNode.prototype.version=version;VirtualNode.prototype.type="VirtualNode"},{"./is-vhook":46,"./is-vnode":47,"./is-widget":48,"./version":49}],51:[function(require,module,exports){var version=require("./version");module.exports=VirtualText;function VirtualText(text){this.text=String(text)}VirtualText.prototype.version=version;VirtualText.prototype.type="VirtualText"},{"./version":49}],"html-to-vdom":[function(require,module,exports){var convertHTML=require("./lib/html-to-vdom");module.exports=convertHTML},{"./lib/html-to-vdom":3}]},{},[]);var src='<div class="landing"><div class="container"><section id="pages"><section role="main" class="page create"><div class="room cf"><a href="/" title="Welcome to Talky!" class="talky-logo"></a><form id="createRoom" class="cf"><p>Truly simple video chat and screen sharing for small groups.</p><input id="sessionInput" placeholder="Name the conversation" autofocus="autofocus" type="text"><button type="submit" class="primary large">Let’s go!</button></form></div><div class="features cf"><h2>Anonymous. Peer‑to‑peer. No plugins, signup, or payment required.</h2><div class="feature"><h3>Group video chat</h3><p>Add up to 5 people to the conversation </p></div><div class="feature"><h3>Screen sharing</h3><p>Easily add anyone\'s screen to the conversation</p></div><div class="feature"><h3>Locked rooms</h3><p>Add a shared key to a room for added privacy</p></div><div class="feature"><h3>Mobile, too!</h3><p> \nTalky iOS is available</p><a href="https://itunes.apple.com/app/talky-free-video-conferencing/id882057960" title="Talky iOS">on the App Store</a></div></div><div class="quote cf"><blockquote>“Talky is awesome.”</blockquote><p> <a href="https://twitter.com/waxpancake" title="Andy Baio on Twitter">Andy Baio </a></p><p>From the Internet</p></div><div class="awesome"><div class="cf"><h2>Help make the Internet more awesome</h2><p>WebRTC is transforming collaboration, but it\'s still early days.</p><p>By submitting anonymous feedback on a Talky call, you\'re helping provide data for browser vendors to improve the platform for the web.</p><p> \nRead more about this effort at <a href="http://iswebrtcreadyyet.com">isWebRTCreadyyet.com</a></p></div></div><div class="aboutUs cf"><div class="yetis"><h2>About us</h2><p>Talky is made by <a href="http://andyet.com/talky" title="&amp;yet Site">&amp;yet</a>, a small, independent software and design team based in Richland, WA.</p><p>We don\'t sell ads based on your conversations, resell your information, or keep track of what you do online.</p></div><div class="webrtc"><h2>Built with open source</h2><p>Talky is based entirely on open-source technologies like <a href="https://simplewebrtc.com/" title="SimpleWebRTC">SimpleWebRTC</a> and our Otalk platform.</p><p>If you\'d like to build your own collaboration apps for web and mobile, <a href="https://andyet.com/talky">we\'d love to talk.</a></p></div></div><footer role="contentinfo"><nav><ul><li> <a href="help/" title="Helpful information">Help</a></li><li><a href="mailto:[email protected]" title="Contact Support">Contact Support</a></li><li><a href="help/security" title="Privacy Policy">Privacy Policy</a></li><li><a href="https://apps.andyet.com/legal" title="Legal, Contact links">Legal</a></li><li><a href="https://twitter.com/usetalky" title="Talky on Twitter">@UseTalky</a></li></ul></nav><a href="http://andyet.com/talky" title="Made with love by &amp;yet" class="andyet-logo"></a></footer></section></section></div></div>';var convertHTML=require("html-to-vdom");setTimeout(function(){var i=100;while(i--){src+="<div></div>";var start=Date.now();var vtree=convertHTML(src);var end=Date.now();document.write(end-start+"ms<br>")}},1e3);
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"html-to-vdom": "0.1.1"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment