Skip to content

Instantly share code, notes, and snippets.

@bmpvieira
Created September 3, 2014 15:17
Show Gist options
  • Save bmpvieira/76b4b76ddcd84f6f4e50 to your computer and use it in GitHub Desktop.
Save bmpvieira/76b4b76ddcd84f6f4e50 to your computer and use it in GitHub Desktop.
requirebin sketch
var ncbi = require('bionode-ncbi')
ncbi.search('assembly', 'Solenopsis invicta').on('data', function(data) {
document.write(JSON.stringify(data, null, 2))
})
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){},{}],2:[function(require,module,exports){var util=require("util/");var pSlice=Array.prototype.slice;var hasOwn=Object.prototype.hasOwnProperty;var assert=module.exports=ok;assert.AssertionError=function AssertionError(options){this.name="AssertionError";this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;if(options.message){this.message=options.message;this.generatedMessage=false}else{this.message=getMessage(this);this.generatedMessage=true}var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction)}else{var err=new Error;if(err.stack){var out=err.stack;var fn_name=stackStartFunction.name;var idx=out.indexOf("\n"+fn_name);if(idx>=0){var next_line=out.indexOf("\n",idx+1);out=out.substring(next_line+1)}this.stack=out}}};util.inherits(assert.AssertionError,Error);function replacer(key,value){if(util.isUndefined(value)){return""+value}if(util.isNumber(value)&&(isNaN(value)||!isFinite(value))){return value.toString()}if(util.isFunction(value)||util.isRegExp(value)){return value.toString()}return value}function truncate(s,n){if(util.isString(s)){return s.length<n?s:s.slice(0,n)}else{return s}}function getMessage(self){return truncate(JSON.stringify(self.actual,replacer),128)+" "+self.operator+" "+truncate(JSON.stringify(self.expected,replacer),128)}function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction})}assert.fail=fail;function ok(value,message){if(!value)fail(value,true,message,"==",assert.ok)}assert.ok=ok;assert.equal=function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,"==",assert.equal)};assert.notEqual=function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,"!=",assert.notEqual)}};assert.deepEqual=function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected)){fail(actual,expected,message,"deepEqual",assert.deepEqual)}};function _deepEqual(actual,expected){if(actual===expected){return true}else if(util.isBuffer(actual)&&util.isBuffer(expected)){if(actual.length!=expected.length)return false;for(var i=0;i<actual.length;i++){if(actual[i]!==expected[i])return false}return true}else if(util.isDate(actual)&&util.isDate(expected)){return actual.getTime()===expected.getTime()}else if(util.isRegExp(actual)&&util.isRegExp(expected)){return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase}else if(!util.isObject(actual)&&!util.isObject(expected)){return actual==expected}else{return objEquiv(actual,expected)}}function isArguments(object){return Object.prototype.toString.call(object)=="[object Arguments]"}function objEquiv(a,b){if(util.isNullOrUndefined(a)||util.isNullOrUndefined(b))return false;if(a.prototype!==b.prototype)return false;if(isArguments(a)){if(!isArguments(b)){return false}a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b)}try{var ka=objectKeys(a),kb=objectKeys(b),key,i}catch(e){return false}if(ka.length!=kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!=kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key]))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(Object.prototype.toString.call(expected)=="[object RegExp]"){return expected.test(actual)}else if(actual instanceof expected){return true}else if(expected.call({},actual)===true){return true}return false}function _throws(shouldThrow,block,expected,message){var actual;if(util.isString(expected)){message=expected;expected=null}try{block()}catch(e){actual=e}message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail(actual,expected,"Missing expected exception"+message)}if(!shouldThrow&&expectedException(actual,expected)){fail(actual,expected,"Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws.apply(this,[true].concat(pSlice.call(arguments)))};assert.doesNotThrow=function(block,message){_throws.apply(this,[false].concat(pSlice.call(arguments)))};assert.ifError=function(err){if(err){throw err}};var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key)}return keys}},{"util/":4}],3:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],4:[function(require,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(inspect(arguments[i]))}return objects.join(" ")}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,function(x){if(x==="%%")return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i<len;x=args[++i]){if(isNull(x)||!isObject(x)){str+=" "+x}else{str+=" "+inspect(x)}}return str};exports.deprecate=function(fn,msg){if(isUndefined(global.process)){return function(){return exports.deprecate(fn,msg).apply(this,arguments)}}if(process.noDeprecation===true){return fn}var warned=false;function deprecated(){if(!warned){if(process.throwDeprecation){throw new Error(msg)}else if(process.traceDeprecation){console.trace(msg)}else{console.error(msg)}warned=true}return fn.apply(this,arguments)}return deprecated};var debugs={};var debugEnviron;exports.debuglog=function(set){if(isUndefined(debugEnviron))debugEnviron=process.env.NODE_DEBUG||"";set=set.toUpperCase();if(!debugs[set]){if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else{debugs[set]=function(){}}}return debugs[set]};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};if(arguments.length>=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true))}else{output.push("")}}keys.forEach(function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true))}});return output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize("[Getter/Setter]","special")}else{str=ctx.stylize("[Getter]","special")}}else{if(desc.set){str=ctx.stylize("[Setter]","special")}}if(!hasOwnProperty(visibleKeys,key)){name="["+key+"]"}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null)}else{str=formatValue(ctx,desc.value,recurseTimes-1)}if(str.indexOf("\n")>-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":3,_process:44,inherits:41}],5:[function(require,module,exports){module.exports=require(1)},{}],6:[function(require,module,exports){"use strict";var TYPED_OK=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source){continue}if(typeof source!=="object"){throw new TypeError(source+"must be non-object")}for(var p in source){if(source.hasOwnProperty(p)){obj[p]=source[p]}}}return obj};exports.shrinkBuf=function(buf,size){if(buf.length===size){return buf}if(buf.subarray){return buf.subarray(0,size)}buf.length=size;return buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i<len;i++){dest[dest_offs+i]=src[src_offs+i]}},flattenChunks:function(chunks){var i,l,len,pos,chunk,result;len=0;for(i=0,l=chunks.length;i<l;i++){len+=chunks[i].length}result=new Uint8Array(len);pos=0;for(i=0,l=chunks.length;i<l;i++){chunk=chunks[i];result.set(chunk,pos);pos+=chunk.length}return result}};var fnUntyped={arraySet:function(dest,src,src_offs,len,dest_offs){for(var i=0;i<len;i++){dest[dest_offs+i]=src[src_offs+i]}},flattenChunks:function(chunks){return[].concat.apply([],chunks)}};exports.setTyped=function(on){if(on){exports.Buf8=Uint8Array;exports.Buf16=Uint16Array;exports.Buf32=Int32Array;exports.assign(exports,fnTyped)}else{exports.Buf8=Array;exports.Buf16=Array;exports.Buf32=Array;exports.assign(exports,fnUntyped)}};exports.setTyped(TYPED_OK)},{}],7:[function(require,module,exports){"use strict";function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2e3?2e3:len;len-=n;do{s1=s1+buf[pos++]|0;s2=s2+s1|0}while(--n);s1%=65521;s2%=65521}return s1|s2<<16|0}module.exports=adler32},{}],8:[function(require,module,exports){module.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],9:[function(require,module,exports){"use strict";function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i<end;i++){crc=crc>>>8^t[(crc^buf[i])&255]}return crc^-1}module.exports=crc32},{}],10:[function(require,module,exports){"use strict";var utils=require("../utils/common");var trees=require("./trees");var adler32=require("./adler32");var crc32=require("./crc32");var msg=require("./messages");var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_BLOCK=5;var Z_OK=0;var Z_STREAM_END=1;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_RLE=3;var Z_FIXED=4;var Z_DEFAULT_STRATEGY=0;var Z_UNKNOWN=2;var Z_DEFLATED=8;var MAX_MEM_LEVEL=9;var MAX_WBITS=15;var DEF_MEM_LEVEL=8;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1;var PRESET_DICT=32;var INIT_STATE=42;var EXTRA_STATE=69;var NAME_STATE=73;var COMMENT_STATE=91;var HCRC_STATE=103;var BUSY_STATE=113;var FINISH_STATE=666;var BS_NEED_MORE=1;var BS_BLOCK_DONE=2;var BS_FINISH_STARTED=3;var BS_FINISH_DONE=4;var OS_CODE=3;function err(strm,errorCode){strm.msg=msg[errorCode];return errorCode}function rank(f){return(f<<1)-(f>4?9:0)}function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}function flush_pending(strm){var s=strm.state;var len=s.pending;if(len>strm.avail_out){len=strm.avail_out}if(len===0){return}utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out);strm.next_out+=len;s.pending_out+=len;strm.total_out+=len;strm.avail_out-=len;s.pending-=len;if(s.pending===0){s.pending_out=0}}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last);s.block_start=s.strstart;flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255;s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size){len=size}if(len===0){return 0}strm.avail_in-=len;utils.arraySet(buf,strm.input,strm.next_in,len,start);if(strm.state.wrap===1){strm.adler=adler32(strm.adler,buf,len,start)}else if(strm.state.wrap===2){strm.adler=crc32(strm.adler,buf,len,start)}strm.next_in+=len;strm.total_in+=len;return len}function longest_match(s,cur_match){var chain_length=s.max_chain_length;var scan=s.strstart;var match;var len;var best_len=s.prev_length;var nice_match=s.nice_match;var limit=s.strstart>s.w_size-MIN_LOOKAHEAD?s.strstart-(s.w_size-MIN_LOOKAHEAD):0;var _win=s.window;var wmask=s.w_mask;var prev=s.prev;var strend=s.strstart+MAX_MATCH;var scan_end1=_win[scan+best_len-1];var scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match){chain_length>>=2}if(nice_match>s.lookahead){nice_match=s.lookahead}do{match=cur_match;if(_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1]){continue}scan+=2;match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);len=MAX_MATCH-(strend-scan);scan=strend-MAX_MATCH;if(len>best_len){s.match_start=cur_match;best_len=len;if(len>=nice_match){break}scan_end1=_win[scan+best_len-1];scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead){return best_len}return s.lookahead}function fill_window(s){var _w_size=s.w_size;var p,n,m,more,str;do{more=s.window_size-s.lookahead-s.strstart;if(s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0);s.match_start-=_w_size;s.strstart-=_w_size;s.block_start-=_w_size;n=s.hash_size;p=n;do{m=s.head[--p];s.head[p]=m>=_w_size?m-_w_size:0}while(--n);n=_w_size;p=n;do{m=s.prev[--p];s.prev[p]=m>=_w_size?m-_w_size:0}while(--n);more+=_w_size}if(s.strm.avail_in===0){break}n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more);s.lookahead+=n;if(s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert;s.ins_h=s.window[str];s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+1])&s.hash_mask;while(s.insert){s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask;s.prev[str&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=str;str++;s.insert--;if(s.lookahead+s.insert<MIN_MATCH){break}}}}while(s.lookahead<MIN_LOOKAHEAD&&s.strm.avail_in!==0)}function deflate_stored(s,flush){var max_block_size=65535;if(max_block_size>s.pending_buf_size-5){max_block_size=s.pending_buf_size-5}for(;;){if(s.lookahead<=1){fill_window(s);if(s.lookahead===0&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.strstart+=s.lookahead;s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){s.lookahead=s.strstart-max_start;s.strstart=max_start;flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.strstart>s.block_start){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head;var bflush;for(;;){if(s.lookahead<MIN_LOOKAHEAD){fill_window(s);if(s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}hash_head=0;if(s.lookahead>=MIN_MATCH){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}if(hash_head!==0&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){s.match_length=longest_match(s,hash_head)}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;if(s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do{s.strstart++;s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}while(--s.match_length!==0);s.strstart++}else{s.strstart+=s.match_length;s.match_length=0;s.ins_h=s.window[s.strstart];s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask}}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=s.strstart<MIN_MATCH-1?s.strstart:MIN_MATCH-1;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_slow(s,flush){var hash_head;var bflush;var max_insert;for(;;){if(s.lookahead<MIN_LOOKAHEAD){fill_window(s);if(s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}hash_head=0;if(s.lookahead>=MIN_MATCH){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}s.prev_length=s.match_length;s.prev_match=s.match_start;s.match_length=MIN_MATCH-1;if(hash_head!==0&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){s.match_length=longest_match(s,hash_head);if(s.match_length<=5&&(s.strategy===Z_FILTERED||s.match_length===MIN_MATCH&&s.strstart-s.match_start>4096)){s.match_length=MIN_MATCH-1}}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH;bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH);s.lookahead-=s.prev_length-1;s.prev_length-=2;do{if(++s.strstart<=max_insert){s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask;hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h];s.head[s.ins_h]=s.strstart}}while(--s.prev_length!==0);s.match_available=0;s.match_length=MIN_MATCH-1;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}else if(s.match_available){bflush=trees._tr_tally(s,0,s.window[s.strstart-1]);if(bflush){flush_block_only(s,false)}s.strstart++;s.lookahead--;if(s.strm.avail_out===0){return BS_NEED_MORE}}else{s.match_available=1;s.strstart++;s.lookahead--}}if(s.match_available){bflush=trees._tr_tally(s,0,s.window[s.strstart-1]);s.match_available=0}s.insert=s.strstart<MIN_MATCH-1?s.strstart:MIN_MATCH-1;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_rle(s,flush){var bflush;var prev;var scan,strend;var _win=s.window;for(;;){if(s.lookahead<=MAX_MATCH){fill_window(s);if(s.lookahead<=MAX_MATCH&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.match_length=0;if(s.lookahead>=MIN_MATCH&&s.strstart>0){scan=s.strstart-1;prev=_win[scan];if(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);s.match_length=MAX_MATCH-(strend-scan);if(s.match_length>s.lookahead){s.match_length=s.lookahead}}}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;s.strstart+=s.match_length;s.match_length=0}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){fill_window(s);if(s.lookahead===0){if(flush===Z_NO_FLUSH){return BS_NEED_MORE}break}}s.match_length=0;bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}var Config=function(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length;this.max_lazy=max_lazy;this.nice_length=nice_length;this.max_chain=max_chain;this.func=func};var configuration_table;configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size;zero(s.head);s.max_lazy_match=configuration_table[s.level].max_lazy;s.good_match=configuration_table[s.level].good_length;s.nice_match=configuration_table[s.level].nice_length;s.max_chain_length=configuration_table[s.level].max_chain;s.strstart=0;s.block_start=0;s.lookahead=0;s.insert=0;s.match_length=s.prev_length=MIN_MATCH-1;s.match_available=0;s.ins_h=0}function DeflateState(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=Z_DEFLATED;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2);this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2);this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new utils.Buf16(MAX_BITS+1);this.heap=new utils.Buf16(2*L_CODES+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new utils.Buf16(2*L_CODES+1);zero(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state){return err(strm,Z_STREAM_ERROR)}strm.total_in=strm.total_out=0;strm.data_type=Z_UNKNOWN;s=strm.state;s.pending=0;s.pending_out=0;if(s.wrap<0){s.wrap=-s.wrap}s.status=s.wrap?INIT_STATE:BUSY_STATE;strm.adler=s.wrap===2?0:1;s.last_flush=Z_NO_FLUSH;trees._tr_init(s);return Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK){lm_init(strm.state)}return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state){return Z_STREAM_ERROR}if(strm.state.wrap!==2){return Z_STREAM_ERROR}strm.state.gzhead=head;return Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm){return Z_STREAM_ERROR}var wrap=1;if(level===Z_DEFAULT_COMPRESSION){level=6}if(windowBits<0){wrap=0;windowBits=-windowBits}else if(windowBits>15){wrap=2;windowBits-=16}if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED){return err(strm,Z_STREAM_ERROR)}if(windowBits===8){windowBits=9}var s=new DeflateState;strm.state=s;s.strm=strm;s.wrap=wrap;s.gzhead=null;s.w_bits=windowBits;s.w_size=1<<s.w_bits;s.w_mask=s.w_size-1;s.hash_bits=memLevel+7;s.hash_size=1<<s.hash_bits;s.hash_mask=s.hash_size-1;s.hash_shift=~~((s.hash_bits+MIN_MATCH-1)/MIN_MATCH);
s.window=new utils.Buf8(s.w_size*2);s.head=new utils.Buf16(s.hash_size);s.prev=new utils.Buf16(s.w_size);s.lit_bufsize=1<<memLevel+6;s.pending_buf_size=s.lit_bufsize*4;s.pending_buf=new utils.Buf8(s.pending_buf_size);s.d_buf=s.lit_bufsize>>1;s.l_buf=(1+2)*s.lit_bufsize;s.level=level;s.strategy=strategy;s.method=method;return deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s;var beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0){return strm?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR}s=strm.state;if(!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH){return err(strm,strm.avail_out===0?Z_BUF_ERROR:Z_STREAM_ERROR)}s.strm=strm;old_flush=s.last_flush;s.last_flush=flush;if(s.status===INIT_STATE){if(s.wrap===2){strm.adler=0;put_byte(s,31);put_byte(s,139);put_byte(s,8);if(!s.gzhead){put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,OS_CODE);s.status=BUSY_STATE}else{put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(!s.gzhead.extra?0:4)+(!s.gzhead.name?0:8)+(!s.gzhead.comment?0:16));put_byte(s,s.gzhead.time&255);put_byte(s,s.gzhead.time>>8&255);put_byte(s,s.gzhead.time>>16&255);put_byte(s,s.gzhead.time>>24&255);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,s.gzhead.os&255);if(s.gzhead.extra&&s.gzhead.extra.length){put_byte(s,s.gzhead.extra.length&255);put_byte(s,s.gzhead.extra.length>>8&255)}if(s.gzhead.hcrc){strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0)}s.gzindex=0;s.status=EXTRA_STATE}}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8;var level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2){level_flags=0}else if(s.level<6){level_flags=1}else if(s.level===6){level_flags=2}else{level_flags=3}header|=level_flags<<6;if(s.strstart!==0){header|=PRESET_DICT}header+=31-header%31;s.status=BUSY_STATE;putShortMSB(s,header);if(s.strstart!==0){putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}strm.adler=1}}if(s.status===EXTRA_STATE){if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){break}}put_byte(s,s.gzhead.extra[s.gzindex]&255);s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(s.gzindex===s.gzhead.extra.length){s.gzindex=0;s.status=NAME_STATE}}else{s.status=NAME_STATE}}if(s.status===NAME_STATE){if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.name.length){val=s.gzhead.name.charCodeAt(s.gzindex++)&255}else{val=0}put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.gzindex=0;s.status=COMMENT_STATE}}else{s.status=COMMENT_STATE}}if(s.status===COMMENT_STATE){if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.comment.length){val=s.gzhead.comment.charCodeAt(s.gzindex++)&255}else{val=0}put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.status=HCRC_STATE}}else{s.status=HCRC_STATE}}if(s.status===HCRC_STATE){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size){flush_pending(strm)}if(s.pending+2<=s.pending_buf_size){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);strm.adler=0;s.status=BUSY_STATE}}else{s.status=BUSY_STATE}}if(s.pending!==0){flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH){return err(strm,Z_BUF_ERROR)}if(s.status===FINISH_STATE&&strm.avail_in!==0){return err(strm,Z_BUF_ERROR)}if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY?deflate_huff(s,flush):s.strategy===Z_RLE?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE){s.status=FINISH_STATE}if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0){s.last_flush=-1}return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH){trees._tr_align(s)}else if(flush!==Z_BLOCK){trees._tr_stored_block(s,0,0,false);if(flush===Z_FULL_FLUSH){zero(s.head);if(s.lookahead===0){s.strstart=0;s.block_start=0;s.insert=0}}}flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}}if(flush!==Z_FINISH){return Z_OK}if(s.wrap<=0){return Z_STREAM_END}if(s.wrap===2){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);put_byte(s,strm.adler>>16&255);put_byte(s,strm.adler>>24&255);put_byte(s,strm.total_in&255);put_byte(s,strm.total_in>>8&255);put_byte(s,strm.total_in>>16&255);put_byte(s,strm.total_in>>24&255)}else{putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}flush_pending(strm);if(s.wrap>0){s.wrap=-s.wrap}return s.pending!==0?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state){return Z_STREAM_ERROR}status=strm.state.status;if(status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE){return err(strm,Z_STREAM_ERROR)}strm.state=null;return status===BUSY_STATE?err(strm,Z_DATA_ERROR):Z_OK}exports.deflateInit=deflateInit;exports.deflateInit2=deflateInit2;exports.deflateReset=deflateReset;exports.deflateResetKeep=deflateResetKeep;exports.deflateSetHeader=deflateSetHeader;exports.deflate=deflate;exports.deflateEnd=deflateEnd;exports.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":6,"./adler32":7,"./crc32":9,"./messages":14,"./trees":15}],11:[function(require,module,exports){"use strict";var BAD=30;var TYPE=12;module.exports=function inflate_fast(strm,start){var state;var _in;var last;var _out;var beg;var end;var dmax;var wsize;var whave;var wnext;var window;var hold;var bits;var lcode;var dcode;var lmask;var dmask;var here;var op;var len;var dist;var from;var from_source;var input,output;state=strm.state;_in=strm.next_in;input=strm.input;last=_in+(strm.avail_in-5);_out=strm.next_out;output=strm.output;beg=_out-(start-strm.avail_out);end=_out+(strm.avail_out-257);dmax=state.dmax;wsize=state.wsize;whave=state.whave;wnext=state.wnext;window=state.window;hold=state.hold;bits=state.bits;lcode=state.lencode;dcode=state.distcode;lmask=(1<<state.lenbits)-1;dmask=(1<<state.distbits)-1;top:do{if(bits<15){hold+=input[_in++]<<bits;bits+=8;hold+=input[_in++]<<bits;bits+=8}here=lcode[hold&lmask];dolen:for(;;){op=here>>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op===0){output[_out++]=here&65535}else if(op&16){len=here&65535;op&=15;if(op){if(bits<op){hold+=input[_in++]<<bits;bits+=8}len+=hold&(1<<op)-1;hold>>>=op;bits-=op}if(bits<15){hold+=input[_in++]<<bits;bits+=8;hold+=input[_in++]<<bits;bits+=8}here=dcode[hold&dmask];dodist:for(;;){op=here>>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op&16){dist=here&65535;op&=15;if(bits<op){hold+=input[_in++]<<bits;bits+=8;if(bits<op){hold+=input[_in++]<<bits;bits+=8}}dist+=hold&(1<<op)-1;if(dist>dmax){strm.msg="invalid distance too far back";state.mode=BAD;break top}hold>>>=op;bits-=op;op=_out-beg;if(dist>op){op=dist-op;if(op>whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break top}}from=0;from_source=window;if(wnext===0){from+=wsize-op;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}else if(wnext<op){from+=wsize+wnext-op;op-=wnext;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=0;if(wnext<len){op=wnext;len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}}else{from+=wnext-op;if(op<len){len-=op;do{output[_out++]=window[from++]}while(--op);from=_out-dist;from_source=output}}while(len>2){output[_out++]=from_source[from++];output[_out++]=from_source[from++];output[_out++]=from_source[from++];len-=3}if(len){output[_out++]=from_source[from++];if(len>1){output[_out++]=from_source[from++]}}}else{from=_out-dist;do{output[_out++]=output[from++];output[_out++]=output[from++];output[_out++]=output[from++];len-=3}while(len>2);if(len){output[_out++]=output[from++];if(len>1){output[_out++]=output[from++]}}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<<op)-1)];continue dodist}else{strm.msg="invalid distance code";state.mode=BAD;break top}break}}else if((op&64)===0){here=lcode[(here&65535)+(hold&(1<<op)-1)];continue dolen}else if(op&32){state.mode=TYPE;break top}else{strm.msg="invalid literal/length code";state.mode=BAD;break top}break}}while(_in<last&&_out<end);len=bits>>3;_in-=len;bits-=len<<3;hold&=(1<<bits)-1;strm.next_in=_in;strm.next_out=_out;strm.avail_in=_in<last?5+(last-_in):5-(_in-last);strm.avail_out=_out<end?257+(end-_out):257-(_out-end);state.hold=hold;state.bits=bits;return}},{}],12:[function(require,module,exports){"use strict";var utils=require("../utils/common");var adler32=require("./adler32");var crc32=require("./crc32");var inflate_fast=require("./inffast");var inflate_table=require("./inftrees");var CODES=0;var LENS=1;var DISTS=2;var Z_FINISH=4;var Z_BLOCK=5;var Z_TREES=6;var Z_OK=0;var Z_STREAM_END=1;var Z_NEED_DICT=2;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_MEM_ERROR=-4;var Z_BUF_ERROR=-5;var Z_DEFLATED=8;var HEAD=1;var FLAGS=2;var TIME=3;var OS=4;var EXLEN=5;var EXTRA=6;var NAME=7;var COMMENT=8;var HCRC=9;var DICTID=10;var DICT=11;var TYPE=12;var TYPEDO=13;var STORED=14;var COPY_=15;var COPY=16;var TABLE=17;var LENLENS=18;var CODELENS=19;var LEN_=20;var LEN=21;var LENEXT=22;var DIST=23;var DISTEXT=24;var MATCH=25;var LIT=26;var CHECK=27;var LENGTH=28;var DONE=29;var BAD=30;var MEM=31;var SYNC=32;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var MAX_WBITS=15;var DEF_WBITS=MAX_WBITS;function ZSWAP32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new utils.Buf16(320);this.work=new utils.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;strm.total_in=strm.total_out=state.total=0;strm.msg="";if(state.wrap){strm.adler=state.wrap&1}state.mode=HEAD;state.last=0;state.havedict=0;state.dmax=32768;state.head=null;state.hold=0;state.bits=0;state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS);state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS);state.sane=1;state.back=-1;return Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;state.wsize=0;state.whave=0;state.wnext=0;return inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap;var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if(windowBits<0){wrap=0;windowBits=-windowBits}else{wrap=(windowBits>>4)+1;if(windowBits<48){windowBits&=15}}if(windowBits&&(windowBits<8||windowBits>15)){return Z_STREAM_ERROR}if(state.window!==null&&state.wbits!==windowBits){state.window=null}state.wrap=wrap;state.wbits=windowBits;return inflateReset(strm)}function inflateInit2(strm,windowBits){var ret;var state;if(!strm){return Z_STREAM_ERROR}state=new InflateState;strm.state=state;state.window=null;ret=inflateReset2(strm,windowBits);if(ret!==Z_OK){strm.state=null}return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=true;var lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512);distfix=new utils.Buf32(32);sym=0;while(sym<144){state.lens[sym++]=8}while(sym<256){state.lens[sym++]=9}while(sym<280){state.lens[sym++]=7}while(sym<288){state.lens[sym++]=8}inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9});sym=0;while(sym<32){state.lens[sym++]=5}inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5});virgin=false}state.lencode=lenfix;state.lenbits=9;state.distcode=distfix;state.distbits=5}function updatewindow(strm,src,end,copy){var dist;var state=strm.state;if(state.window===null){state.wsize=1<<state.wbits;state.wnext=0;state.whave=0;state.window=new utils.Buf8(state.wsize)}if(copy>=state.wsize){utils.arraySet(state.window,src,end-state.wsize,state.wsize,0);state.wnext=0;state.whave=state.wsize}else{dist=state.wsize-state.wnext;if(dist>copy){dist=copy}utils.arraySet(state.window,src,end-copy,dist,state.wnext);copy-=dist;if(copy){utils.arraySet(state.window,src,end-copy,copy,0);state.wnext=copy;state.whave=state.wsize}else{state.wnext+=dist;if(state.wnext===state.wsize){state.wnext=0}if(state.whave<state.wsize){state.whave+=dist}}}return 0}function inflate(strm,flush){var state;var input,output;var next;var put;var have,left;var hold;var bits;var _in,_out;var copy;var from;var from_source;var here=0;var here_bits,here_op,here_val;var last_bits,last_op,last_val;var len;var ret;var hbuf=new utils.Buf8(4);var opts;var n;var order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!strm||!strm.state||!strm.output||!strm.input&&strm.avail_in!==0){return Z_STREAM_ERROR}state=strm.state;if(state.mode===TYPE){state.mode=TYPEDO}put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;_in=have;_out=left;ret=Z_OK;inf_leave:for(;;){switch(state.mode){case HEAD:if(state.wrap===0){state.mode=TYPEDO;break}while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.wrap&2&&hold===35615){state.check=0;hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0);hold=0;bits=0;state.mode=FLAGS;break}state.flags=0;if(state.head){state.head.done=false}if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg="incorrect header check";state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}hold>>>=4;bits-=4;len=(hold&15)+8;if(state.wbits===0){state.wbits=len}else if(len>state.wbits){strm.msg="invalid window size";state.mode=BAD;break}state.dmax=1<<len;strm.adler=state.check=1;state.mode=hold&512?DICTID:TYPE;hold=0;bits=0;break;case FLAGS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.flags=hold;if((state.flags&255)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}if(state.flags&57344){strm.msg="unknown header flags set";state.mode=BAD;break}if(state.head){state.head.text=hold>>8&1}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=TIME;case TIME:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.head){state.head.time=hold}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;hbuf[2]=hold>>>16&255;hbuf[3]=hold>>>24&255;state.check=crc32(state.check,hbuf,4,0)}hold=0;bits=0;state.mode=OS;case OS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(state.head){state.head.xflags=hold&255;state.head.os=hold>>8}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.length=hold;if(state.head){state.head.extra_len=hold}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0}else if(state.head){state.head.extra=null}state.mode=EXTRA;case EXTRA:if(state.flags&1024){copy=state.length;if(copy>have){copy=have}if(copy){if(state.head){len=state.head.extra_len-state.length;if(!state.head.extra){state.head.extra=new Array(state.head.extra_len)}utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;state.length-=copy}if(state.length){break inf_leave}}state.length=0;state.mode=NAME;case NAME:if(state.flags&2048){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.name+=String.fromCharCode(len)}}while(len&&copy<have);if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;if(len){break inf_leave}}else if(state.head){state.head.name=null}state.length=0;state.mode=COMMENT;case COMMENT:if(state.flags&4096){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.comment+=String.fromCharCode(len)}}while(len&&copy<have);if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;if(len){break inf_leave}}else if(state.head){state.head.comment=null}state.mode=HCRC;case HCRC:if(state.flags&512){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(hold!==(state.check&65535)){strm.msg="header crc mismatch";state.mode=BAD;break}hold=0;bits=0}if(state.head){state.head.hcrc=state.flags>>9&1;state.head.done=true}strm.adler=state.check=0;state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}strm.adler=state.check=ZSWAP32(hold);hold=0;bits=0;state.mode=DICT;case DICT:if(state.havedict===0){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;return Z_NEED_DICT}strm.adler=state.check=1;state.mode=TYPE;case TYPE:if(flush===Z_BLOCK||flush===Z_TREES){break inf_leave}case TYPEDO:if(state.last){hold>>>=bits&7;bits-=bits&7;state.mode=CHECK;break}while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.last=hold&1;hold>>>=1;bits-=1;switch(hold&3){case 0:state.mode=STORED;break;case 1:fixedtables(state);state.mode=LEN_;if(flush===Z_TREES){hold>>>=2;bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg="invalid block type";state.mode=BAD}hold>>>=2;bits-=2;break;case STORED:hold>>>=bits&7;bits-=bits&7;while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if((hold&65535)!==(hold>>>16^65535)){strm.msg="invalid stored block lengths";state.mode=BAD;break}state.length=hold&65535;hold=0;bits=0;state.mode=COPY_;if(flush===Z_TREES){break inf_leave}case COPY_:state.mode=COPY;case COPY:copy=state.length;if(copy){if(copy>have){copy=have}if(copy>left){copy=left}if(copy===0){break inf_leave}utils.arraySet(output,input,next,copy,put);have-=copy;next+=copy;left-=copy;put+=copy;state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.nlen=(hold&31)+257;hold>>>=5;bits-=5;state.ndist=(hold&31)+1;hold>>>=5;bits-=5;state.ncode=(hold&15)+4;hold>>>=4;bits-=4;if(state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols";state.mode=BAD;break}state.have=0;state.mode=LENLENS;case LENLENS:while(state.have<state.ncode){while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.lens[order[state.have++]]=hold&7;hold>>>=3;bits-=3}while(state.have<19){state.lens[order[state.have++]]=0}state.lencode=state.lendyn;state.lenbits=7;opts={bits:state.lenbits};ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid code lengths set";state.mode=BAD;break}state.have=0;state.mode=CODELENS;case CODELENS:while(state.have<state.nlen+state.ndist){for(;;){here=state.lencode[hold&(1<<state.lenbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(here_val<16){hold>>>=here_bits;bits-=here_bits;state.lens[state.have++]=here_val}else{if(here_val===16){n=here_bits+2;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;if(state.have===0){strm.msg="invalid bit length repeat";state.mode=BAD;break}len=state.lens[state.have-1];copy=3+(hold&3);hold>>>=2;bits-=2}else if(here_val===17){n=here_bits+3;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;len=0;copy=3+(hold&7);hold>>>=3;bits-=3}else{n=here_bits+7;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=here_bits;bits-=here_bits;len=0;copy=11+(hold&127);hold>>>=7;bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat";state.mode=BAD;break}while(copy--){state.lens[state.have++]=len}}}if(state.mode===BAD){break}if(state.lens[256]===0){strm.msg="invalid code -- missing end-of-block";state.mode=BAD;break}state.lenbits=9;opts={bits:state.lenbits};ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid literal/lengths set";state.mode=BAD;break}state.distbits=6;state.distcode=state.distdyn;opts={bits:state.distbits};ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts);state.distbits=opts.bits;if(ret){strm.msg="invalid distances set";state.mode=BAD;break}state.mode=LEN_;if(flush===Z_TREES){break inf_leave}case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;inflate_fast(strm,_out);put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;if(state.mode===TYPE){state.back=-1}break}state.back=0;for(;;){here=state.lencode[hold&(1<<state.lenbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(here_op&&(here_op&240)===0){last_bits=here_bits;last_op=here_op;last_val=here_val;for(;;){here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;state.length=here_val;if(here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1;state.mode=TYPE;break}if(here_op&64){strm.msg="invalid literal/length code";state.mode=BAD;break}state.extra=here_op&15;state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.length+=hold&(1<<state.extra)-1;hold>>>=state.extra;bits-=state.extra;state.back+=state.extra}state.was=state.length;state.mode=DIST;case DIST:for(;;){here=state.distcode[hold&(1<<state.distbits)-1];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if((here_op&240)===0){last_bits=here_bits;last_op=here_op;last_val=here_val;for(;;){here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}hold>>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;if(here_op&64){strm.msg="invalid distance code";state.mode=BAD;break}state.offset=here_val;state.extra=here_op&15;state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}state.offset+=hold&(1<<state.extra)-1;hold>>>=state.extra;bits-=state.extra;state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back";state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0){break inf_leave}copy=_out-left;if(state.offset>copy){copy=state.offset-copy;if(copy>state.whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break}}if(copy>state.wnext){copy-=state.wnext;from=state.wsize-copy}else{from=state.wnext-copy}if(copy>state.length){copy=state.length}from_source=state.window}else{from_source=output;from=put-state.offset;copy=state.length}if(copy>left){copy=left}left-=copy;state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);if(state.length===0){state.mode=LEN}break;case LIT:if(left===0){break inf_leave}output[put++]=state.length;left--;state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0){break inf_leave}have--;hold|=input[next++]<<bits;bits+=8}_out-=left;strm.total_out+=_out;state.total+=_out;if(_out){strm.adler=state.check=state.flags?crc32(state.check,output,_out,put-_out):adler32(state.check,output,_out,put-_out)}_out=left;if((state.flags?hold:ZSWAP32(hold))!==state.check){strm.msg="incorrect data check";state.mode=BAD;break}hold=0;bits=0}state.mode=LENGTH;case LENGTH:if(state.wrap&&state.flags){while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<<bits;bits+=8}if(hold!==(state.total&4294967295)){strm.msg="incorrect length check";state.mode=BAD;break}hold=0;bits=0}state.mode=DONE;case DONE:ret=Z_STREAM_END;break inf_leave;case BAD:ret=Z_DATA_ERROR;break inf_leave;case MEM:return Z_MEM_ERROR;case SYNC:default:return Z_STREAM_ERROR}}strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;if(state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<CHECK||flush!==Z_FINISH)){if(updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out)){state.mode=MEM;return Z_MEM_ERROR}}_in-=strm.avail_in;_out-=strm.avail_out;strm.total_in+=_in;strm.total_out+=_out;state.total+=_out;if(state.wrap&&_out){strm.adler=state.check=state.flags?crc32(state.check,output,_out,strm.next_out-_out):adler32(state.check,output,_out,strm.next_out-_out)}strm.data_type=state.bits+(state.last?64:0)+(state.mode===TYPE?128:0)+(state.mode===LEN_||state.mode===COPY_?256:0);if((_in===0&&_out===0||flush===Z_FINISH)&&ret===Z_OK){ret=Z_BUF_ERROR}return ret}function inflateEnd(strm){if(!strm||!strm.state){return Z_STREAM_ERROR}var state=strm.state;if(state.window){state.window=null}strm.state=null;return Z_OK}function inflateGetHeader(strm,head){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if((state.wrap&2)===0){return Z_STREAM_ERROR}state.head=head;head.done=false;return Z_OK}exports.inflateReset=inflateReset;exports.inflateReset2=inflateReset2;exports.inflateResetKeep=inflateResetKeep;exports.inflateInit=inflateInit;exports.inflateInit2=inflateInit2;exports.inflate=inflate;exports.inflateEnd=inflateEnd;exports.inflateGetHeader=inflateGetHeader;exports.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":6,"./adler32":7,"./crc32":9,"./inffast":11,"./inftrees":13}],13:[function(require,module,exports){"use strict";var utils=require("../utils/common");var MAXBITS=15;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var CODES=0;var LENS=1;var DISTS=2;var lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0];var lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0];var dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits;var len=0;var sym=0;var min=0,max=0;var root=0;var curr=0;var drop=0;var left=0;var used=0;var huff=0;var incr;var fill;var low;var mask;var next;var base=null;var base_index=0;var end;var count=new utils.Buf16(MAXBITS+1);var offs=new utils.Buf16(MAXBITS+1);var extra=null;var extra_index=0;var here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++){count[len]=0}for(sym=0;sym<codes;sym++){count[lens[lens_index+sym]]++}root=bits;for(max=MAXBITS;max>=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min<max;min++){if(count[min]!==0){break}}if(root<min){root=min}left=1;for(len=1;len<=MAXBITS;len++){left<<=1;left-=count[len];if(left<0){return-1}}if(left>0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;len<MAXBITS;len++){offs[len+1]=offs[len]+count[len]}for(sym=0;sym<codes;sym++){if(lens[lens_index+sym]!==0){work[offs[lens[lens_index+sym]]++]=sym}}if(type===CODES){base=extra=work;end=19}else if(type===LENS){base=lbase;base_index-=257;extra=lext;extra_index-=257;end=256}else{base=dbase;extra=dext;end=-1}huff=0;sym=0;len=min;next=table_index;curr=root;drop=0;low=-1;used=1<<root;mask=used-1;if(type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]<end){here_op=0;here_val=work[sym]}else if(work[sym]>end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<<len-drop;fill=1<<curr;min=fill;do{fill-=incr;table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<<len-1;while(huff&incr){incr>>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<<curr;while(curr+drop<max){left-=count[curr+drop];if(left<=0){break}curr++;left<<=1}used+=1<<curr;if(type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":6}],14:[function(require,module,exports){"use strict";module.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],15:[function(require,module,exports){"use strict";var utils=require("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);
zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<<s.bi_valid&65535;put_short(s,s.bi_buf);s.bi_buf=value>>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<<s.bi_valid&65535;s.bi_valid+=length}}function send_code(s,c,tree){send_bits(s,tree[c*2],tree[c*2+1])}function bi_reverse(code,len){var res=0;do{res|=code&1;code>>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){n=s.heap[h];bits=tree[tree[n*2+1]*2+1]+1;if(bits>max_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code<LENGTH_CODES-1;code++){base_length[code]=length;for(n=0;n<1<<extra_lbits[code];n++){_length_code[length++]=code}}_length_code[length-1]=code;dist=0;for(code=0;code<16;code++){base_dist[code]=dist;for(n=0;n<1<<extra_dbits[code];n++){_dist_code[dist++]=code}}dist>>=7;for(;code<D_CODES;code++){base_dist[code]=dist<<7;for(n=0;n<1<<extra_dbits[code]-7;n++){_dist_code[256+dist++]=code}}for(bits=0;bits<=MAX_BITS;bits++){bl_count[bits]=0}n=0;while(n<=143){static_ltree[n*2+1]=8;n++;bl_count[8]++}while(n<=255){static_ltree[n*2+1]=9;n++;bl_count[9]++}while(n<=279){static_ltree[n*2+1]=7;n++;bl_count[7]++}while(n<=287){static_ltree[n*2+1]=8;n++;bl_count[8]++}gen_codes(static_ltree,L_CODES+1,bl_count);for(n=0;n<D_CODES;n++){static_dtree[n*2+1]=5;static_dtree[n*2]=bi_reverse(n,5)}static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS+1,L_CODES,MAX_BITS);static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES,MAX_BITS);static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES,MAX_BL_BITS)}function init_block(s){var n;for(n=0;n<L_CODES;n++){s.dyn_ltree[n*2]=0}for(n=0;n<D_CODES;n++){s.dyn_dtree[n*2]=0}for(n=0;n<BL_CODES;n++){s.bl_tree[n*2]=0}s.dyn_ltree[END_BLOCK*2]=1;s.opt_len=s.static_len=0;s.last_lit=s.matches=0}function bi_windup(s){if(s.bi_valid>8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]}function pqdownheap(s,tree,k){var v=s.heap[k];var j=k<<1;while(j<=s.heap_len){if(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth)){j++}if(smaller(tree,v,s.heap[j],s.depth)){break}s.heap[k]=s.heap[j];k=j;j<<=1}s.heap[k]=v}function compress_block(s,ltree,dtree){var dist;var lc;var lx=0;var code;var extra;if(s.last_lit!==0){do{dist=s.pending_buf[s.d_buf+lx*2]<<8|s.pending_buf[s.d_buf+lx*2+1];lc=s.pending_buf[s.l_buf+lx];lx++;if(dist===0){send_code(s,lc,ltree)}else{code=_length_code[lc];send_code(s,code+LITERALS+1,ltree);extra=extra_lbits[code];if(extra!==0){lc-=base_length[code];send_bits(s,lc,extra)}dist--;code=d_code(dist);send_code(s,code,dtree);extra=extra_dbits[code];if(extra!==0){dist-=base_dist[code];send_bits(s,dist,extra)}}}while(lx<s.last_lit)}send_code(s,END_BLOCK,ltree)}function build_tree(s,desc){var tree=desc.dyn_tree;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var elems=desc.stat_desc.elems;var n,m;var max_code=-1;var node;s.heap_len=0;s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++){if(tree[n*2]!==0){s.heap[++s.heap_len]=max_code=n;s.depth[n]=0}else{tree[n*2+1]=0}}while(s.heap_len<2){node=s.heap[++s.heap_len]=max_code<2?++max_code:0;tree[node*2]=1;s.depth[node]=0;s.opt_len--;if(has_stree){s.static_len-=stree[node*2+1]}}desc.max_code=max_code;for(n=s.heap_len>>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen===nextlen){continue}else if(count<min_count){s.bl_tree[curlen*2]+=count}else if(curlen!==0){if(curlen!==prevlen){s.bl_tree[curlen*2]++}s.bl_tree[REP_3_6*2]++}else if(count<=10){s.bl_tree[REPZ_3_10*2]++}else{s.bl_tree[REPZ_11_138*2]++}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else if(curlen===nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}function send_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen===nextlen){continue}else if(count<min_count){do{send_code(s,curlen,s.bl_tree)}while(--count!==0)}else if(curlen!==0){if(curlen!==prevlen){send_code(s,curlen,s.bl_tree);count--}send_code(s,REP_3_6,s.bl_tree);send_bits(s,count-3,2)}else if(count<=10){send_code(s,REPZ_3_10,s.bl_tree);send_bits(s,count-3,3)}else{send_code(s,REPZ_11_138,s.bl_tree);send_bits(s,count-11,7)}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else if(curlen===nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}function build_bl_tree(s){var max_blindex;scan_tree(s,s.dyn_ltree,s.l_desc.max_code);scan_tree(s,s.dyn_dtree,s.d_desc.max_code);build_tree(s,s.bl_desc);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank<blcodes;rank++){send_bits(s,s.bl_tree[bl_order[rank]*2+1],3)}send_tree(s,s.dyn_ltree,lcodes-1);send_tree(s,s.dyn_dtree,dcodes-1)}function detect_data_type(s){var black_mask=4093624447;var n;for(n=0;n<=31;n++,black_mask>>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n<LITERALS;n++){if(s.dyn_ltree[n*2]!==0){return Z_TEXT}}return Z_BINARY}var static_init_done=false;function _tr_init(s){if(!static_init_done){tr_static_init();static_init_done=true}s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc);s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc);s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc);s.bi_buf=0;s.bi_valid=0;init_block(s)}function _tr_stored_block(s,buf,stored_len,last){send_bits(s,(STORED_BLOCK<<1)+(last?1:0),3);copy_block(s,buf,stored_len,true)}function _tr_align(s){send_bits(s,STATIC_TREES<<1,3);send_code(s,END_BLOCK,static_ltree);bi_flush(s)}function _tr_flush_block(s,buf,stored_len,last){var opt_lenb,static_lenb;var max_blindex=0;if(s.level>0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":6}],16:[function(require,module,exports){"use strict";function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}module.exports=ZStream},{}],17:[function(require,module,exports){(function(process,Buffer){var msg=require("pako/lib/zlib/messages");var zstream=require("pako/lib/zlib/zstream");var zlib_deflate=require("pako/lib/zlib/deflate.js");var zlib_inflate=require("pako/lib/zlib/inflate.js");var constants=require("pako/lib/zlib/constants");for(var key in constants){exports[key]=constants[key]}exports.NONE=0;exports.DEFLATE=1;exports.INFLATE=2;exports.GZIP=3;exports.GUNZIP=4;exports.DEFLATERAW=5;exports.INFLATERAW=6;exports.UNZIP=7;function Zlib(mode){if(mode<exports.DEFLATE||mode>exports.UNZIP)throw new TypeError("Bad argument");this.mode=mode;this.init_done=false;this.write_in_progress=false;this.pending_close=false;this.windowBits=0;this.level=0;this.memLevel=0;this.strategy=0;this.dictionary=null}Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){this.windowBits=windowBits;this.level=level;this.memLevel=memLevel;this.strategy=strategy;if(this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-this.windowBits;this.strm=new zstream;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:var status=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:var status=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(status!==exports.Z_OK){this._error(status);return}this.write_in_progress=false;this.init_done=true};Zlib.prototype.params=function(){throw new Error("deflateParams Not supported")};Zlib.prototype._writeCheck=function(){if(!this.init_done)throw new Error("write before init");if(this.mode===exports.NONE)throw new Error("already finalized");if(this.write_in_progress)throw new Error("write already in progress");if(this.pending_close)throw new Error("close is pending")};Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){this._writeCheck();this.write_in_progress=true;var self=this;process.nextTick(function(){self.write_in_progress=false;var res=self._write(flush,input,in_off,in_len,out,out_off,out_len);self.callback(res[0],res[1]);if(self.pending_close)self.close()});return this};function bufferSet(data,offset){for(var i=0;i<data.length;i++){this[offset+i]=data[i]}}Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){this._writeCheck();return this._write(flush,input,in_off,in_len,out,out_off,out_len)};Zlib.prototype._write=function(flush,input,in_off,in_len,out,out_off,out_len){this.write_in_progress=true;if(flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK){throw new Error("Invalid flush value")}if(input==null){input=new Buffer(0);in_len=0;in_off=0}if(out._set)out.set=out._set;else out.set=bufferSet;var strm=this.strm;strm.avail_in=in_len;strm.input=input;strm.next_in=in_off;strm.avail_out=out_len;strm.output=out;strm.next_out=out_off;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:var status=zlib_deflate.deflate(strm,flush);break;case exports.UNZIP:case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:var status=zlib_inflate.inflate(strm,flush);break;default:throw new Error("Unknown mode "+this.mode)}if(status!==exports.Z_STREAM_END&&status!==exports.Z_OK){this._error(status)}this.write_in_progress=false;return[strm.avail_in,strm.avail_out]};Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=true;return}this.pending_close=false;if(this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW){zlib_deflate.deflateEnd(this.strm)}else{zlib_inflate.inflateEnd(this.strm)}this.mode=exports.NONE};Zlib.prototype.reset=function(){switch(this.mode){case exports.DEFLATE:case exports.DEFLATERAW:var status=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:var status=zlib_inflate.inflateReset(this.strm);break}if(status!==exports.Z_OK){this._error(status)}};Zlib.prototype._error=function(status){this.onerror(msg[status]+": "+this.strm.msg,status);this.write_in_progress=false;if(this.pending_close)this.close()};exports.Zlib=Zlib}).call(this,require("_process"),require("buffer").Buffer)},{_process:44,buffer:19,"pako/lib/zlib/constants":8,"pako/lib/zlib/deflate.js":10,"pako/lib/zlib/inflate.js":12,"pako/lib/zlib/messages":14,"pako/lib/zlib/zstream":16}],18:[function(require,module,exports){(function(process,Buffer){var Transform=require("_stream_transform");var binding=require("./binding");var util=require("util");var assert=require("assert").ok;binding.Z_MIN_WINDOWBITS=8;binding.Z_MAX_WINDOWBITS=15;binding.Z_DEFAULT_WINDOWBITS=15;binding.Z_MIN_CHUNK=64;binding.Z_MAX_CHUNK=Infinity;binding.Z_DEFAULT_CHUNK=16*1024;binding.Z_MIN_MEMLEVEL=1;binding.Z_MAX_MEMLEVEL=9;binding.Z_DEFAULT_MEMLEVEL=8;binding.Z_MIN_LEVEL=-1;binding.Z_MAX_LEVEL=9;binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;Object.keys(binding).forEach(function(k){if(k.match(/^Z/))exports[k]=binding[k]});exports.codes={Z_OK:binding.Z_OK,Z_STREAM_END:binding.Z_STREAM_END,Z_NEED_DICT:binding.Z_NEED_DICT,Z_ERRNO:binding.Z_ERRNO,Z_STREAM_ERROR:binding.Z_STREAM_ERROR,Z_DATA_ERROR:binding.Z_DATA_ERROR,Z_MEM_ERROR:binding.Z_MEM_ERROR,Z_BUF_ERROR:binding.Z_BUF_ERROR,Z_VERSION_ERROR:binding.Z_VERSION_ERROR};Object.keys(exports.codes).forEach(function(k){exports.codes[exports.codes[k]]=k});exports.Deflate=Deflate;exports.Inflate=Inflate;exports.Gzip=Gzip;exports.Gunzip=Gunzip;exports.DeflateRaw=DeflateRaw;exports.InflateRaw=InflateRaw;exports.Unzip=Unzip;exports.createDeflate=function(o){return new Deflate(o)};exports.createInflate=function(o){return new Inflate(o)};exports.createDeflateRaw=function(o){return new DeflateRaw(o)};exports.createInflateRaw=function(o){return new InflateRaw(o)};exports.createGzip=function(o){return new Gzip(o)};exports.createGunzip=function(o){return new Gunzip(o)};exports.createUnzip=function(o){return new Unzip(o)};exports.deflate=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Deflate(opts),buffer,callback)};exports.deflateSync=function(buffer,opts){return zlibBufferSync(new Deflate(opts),buffer)};exports.gzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Gzip(opts),buffer,callback)};exports.gzipSync=function(buffer,opts){return zlibBufferSync(new Gzip(opts),buffer)};exports.deflateRaw=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new DeflateRaw(opts),buffer,callback)};exports.deflateRawSync=function(buffer,opts){return zlibBufferSync(new DeflateRaw(opts),buffer)};exports.unzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Unzip(opts),buffer,callback)};exports.unzipSync=function(buffer,opts){return zlibBufferSync(new Unzip(opts),buffer)};exports.inflate=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Inflate(opts),buffer,callback)};exports.inflateSync=function(buffer,opts){return zlibBufferSync(new Inflate(opts),buffer)};exports.gunzip=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new Gunzip(opts),buffer,callback)};exports.gunzipSync=function(buffer,opts){return zlibBufferSync(new Gunzip(opts),buffer)};exports.inflateRaw=function(buffer,opts,callback){if(typeof opts==="function"){callback=opts;opts={}}return zlibBuffer(new InflateRaw(opts),buffer,callback)};exports.inflateRawSync=function(buffer,opts){return zlibBufferSync(new InflateRaw(opts),buffer)};function zlibBuffer(engine,buffer,callback){var buffers=[];var nread=0;engine.on("error",onError);engine.on("end",onEnd);engine.end(buffer);flow();function flow(){var chunk;while(null!==(chunk=engine.read())){buffers.push(chunk);nread+=chunk.length}engine.once("readable",flow)}function onError(err){engine.removeListener("end",onEnd);engine.removeListener("readable",flow);callback(err)}function onEnd(){var buf=Buffer.concat(buffers,nread);buffers=[];callback(null,buf);engine.close()}}function zlibBufferSync(engine,buffer){if(typeof buffer==="string")buffer=new Buffer(buffer);if(!Buffer.isBuffer(buffer))throw new TypeError("Not a string or buffer");var flushFlag=binding.Z_FINISH;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function Zlib(opts,mode){this._opts=opts=opts||{};this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK;Transform.call(this,opts);if(opts.flush){if(opts.flush!==binding.Z_NO_FLUSH&&opts.flush!==binding.Z_PARTIAL_FLUSH&&opts.flush!==binding.Z_SYNC_FLUSH&&opts.flush!==binding.Z_FULL_FLUSH&&opts.flush!==binding.Z_FINISH&&opts.flush!==binding.Z_BLOCK){throw new Error("Invalid flush flag: "+opts.flush)}}this._flushFlag=opts.flush||binding.Z_NO_FLUSH;if(opts.chunkSize){if(opts.chunkSize<exports.Z_MIN_CHUNK||opts.chunkSize>exports.Z_MAX_CHUNK){throw new Error("Invalid chunk size: "+opts.chunkSize)}}if(opts.windowBits){if(opts.windowBits<exports.Z_MIN_WINDOWBITS||opts.windowBits>exports.Z_MAX_WINDOWBITS){throw new Error("Invalid windowBits: "+opts.windowBits)}}if(opts.level){if(opts.level<exports.Z_MIN_LEVEL||opts.level>exports.Z_MAX_LEVEL){throw new Error("Invalid compression level: "+opts.level)}}if(opts.memLevel){if(opts.memLevel<exports.Z_MIN_MEMLEVEL||opts.memLevel>exports.Z_MAX_MEMLEVEL){throw new Error("Invalid memLevel: "+opts.memLevel)}}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY){throw new Error("Invalid strategy: "+opts.strategy)}}if(opts.dictionary){if(!Buffer.isBuffer(opts.dictionary)){throw new Error("Invalid dictionary: it should be a Buffer instance")}}this._binding=new binding.Zlib(mode);var self=this;this._hadError=false;this._binding.onerror=function(message,errno){self._binding=null;self._hadError=true;var error=new Error(message);error.errno=errno;error.code=exports.codes[errno];self.emit("error",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level==="number")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy==="number")strategy=opts.strategy;this._binding.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary);this._buffer=new Buffer(this._chunkSize);this._offset=0;this._closed=false;this._level=level;this._strategy=strategy;this.once("end",this.close)}util.inherits(Zlib,Transform);Zlib.prototype.params=function(level,strategy,callback){if(level<exports.Z_MIN_LEVEL||level>exports.Z_MAX_LEVEL){throw new RangeError("Invalid compression level: "+level)}if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY){throw new TypeError("Invalid strategy: "+strategy)}if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){self._binding.params(level,strategy);if(!self._hadError){self._level=level;self._strategy=strategy;if(callback)callback()}})}else{process.nextTick(callback)}};Zlib.prototype.reset=function(){return this._binding.reset()};Zlib.prototype._flush=function(callback){this._transform(new Buffer(0),"",callback)};Zlib.prototype.flush=function(kind,callback){var ws=this._writableState;if(typeof kind==="function"||kind===void 0&&!callback){callback=kind;kind=binding.Z_FULL_FLUSH}if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once("end",callback)}else if(ws.needDrain){var self=this;this.once("drain",function(){self.flush(callback)})}else{this._flushFlag=kind;this.write(new Buffer(0),"",callback)}};Zlib.prototype.close=function(callback){if(callback)process.nextTick(callback);if(this._closed)return;this._closed=true;this._binding.close();var self=this;process.nextTick(function(){self.emit("close")})};Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag;var ws=this._writableState;var ending=ws.ending||ws.ended;var last=ending&&(!chunk||ws.length===chunk.length);if(!chunk===null&&!Buffer.isBuffer(chunk))return cb(new Error("invalid input"));if(last)flushFlag=binding.Z_FINISH;else{flushFlag=this._flushFlag;if(chunk.length>=ws.length){this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH}}var self=this;this._processChunk(chunk,flushFlag,cb)};Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length;var availOutBefore=this._chunkSize-this._offset;var inOff=0;var self=this;var async=typeof cb==="function";if(!async){var buffers=[];var nread=0;var error;this.on("error",function(er){error=er});do{var res=this._binding.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore)}while(!this._hadError&&callback(res[0],res[1]));if(this._hadError){throw error}var buf=Buffer.concat(buffers,nread);this.close();return buf}var req=this._binding.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk;req.callback=callback;function callback(availInAfter,availOutAfter){if(self._hadError)return;var have=availOutBefore-availOutAfter;assert(have>=0,"have should not go down");if(have>0){var out=self._buffer.slice(self._offset,self._offset+have);self._offset+=have;if(async){self.push(out)}else{buffers.push(out);nread+=out.length}}if(availOutAfter===0||self._offset>=self._chunkSize){availOutBefore=self._chunkSize;self._offset=0;self._buffer=new Buffer(self._chunkSize)}if(availOutAfter===0){inOff+=availInBefore-availInAfter;availInBefore=availInAfter;if(!async)return true;var newReq=self._binding.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback;newReq.buffer=chunk;return}if(!async)return false;cb()}};util.inherits(Deflate,Zlib);util.inherits(Inflate,Zlib);util.inherits(Gzip,Zlib);util.inherits(Gunzip,Zlib);util.inherits(DeflateRaw,Zlib);util.inherits(InflateRaw,Zlib);util.inherits(Unzip,Zlib)}).call(this,require("_process"),require("buffer").Buffer)},{"./binding":17,_process:44,_stream_transform:59,assert:2,buffer:19,util:65}],19:[function(require,module,exports){var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=Buffer;exports.INSPECT_MAX_BYTES=50;Buffer.poolSize=8192;var TYPED_ARRAY_SUPPORT=function(){try{var buf=new ArrayBuffer(0);var arr=new Uint8Array(buf);arr.foo=function(){return 42};return 42===arr.foo()&&typeof arr.subarray==="function"&&new Uint8Array(1).subarray(1,1).byteLength===0}catch(e){return false}}();function Buffer(subject,encoding,noZero){if(!(this instanceof Buffer))return new Buffer(subject,encoding,noZero);var type=typeof subject;var length;if(type==="number")length=subject>0?subject>>>0:0;else if(type==="string"){if(encoding==="base64")subject=base64clean(subject);length=Buffer.byteLength(subject,encoding)}else if(type==="object"&&subject!==null){if(subject.type==="Buffer"&&isArray(subject.data))subject=subject.data;length=+subject.length>0?Math.floor(+subject.length):0}else throw new Error("First argument needs to be a number, array or string.");var buf;if(TYPED_ARRAY_SUPPORT){buf=Buffer._augment(new Uint8Array(length))}else{buf=this;buf.length=length;buf._isBuffer=true}var i;if(TYPED_ARRAY_SUPPORT&&typeof subject.byteLength==="number"){buf._set(subject)}else if(isArrayish(subject)){if(Buffer.isBuffer(subject)){for(i=0;i<length;i++)buf[i]=subject.readUInt8(i)}else{for(i=0;i<length;i++)buf[i]=(subject[i]%256+256)%256}}else if(type==="string"){buf.write(subject,0,encoding)}else if(type==="number"&&!TYPED_ARRAY_SUPPORT&&!noZero){for(i=0;i<length;i++){buf[i]=0}}return buf}Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.isBuffer=function(b){return!!(b!=null&&b._isBuffer)};Buffer.byteLength=function(str,encoding){var ret;str=str.toString();switch(encoding||"utf8"){case"hex":ret=str.length/2;break;case"utf8":case"utf-8":ret=utf8ToBytes(str).length;break;case"ascii":case"binary":case"raw":ret=str.length;break;case"base64":ret=base64ToBytes(str).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=str.length*2;break;default:throw new Error("Unknown encoding")}return ret};Buffer.concat=function(list,totalLength){assert(isArray(list),"Usage: Buffer.concat(list[, length])");if(list.length===0){return new Buffer(0)}else if(list.length===1){return list[0]}var i;if(totalLength===undefined){totalLength=0;for(i=0;i<list.length;i++){totalLength+=list[i].length}}var buf=new Buffer(totalLength);var pos=0;for(i=0;i<list.length;i++){var item=list[i];item.copy(buf,pos);pos+=item.length}return buf};Buffer.compare=function(a,b){assert(Buffer.isBuffer(a)&&Buffer.isBuffer(b),"Arguments must be Buffers");var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len&&a[i]===b[i];i++){}if(i!==len){x=a[i];y=b[i]}if(x<y){return-1}if(y<x){return 1}return 0};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;assert(strLen%2===0,"Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;i<length;i++){var byte=parseInt(string.substr(i*2,2),16);assert(!isNaN(byte),"Invalid hex string");buf[offset+i]=byte}return i}function utf8Write(buf,string,offset,length){var charsWritten=blitBuffer(utf8ToBytes(string),buf,offset,length);return charsWritten}function asciiWrite(buf,string,offset,length){var charsWritten=blitBuffer(asciiToBytes(string),buf,offset,length);return charsWritten}function binaryWrite(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){var charsWritten=blitBuffer(base64ToBytes(string),buf,offset,length);return charsWritten}function utf16leWrite(buf,string,offset,length){var charsWritten=blitBuffer(utf16leToBytes(string),buf,offset,length);return charsWritten}Buffer.prototype.write=function(string,offset,length,encoding){if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=undefined}}else{var swap=encoding;encoding=offset;offset=length;length=swap}offset=Number(offset)||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}encoding=String(encoding||"utf8").toLowerCase();var ret;switch(encoding){case"hex":ret=hexWrite(this,string,offset,length);break;case"utf8":case"utf-8":ret=utf8Write(this,string,offset,length);break;case"ascii":ret=asciiWrite(this,string,offset,length);break;case"binary":ret=binaryWrite(this,string,offset,length);break;case"base64":ret=base64Write(this,string,offset,length);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=utf16leWrite(this,string,offset,length);break;default:throw new Error("Unknown encoding")}return ret};Buffer.prototype.toString=function(encoding,start,end){var self=this;encoding=String(encoding||"utf8").toLowerCase();start=Number(start)||0;end=end===undefined?self.length:Number(end);if(end===start)return"";var ret;switch(encoding){case"hex":ret=hexSlice(self,start,end);break;case"utf8":case"utf-8":ret=utf8Slice(self,start,end);break;case"ascii":ret=asciiSlice(self,start,end);break;case"binary":ret=binarySlice(self,start,end);break;case"base64":ret=base64Slice(self,start,end);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":ret=utf16leSlice(self,start,end);break;default:throw new Error("Unknown encoding")}return ret};Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};Buffer.prototype.equals=function(b){assert(Buffer.isBuffer(b),"Argument must be a Buffer");return Buffer.compare(this,b)===0
};Buffer.prototype.compare=function(b){assert(Buffer.isBuffer(b),"Argument must be a Buffer");return Buffer.compare(this,b)};Buffer.prototype.copy=function(target,target_start,start,end){var source=this;if(!start)start=0;if(!end&&end!==0)end=this.length;if(!target_start)target_start=0;if(end===start)return;if(target.length===0||source.length===0)return;assert(end>=start,"sourceEnd < sourceStart");assert(target_start>=0&&target_start<target.length,"targetStart out of bounds");assert(start>=0&&start<source.length,"sourceStart out of bounds");assert(end>=0&&end<=source.length,"sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-target_start<end-start)end=target.length-target_start+start;var len=end-start;if(len<100||!TYPED_ARRAY_SUPPORT){for(var i=0;i<len;i++){target[i+target_start]=this[i+start]}}else{target._set(this.subarray(start,start+len),target_start)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){var res="";var tmp="";end=Math.min(buf.length,end);for(var i=start;i<end;i++){if(buf[i]<=127){res+=decodeUtf8Char(tmp)+String.fromCharCode(buf[i]);tmp=""}else{tmp+="%"+buf[i].toString(16)}}return res+decodeUtf8Char(tmp)}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;i++){ret+=String.fromCharCode(buf[i])}return ret}function binarySlice(buf,start,end){return asciiSlice(buf,start,end)}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;i++){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;if(TYPED_ARRAY_SUPPORT){return Buffer._augment(this.subarray(start,end))}else{var sliceLen=end-start;var newBuf=new Buffer(sliceLen,undefined,true);for(var i=0;i<sliceLen;i++){newBuf[i]=this[i+start]}return newBuf}};Buffer.prototype.get=function(offset){console.log(".get() is deprecated. Access using array indexes instead.");return this.readUInt8(offset)};Buffer.prototype.set=function(v,offset){console.log(".set() is deprecated. Access using array indexes instead.");return this.writeUInt8(v,offset)};Buffer.prototype.readUInt8=function(offset,noAssert){if(!noAssert){assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to read beyond buffer length")}if(offset>=this.length)return;return this[offset]};function readUInt16(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val;if(littleEndian){val=buf[offset];if(offset+1<len)val|=buf[offset+1]<<8}else{val=buf[offset]<<8;if(offset+1<len)val|=buf[offset+1]}return val}Buffer.prototype.readUInt16LE=function(offset,noAssert){return readUInt16(this,offset,true,noAssert)};Buffer.prototype.readUInt16BE=function(offset,noAssert){return readUInt16(this,offset,false,noAssert)};function readUInt32(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val;if(littleEndian){if(offset+2<len)val=buf[offset+2]<<16;if(offset+1<len)val|=buf[offset+1]<<8;val|=buf[offset];if(offset+3<len)val=val+(buf[offset+3]<<24>>>0)}else{if(offset+1<len)val=buf[offset+1]<<16;if(offset+2<len)val|=buf[offset+2]<<8;if(offset+3<len)val|=buf[offset+3];val=val+(buf[offset]<<24>>>0)}return val}Buffer.prototype.readUInt32LE=function(offset,noAssert){return readUInt32(this,offset,true,noAssert)};Buffer.prototype.readUInt32BE=function(offset,noAssert){return readUInt32(this,offset,false,noAssert)};Buffer.prototype.readInt8=function(offset,noAssert){if(!noAssert){assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to read beyond buffer length")}if(offset>=this.length)return;var neg=this[offset]&128;if(neg)return(255-this[offset]+1)*-1;else return this[offset]};function readInt16(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val=readUInt16(buf,offset,littleEndian,true);var neg=val&32768;if(neg)return(65535-val+1)*-1;else return val}Buffer.prototype.readInt16LE=function(offset,noAssert){return readInt16(this,offset,true,noAssert)};Buffer.prototype.readInt16BE=function(offset,noAssert){return readInt16(this,offset,false,noAssert)};function readInt32(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to read beyond buffer length")}var len=buf.length;if(offset>=len)return;var val=readUInt32(buf,offset,littleEndian,true);var neg=val&2147483648;if(neg)return(4294967295-val+1)*-1;else return val}Buffer.prototype.readInt32LE=function(offset,noAssert){return readInt32(this,offset,true,noAssert)};Buffer.prototype.readInt32BE=function(offset,noAssert){return readInt32(this,offset,false,noAssert)};function readFloat(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset+3<buf.length,"Trying to read beyond buffer length")}return ieee754.read(buf,offset,littleEndian,23,4)}Buffer.prototype.readFloatLE=function(offset,noAssert){return readFloat(this,offset,true,noAssert)};Buffer.prototype.readFloatBE=function(offset,noAssert){return readFloat(this,offset,false,noAssert)};function readDouble(buf,offset,littleEndian,noAssert){if(!noAssert){assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset+7<buf.length,"Trying to read beyond buffer length")}return ieee754.read(buf,offset,littleEndian,52,8)}Buffer.prototype.readDoubleLE=function(offset,noAssert){return readDouble(this,offset,true,noAssert)};Buffer.prototype.readDoubleBE=function(offset,noAssert){return readDouble(this,offset,false,noAssert)};Buffer.prototype.writeUInt8=function(value,offset,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"trying to write beyond buffer length");verifuint(value,255)}if(offset>=this.length)return;this[offset]=value;return offset+1};function writeUInt16(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"trying to write beyond buffer length");verifuint(value,65535)}var len=buf.length;if(offset>=len)return;for(var i=0,j=Math.min(len-offset,2);i<j;i++){buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>(littleEndian?i:1-i)*8}return offset+2}Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return writeUInt16(this,value,offset,true,noAssert)};Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return writeUInt16(this,value,offset,false,noAssert)};function writeUInt32(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"trying to write beyond buffer length");verifuint(value,4294967295)}var len=buf.length;if(offset>=len)return;for(var i=0,j=Math.min(len-offset,4);i<j;i++){buf[offset+i]=value>>>(littleEndian?i:3-i)*8&255}return offset+4}Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return writeUInt32(this,value,offset,true,noAssert)};Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return writeUInt32(this,value,offset,false,noAssert)};Buffer.prototype.writeInt8=function(value,offset,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset<this.length,"Trying to write beyond buffer length");verifsint(value,127,-128)}if(offset>=this.length)return;if(value>=0)this.writeUInt8(value,offset,noAssert);else this.writeUInt8(255+value+1,offset,noAssert);return offset+1};function writeInt16(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+1<buf.length,"Trying to write beyond buffer length");verifsint(value,32767,-32768)}var len=buf.length;if(offset>=len)return;if(value>=0)writeUInt16(buf,value,offset,littleEndian,noAssert);else writeUInt16(buf,65535+value+1,offset,littleEndian,noAssert);return offset+2}Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return writeInt16(this,value,offset,true,noAssert)};Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return writeInt16(this,value,offset,false,noAssert)};function writeInt32(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to write beyond buffer length");verifsint(value,2147483647,-2147483648)}var len=buf.length;if(offset>=len)return;if(value>=0)writeUInt32(buf,value,offset,littleEndian,noAssert);else writeUInt32(buf,4294967295+value+1,offset,littleEndian,noAssert);return offset+4}Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return writeInt32(this,value,offset,true,noAssert)};Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return writeInt32(this,value,offset,false,noAssert)};function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+3<buf.length,"Trying to write beyond buffer length");verifIEEE754(value,3.4028234663852886e38,-3.4028234663852886e38)}var len=buf.length;if(offset>=len)return;ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){assert(value!==undefined&&value!==null,"missing value");assert(typeof littleEndian==="boolean","missing or invalid endian");assert(offset!==undefined&&offset!==null,"missing offset");assert(offset+7<buf.length,"Trying to write beyond buffer length");verifIEEE754(value,1.7976931348623157e308,-1.7976931348623157e308)}var len=buf.length;if(offset>=len)return;ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.fill=function(value,start,end){if(!value)value=0;if(!start)start=0;if(!end)end=this.length;assert(end>=start,"end < start");if(end===start)return;if(this.length===0)return;assert(start>=0&&start<this.length,"start out of bounds");assert(end>=0&&end<=this.length,"end out of bounds");var i;if(typeof value==="number"){for(i=start;i<end;i++){this[i]=value}}else{var bytes=utf8ToBytes(value.toString());var len=bytes.length;for(i=start;i<end;i++){this[i]=bytes[i%len]}}return this};Buffer.prototype.inspect=function(){var out=[];var len=this.length;for(var i=0;i<len;i++){out[i]=toHex(this[i]);if(i===exports.INSPECT_MAX_BYTES){out[i+1]="...";break}}return"<Buffer "+out.join(" ")+">"};Buffer.prototype.toArrayBuffer=function(){if(typeof Uint8Array!=="undefined"){if(TYPED_ARRAY_SUPPORT){return new Buffer(this).buffer}else{var buf=new Uint8Array(this.length);for(var i=0,len=buf.length;i<len;i+=1){buf[i]=this[i]}return buf.buffer}}else{throw new Error("Buffer.toArrayBuffer not supported in this browser")}};var BP=Buffer.prototype;Buffer._augment=function(arr){arr._isBuffer=true;arr._get=arr.get;arr._set=arr.set;arr.get=BP.get;arr.set=BP.set;arr.write=BP.write;arr.toString=BP.toString;arr.toLocaleString=BP.toString;arr.toJSON=BP.toJSON;arr.equals=BP.equals;arr.compare=BP.compare;arr.copy=BP.copy;arr.slice=BP.slice;arr.readUInt8=BP.readUInt8;arr.readUInt16LE=BP.readUInt16LE;arr.readUInt16BE=BP.readUInt16BE;arr.readUInt32LE=BP.readUInt32LE;arr.readUInt32BE=BP.readUInt32BE;arr.readInt8=BP.readInt8;arr.readInt16LE=BP.readInt16LE;arr.readInt16BE=BP.readInt16BE;arr.readInt32LE=BP.readInt32LE;arr.readInt32BE=BP.readInt32BE;arr.readFloatLE=BP.readFloatLE;arr.readFloatBE=BP.readFloatBE;arr.readDoubleLE=BP.readDoubleLE;arr.readDoubleBE=BP.readDoubleBE;arr.writeUInt8=BP.writeUInt8;arr.writeUInt16LE=BP.writeUInt16LE;arr.writeUInt16BE=BP.writeUInt16BE;arr.writeUInt32LE=BP.writeUInt32LE;arr.writeUInt32BE=BP.writeUInt32BE;arr.writeInt8=BP.writeInt8;arr.writeInt16LE=BP.writeInt16LE;arr.writeInt16BE=BP.writeInt16BE;arr.writeInt32LE=BP.writeInt32LE;arr.writeInt32BE=BP.writeInt32BE;arr.writeFloatLE=BP.writeFloatLE;arr.writeFloatBE=BP.writeFloatBE;arr.writeDoubleLE=BP.writeDoubleLE;arr.writeDoubleBE=BP.writeDoubleBE;arr.fill=BP.fill;arr.inspect=BP.inspect;arr.toArrayBuffer=BP.toArrayBuffer;return arr};var INVALID_BASE64_RE=/[^+\/0-9A-z]/g;function base64clean(str){str=stringtrim(str).replace(INVALID_BASE64_RE,"");while(str.length%4!==0){str=str+"="}return str}function stringtrim(str){if(str.trim)return str.trim();return str.replace(/^\s+|\s+$/g,"")}function isArray(subject){return(Array.isArray||function(subject){return Object.prototype.toString.call(subject)==="[object Array]"})(subject)}function isArrayish(subject){return isArray(subject)||Buffer.isBuffer(subject)||subject&&typeof subject==="object"&&typeof subject.length==="number"}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++){var b=str.charCodeAt(i);if(b<=127){byteArray.push(b)}else{var start=i;if(b>=55296&&b<=57343)i++;var h=encodeURIComponent(str.slice(start,i+1)).substr(1).split("%");for(var j=0;j<h.length;j++){byteArray.push(parseInt(h[j],16))}}}return byteArray}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;i++){c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(str)}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;i++){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function decodeUtf8Char(str){try{return decodeURIComponent(str)}catch(err){return String.fromCharCode(65533)}}function verifuint(value,max){assert(typeof value==="number","cannot write a non-number as a number");assert(value>=0,"specified a negative value for writing an unsigned value");assert(value<=max,"value is larger than maximum value for type");assert(Math.floor(value)===value,"value has a fractional component")}function verifsint(value,max,min){assert(typeof value==="number","cannot write a non-number as a number");assert(value<=max,"value larger than maximum allowed value");assert(value>=min,"value smaller than minimum allowed value");assert(Math.floor(value)===value,"value has a fractional component")}function verifIEEE754(value,max,min){assert(typeof value==="number","cannot write a non-number as a number");assert(value<=max,"value larger than maximum allowed value");assert(value>=min,"value smaller than minimum allowed value")}function assert(test,message){if(!test)throw new Error(message||"Failed assertion")}},{"base64-js":20,ieee754:21}],20:[function(require,module,exports){var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";(function(exports){"use strict";var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var PLUS="+".charCodeAt(0);var SLASH="/".charCodeAt(0);var NUMBER="0".charCodeAt(0);var LOWER="a".charCodeAt(0);var UPPER="A".charCodeAt(0);function decode(elt){var code=elt.charCodeAt(0);if(code===PLUS)return 62;if(code===SLASH)return 63;if(code<NUMBER)return-1;if(code<NUMBER+10)return code-NUMBER+26+26;if(code<UPPER+26)return code-UPPER;if(code<LOWER+26)return code-LOWER+26}function b64ToByteArray(b64){var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var len=b64.length;placeHolders="="===b64.charAt(len-2)?2:"="===b64.charAt(len-1)?1:0;arr=new Arr(b64.length*3/4-placeHolders);l=placeHolders>0?b64.length-4:b64.length;var L=0;function push(v){arr[L++]=v}for(i=0,j=0;i<l;i+=4,j+=3){tmp=decode(b64.charAt(i))<<18|decode(b64.charAt(i+1))<<12|decode(b64.charAt(i+2))<<6|decode(b64.charAt(i+3));push((tmp&16711680)>>16);push((tmp&65280)>>8);push(tmp&255)}if(placeHolders===2){tmp=decode(b64.charAt(i))<<2|decode(b64.charAt(i+1))>>4;push(tmp&255)}else if(placeHolders===1){tmp=decode(b64.charAt(i))<<10|decode(b64.charAt(i+1))<<4|decode(b64.charAt(i+2))>>2;push(tmp>>8&255);push(tmp&255)}return arr}function uint8ToBase64(uint8){var i,extraBytes=uint8.length%3,output="",temp,length;function encode(num){return lookup.charAt(num)}function tripletToBase64(num){return encode(num>>18&63)+encode(num>>12&63)+encode(num>>6&63)+encode(num&63)}for(i=0,length=uint8.length-extraBytes;i<length;i+=3){temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2];output+=tripletToBase64(temp)}switch(extraBytes){case 1:temp=uint8[uint8.length-1];output+=encode(temp>>2);output+=encode(temp<<4&63);output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1];output+=encode(temp>>10);output+=encode(temp>>4&63);output+=encode(temp<<2&63);output+="=";break}return output}exports.toByteArray=b64ToByteArray;exports.fromByteArray=uint8ToBase64})(typeof exports==="undefined"?this.base64js={}:exports)},{}],21:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8);m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8);if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8);e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=s*128}},{}],22:[function(require,module,exports){(function(Buffer){var createHash=require("sha.js");var md5=toConstructor(require("./md5"));var rmd160=toConstructor(require("ripemd160"));function toConstructor(fn){return function(){var buffers=[];var m={update:function(data,enc){if(!Buffer.isBuffer(data))data=new Buffer(data,enc);buffers.push(data);return this},digest:function(enc){var buf=Buffer.concat(buffers);var r=fn(buf);buffers=null;return enc?r.toString(enc):r}};return m}}module.exports=function(alg){if("md5"===alg)return new md5;if("rmd160"===alg)return new rmd160;return createHash(alg)}}).call(this,require("buffer").Buffer)},{"./md5":26,buffer:19,ripemd160:27,"sha.js":29}],23:[function(require,module,exports){(function(Buffer){var createHash=require("./create-hash");var blocksize=64;var zeroBuffer=new Buffer(blocksize);zeroBuffer.fill(0);module.exports=Hmac;function Hmac(alg,key){if(!(this instanceof Hmac))return new Hmac(alg,key);this._opad=opad;this._alg=alg;key=this._key=!Buffer.isBuffer(key)?new Buffer(key):key;if(key.length>blocksize){key=createHash(alg).update(key).digest()}else if(key.length<blocksize){key=Buffer.concat([key,zeroBuffer],blocksize)}var ipad=this._ipad=new Buffer(blocksize);var opad=this._opad=new Buffer(blocksize);for(var i=0;i<blocksize;i++){ipad[i]=key[i]^54;opad[i]=key[i]^92}this._hash=createHash(alg).update(ipad)}Hmac.prototype.update=function(data,enc){this._hash.update(data,enc);return this};Hmac.prototype.digest=function(enc){var h=this._hash.digest();return createHash(this._alg).update(this._opad).update(h).digest(enc)}}).call(this,require("buffer").Buffer)},{"./create-hash":22,buffer:19}],24:[function(require,module,exports){(function(Buffer){var intSize=4;var zeroBuffer=new Buffer(intSize);zeroBuffer.fill(0);var chrsz=8;function toArray(buf,bigEndian){if(buf.length%intSize!==0){var len=buf.length+(intSize-buf.length%intSize);buf=Buffer.concat([buf,zeroBuffer],len)}var arr=[];var fn=bigEndian?buf.readInt32BE:buf.readInt32LE;for(var i=0;i<buf.length;i+=intSize){arr.push(fn.call(buf,i))}return arr}function toBuffer(arr,size,bigEndian){var buf=new Buffer(size);var fn=bigEndian?buf.writeInt32BE:buf.writeInt32LE;for(var i=0;i<arr.length;i++){fn.call(buf,arr[i],i*4,true)}return buf}function hash(buf,fn,hashSize,bigEndian){if(!Buffer.isBuffer(buf))buf=new Buffer(buf);var arr=fn(toArray(buf,bigEndian),buf.length*chrsz);return toBuffer(arr,hashSize,bigEndian)}module.exports={hash:hash}}).call(this,require("buffer").Buffer)},{buffer:19}],25:[function(require,module,exports){(function(Buffer){var rng=require("./rng");function error(){var m=[].slice.call(arguments).join(" ");throw new Error([m,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}exports.createHash=require("./create-hash");exports.createHmac=require("./create-hmac");exports.randomBytes=function(size,callback){if(callback&&callback.call){try{callback.call(this,undefined,new Buffer(rng(size)))}catch(err){callback(err)}}else{return new Buffer(rng(size))}};function each(a,f){for(var i in a)f(a[i],i)}exports.getHashes=function(){return["sha1","sha256","md5","rmd160"]};var p=require("./pbkdf2")(exports.createHmac);exports.pbkdf2=p.pbkdf2;exports.pbkdf2Sync=p.pbkdf2Sync;each(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman"],function(name){exports[name]=function(){error("sorry,",name,"is not implemented yet")}})}).call(this,require("buffer").Buffer)},{"./create-hash":22,"./create-hmac":23,"./pbkdf2":33,"./rng":34,buffer:19}],26:[function(require,module,exports){var helpers=require("./helpers");function core_md5(x,len){x[len>>5]|=128<<len%32;x[(len+64>>>9<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}module.exports=function md5(buf){return helpers.hash(buf,core_md5,16)}},{"./helpers":24}],27:[function(require,module,exports){(function(Buffer){module.exports=ripemd160;var zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];var hl=[0,1518500249,1859775393,2400959708,2840853838];var hr=[1352829926,1548603684,1836072691,2053994217,0];var bytesToWords=function(bytes){var words=[];for(var i=0,b=0;i<bytes.length;i++,b+=8){words[b>>>5]|=bytes[i]<<24-b%32}return words};var wordsToBytes=function(words){var bytes=[];for(var b=0;b<words.length*32;b+=8){bytes.push(words[b>>>5]>>>24-b%32&255)}return bytes};var processBlock=function(H,M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t};function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<<n|x>>>32-n}function ripemd160(message){var H=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof message=="string")message=new Buffer(message,"utf8");var m=bytesToWords(message);var nBitsLeft=message.length*8;var nBitsTotal=message.length*8;m[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;m[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;for(var i=0;i<m.length;i+=16){processBlock(H,m,i)}for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}var digestbytes=wordsToBytes(H);return new Buffer(digestbytes)}}).call(this,require("buffer").Buffer)},{buffer:19}],28:[function(require,module,exports){var u=require("./util");var write=u.write;var fill=u.zeroFill;module.exports=function(Buffer){function Hash(blockSize,finalSize){this._block=new Buffer(blockSize);this._finalSize=finalSize;this._blockSize=blockSize;this._len=0;this._s=0}Hash.prototype.init=function(){this._s=0;this._len=0};function lengthOf(data,enc){if(enc==null)return data.byteLength||data.length;if(enc=="ascii"||enc=="binary")return data.length;if(enc=="hex")return data.length/2;if(enc=="base64")return data.length/3}Hash.prototype.update=function(data,enc){var bl=this._blockSize;var length;if(!enc&&"string"===typeof data)enc="utf8";if(enc){if(enc==="utf-8")enc="utf8";if(enc==="base64"||enc==="utf8")data=new Buffer(data,enc),enc=null;length=lengthOf(data,enc)}else length=data.byteLength||data.length;var l=this._len+=length;var s=this._s=this._s||0;var f=0;var buffer=this._block;while(s<l){var t=Math.min(length,f+bl-s%bl);write(buffer,data,enc,s%bl,f,t);var ch=t-f;s+=ch;f+=ch;if(!(s%bl))this._update(buffer)}this._s=s;return this};Hash.prototype.digest=function(enc){var bl=this._blockSize;var fl=this._finalSize;var len=this._len*8;var x=this._block;var bits=len%(bl*8);x[this._len%bl]=128;fill(this._block,this._len%bl+1);if(bits>=fl*8){this._update(this._block);u.zeroFill(this._block,0)}x.writeInt32BE(len,fl+4);var hash=this._update(this._block)||this._hash();if(enc==null)return hash;
return hash.toString(enc)};Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")};return Hash}},{"./util":32}],29:[function(require,module,exports){var exports=module.exports=function(alg){var Alg=exports[alg];if(!Alg)throw new Error(alg+" is not supported (we accept pull requests)");return new Alg};var Buffer=require("buffer").Buffer;var Hash=require("./hash")(Buffer);exports.sha=exports.sha1=require("./sha1")(Buffer,Hash);exports.sha256=require("./sha256")(Buffer,Hash)},{"./hash":28,"./sha1":30,"./sha256":31,buffer:19}],30:[function(require,module,exports){module.exports=function(Buffer,Hash){var inherits=require("util").inherits;inherits(Sha1,Hash);var A=0|0;var B=4|0;var C=8|0;var D=12|0;var E=16|0;var BE=false;var LE=true;var W=new Int32Array(80);var POOL=[];function Sha1(){if(POOL.length)return POOL.pop().init();if(!(this instanceof Sha1))return new Sha1;this._w=W;Hash.call(this,16*4,14*4);this._h=null;this.init()}Sha1.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;Hash.prototype.init.call(this);return this};Sha1.prototype._POOL=POOL;var isDV=new Buffer(1)instanceof DataView;function readInt32BE(X,i){return isDV?X.getInt32(i,false):X.readInt32BE(i)}Sha1.prototype._update=function(array){var X=this._block;var h=this._h;var a,b,c,d,e,_a,_b,_c,_d,_e;a=_a=this._a;b=_b=this._b;c=_c=this._c;d=_d=this._d;e=_e=this._e;var w=this._w;for(var j=0;j<80;j++){var W=w[j]=j<16?X.readInt32BE(j*4):rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=add(add(rol(a,5),sha1_ft(j,b,c,d)),add(add(e,W),sha1_kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t}this._a=add(a,_a);this._b=add(b,_b);this._c=add(c,_c);this._d=add(d,_d);this._e=add(e,_e)};Sha1.prototype._hash=function(){if(POOL.length<100)POOL.push(this);var H=new Buffer(20);H.writeInt32BE(this._a|0,A);H.writeInt32BE(this._b|0,B);H.writeInt32BE(this._c|0,C);H.writeInt32BE(this._d|0,D);H.writeInt32BE(this._e|0,E);return H};function sha1_ft(t,b,c,d){if(t<20)return b&c|~b&d;if(t<40)return b^c^d;if(t<60)return b&c|b&d|c&d;return b^c^d}function sha1_kt(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514}function add(x,y){return x+y|0}function rol(num,cnt){return num<<cnt|num>>>32-cnt}return Sha1}},{util:65}],31:[function(require,module,exports){var inherits=require("util").inherits;var BE=false;var LE=true;var u=require("./util");module.exports=function(Buffer,Hash){var K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];inherits(Sha256,Hash);var W=new Array(64);var POOL=[];function Sha256(){if(POOL.length){}this.init();this._w=W;Hash.call(this,16*4,14*4)}Sha256.prototype.init=function(){this._a=1779033703|0;this._b=3144134277|0;this._c=1013904242|0;this._d=2773480762|0;this._e=1359893119|0;this._f=2600822924|0;this._g=528734635|0;this._h=1541459225|0;this._len=this._s=0;return this};var safe_add=function(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535};function S(X,n){return X>>>n|X<<32-n}function R(X,n){return X>>>n}function Ch(x,y,z){return x&y^~x&z}function Maj(x,y,z){return x&y^x&z^y&z}function Sigma0256(x){return S(x,2)^S(x,13)^S(x,22)}function Sigma1256(x){return S(x,6)^S(x,11)^S(x,25)}function Gamma0256(x){return S(x,7)^S(x,18)^R(x,3)}function Gamma1256(x){return S(x,17)^S(x,19)^R(x,10)}Sha256.prototype._update=function(m){var M=this._block;var W=this._w;var a,b,c,d,e,f,g,h;var T1,T2;a=this._a|0;b=this._b|0;c=this._c|0;d=this._d|0;e=this._e|0;f=this._f|0;g=this._g|0;h=this._h|0;for(var j=0;j<64;j++){var w=W[j]=j<16?M.readInt32BE(j*4):Gamma1256(W[j-2])+W[j-7]+Gamma0256(W[j-15])+W[j-16];T1=h+Sigma1256(e)+Ch(e,f,g)+K[j]+w;T2=Sigma0256(a)+Maj(a,b,c);h=g;g=f;f=e;e=d+T1;d=c;c=b;b=a;a=T1+T2}this._a=a+this._a|0;this._b=b+this._b|0;this._c=c+this._c|0;this._d=d+this._d|0;this._e=e+this._e|0;this._f=f+this._f|0;this._g=g+this._g|0;this._h=h+this._h|0};Sha256.prototype._hash=function(){if(POOL.length<10)POOL.push(this);var H=new Buffer(32);H.writeInt32BE(this._a,0);H.writeInt32BE(this._b,4);H.writeInt32BE(this._c,8);H.writeInt32BE(this._d,12);H.writeInt32BE(this._e,16);H.writeInt32BE(this._f,20);H.writeInt32BE(this._g,24);H.writeInt32BE(this._h,28);return H};return Sha256}},{"./util":32,util:65}],32:[function(require,module,exports){exports.write=write;exports.zeroFill=zeroFill;exports.toString=toString;function write(buffer,string,enc,start,from,to,LE){var l=to-from;if(enc==="ascii"||enc==="binary"){for(var i=0;i<l;i++){buffer[start+i]=string.charCodeAt(i+from)}}else if(enc==null){for(var i=0;i<l;i++){buffer[start+i]=string[i+from]}}else if(enc==="hex"){for(var i=0;i<l;i++){var j=from+i;buffer[start+i]=parseInt(string[j*2]+string[j*2+1],16)}}else if(enc==="base64"){throw new Error("base64 encoding not yet supported")}else throw new Error(enc+" encoding not yet supported")}function zeroFill(buf,from){for(var i=from;i<buf.length;i++)buf[i]=0}},{}],33:[function(require,module,exports){(function(Buffer){var blocksize=64;var zeroBuffer=new Buffer(blocksize);zeroBuffer.fill(0);module.exports=function(createHmac,exports){exports=exports||{};exports.pbkdf2=function(password,salt,iterations,keylen,cb){if("function"!==typeof cb)throw new Error("No callback provided to pbkdf2");setTimeout(function(){cb(null,exports.pbkdf2Sync(password,salt,iterations,keylen))})};exports.pbkdf2Sync=function(key,salt,iterations,keylen){if("number"!==typeof iterations)throw new TypeError("Iterations not a number");if(iterations<0)throw new TypeError("Bad iterations");if("number"!==typeof keylen)throw new TypeError("Key length not a number");if(keylen<0)throw new TypeError("Bad key length");var key=!Buffer.isBuffer(key)?new Buffer(key):key;if(key.length>blocksize){key=createHash(alg).update(key).digest()}else if(key.length<blocksize){key=Buffer.concat([key,zeroBuffer],blocksize)}var HMAC;var cplen,p=0,i=1,itmp=new Buffer(4),digtmp;var out=new Buffer(keylen);out.fill(0);while(keylen){if(keylen>20)cplen=20;else cplen=keylen;itmp[0]=i>>24&255;itmp[1]=i>>16&255;itmp[2]=i>>8&255;itmp[3]=i&255;HMAC=createHmac("sha1",key);HMAC.update(salt);HMAC.update(itmp);digtmp=HMAC.digest();digtmp.copy(out,p,0,cplen);for(var j=1;j<iterations;j++){HMAC=createHmac("sha1",key);HMAC.update(digtmp);digtmp=HMAC.digest();for(var k=0;k<cplen;k++){out[k]^=digtmp[k]}}keylen-=cplen;i++;p+=cplen}return out};return exports}}).call(this,require("buffer").Buffer)},{buffer:19}],34:[function(require,module,exports){(function(Buffer){(function(){module.exports=function(size){var bytes=new Buffer(size);crypto.getRandomValues(bytes);return bytes}})()}).call(this,require("buffer").Buffer)},{buffer:19}],35:[function(require,module,exports){function EventEmitter(){this._events=this._events||{};this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;EventEmitter.defaultMaxListeners=10;EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");this._maxListeners=n;return this};EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(!this._events)this._events={};if(type==="error"){if(!this._events.error||isObject(this._events.error)&&!this._events.error.length){er=arguments[1];if(er instanceof Error){throw er}else{throw TypeError('Uncaught, unspecified "error" event.')}return false}}handler=this._events[type];if(isUndefined(handler))return false;if(isFunction(handler)){switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:len=arguments.length;args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];handler.apply(this,args)}}else if(isObject(handler)){len=arguments.length;args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];listeners=handler.slice();len=listeners.length;for(i=0;i<len;i++)listeners[i].apply(this,args)}return true};EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events)this._events={};if(this._events.newListener)this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener);if(!this._events[type])this._events[type]=listener;else if(isObject(this._events[type]))this._events[type].push(listener);else this._events[type]=[this._events[type],listener];if(isObject(this._events[type])&&!this._events[type].warned){var m;if(!isUndefined(this._maxListeners)){m=this._maxListeners}else{m=EventEmitter.defaultMaxListeners}if(m&&m>0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);if(typeof console.trace==="function"){console.trace()}}}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){if(!isFunction(listener))throw TypeError("listener must be a function");var fired=false;function g(){this.removeListener(type,g);if(!fired){fired=true;listener.apply(this,arguments)}}g.listener=listener;this.on(type,g);return this};EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;list=this._events[type];length=list.length;position=-1;if(list===listener||isFunction(list.listener)&&list.listener===listener){delete this._events[type];if(this._events.removeListener)this.emit("removeListener",type,listener)}else if(isObject(list)){for(i=length;i-->0;){if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}}if(position<0)return this;if(list.length===1){list.length=0;delete this._events[type]}else{list.splice(position,1)}if(this._events.removeListener)this.emit("removeListener",type,listener)}return this};EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener){if(arguments.length===0)this._events={};else if(this._events[type])delete this._events[type];return this}if(arguments.length===0){for(key in this._events){if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events={};return this}listeners=this._events[type];if(isFunction(listeners)){this.removeListener(type,listeners)}else{while(listeners.length)this.removeListener(type,listeners[listeners.length-1])}delete this._events[type];return this};EventEmitter.prototype.listeners=function(type){var ret;if(!this._events||!this._events[type])ret=[];else if(isFunction(this._events[type]))ret=[this._events[type]];else ret=this._events[type].slice();return ret};EventEmitter.listenerCount=function(emitter,type){var ret;if(!emitter._events||!emitter._events[type])ret=0;else if(isFunction(emitter._events[type]))ret=1;else ret=emitter._events[type].length;return ret};function isFunction(arg){return typeof arg==="function"}function isNumber(arg){return typeof arg==="number"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isUndefined(arg){return arg===void 0}},{}],36:[function(require,module,exports){var http=module.exports;var EventEmitter=require("events").EventEmitter;var Request=require("./lib/request");var url=require("url");http.request=function(params,cb){if(typeof params==="string"){params=url.parse(params)}if(!params)params={};if(!params.host&&!params.port){params.port=parseInt(window.location.port,10)}if(!params.host&&params.hostname){params.host=params.hostname}if(!params.scheme)params.scheme=window.location.protocol.split(":")[0];if(!params.host){params.host=window.location.hostname||window.location.host}if(/:/.test(params.host)){if(!params.port){params.port=params.host.split(":")[1]}params.host=params.host.split(":")[0]}if(!params.port)params.port=params.scheme=="https"?443:80;var req=new Request(new xhrHttp,params);if(cb)req.on("response",cb);return req};http.get=function(params,cb){params.method="GET";var req=http.request(params,cb);req.end();return req};http.Agent=function(){};http.Agent.defaultMaxSockets=4;var xhrHttp=function(){if(typeof window==="undefined"){throw new Error("no window object present")}else if(window.XMLHttpRequest){return window.XMLHttpRequest}else if(window.ActiveXObject){var axs=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];for(var i=0;i<axs.length;i++){try{var ax=new window.ActiveXObject(axs[i]);return function(){if(ax){var ax_=ax;ax=null;return ax_}else{return new window.ActiveXObject(axs[i])}}}catch(e){}}throw new Error("ajax not supported in this browser")}else{throw new Error("ajax not supported in this browser")}}();http.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{"./lib/request":37,events:35,url:63}],37:[function(require,module,exports){var Stream=require("stream");var Response=require("./response");var Base64=require("Base64");var inherits=require("inherits");var Request=module.exports=function(xhr,params){var self=this;self.writable=true;self.xhr=xhr;self.body=[];self.uri=(params.scheme||"http")+"://"+params.host+(params.port?":"+params.port:"")+(params.path||"/");if(typeof params.withCredentials==="undefined"){params.withCredentials=true}try{xhr.withCredentials=params.withCredentials}catch(e){}if(params.responseType)try{xhr.responseType=params.responseType}catch(e){}xhr.open(params.method||"GET",self.uri,true);xhr.onerror=function(event){self.emit("error",new Error("Network error"))};self._headers={};if(params.headers){var keys=objectKeys(params.headers);for(var i=0;i<keys.length;i++){var key=keys[i];if(!self.isSafeRequestHeader(key))continue;var value=params.headers[key];self.setHeader(key,value)}}if(params.auth){this.setHeader("Authorization","Basic "+Base64.btoa(params.auth))}var res=new Response;res.on("close",function(){self.emit("close")});res.on("ready",function(){self.emit("response",res)});res.on("error",function(err){self.emit("error",err)});xhr.onreadystatechange=function(){if(xhr.__aborted)return;res.handle(xhr)}};inherits(Request,Stream);Request.prototype.setHeader=function(key,value){this._headers[key.toLowerCase()]=value};Request.prototype.getHeader=function(key){return this._headers[key.toLowerCase()]};Request.prototype.removeHeader=function(key){delete this._headers[key.toLowerCase()]};Request.prototype.write=function(s){this.body.push(s)};Request.prototype.destroy=function(s){this.xhr.__aborted=true;this.xhr.abort();this.emit("close")};Request.prototype.end=function(s){if(s!==undefined)this.body.push(s);var keys=objectKeys(this._headers);for(var i=0;i<keys.length;i++){var key=keys[i];var value=this._headers[key];if(isArray(value)){for(var j=0;j<value.length;j++){this.xhr.setRequestHeader(key,value[j])}}else this.xhr.setRequestHeader(key,value)}if(this.body.length===0){this.xhr.send("")}else if(typeof this.body[0]==="string"){this.xhr.send(this.body.join(""))}else if(isArray(this.body[0])){var body=[];for(var i=0;i<this.body.length;i++){body.push.apply(body,this.body[i])}this.xhr.send(body)}else if(/Array/.test(Object.prototype.toString.call(this.body[0]))){var len=0;for(var i=0;i<this.body.length;i++){len+=this.body[i].length}var body=new this.body[0].constructor(len);var k=0;for(var i=0;i<this.body.length;i++){var b=this.body[i];for(var j=0;j<b.length;j++){body[k++]=b[j]}}this.xhr.send(body)}else{var body="";for(var i=0;i<this.body.length;i++){body+=this.body[i].toString()}this.xhr.send(body)}};Request.unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];Request.prototype.isSafeRequestHeader=function(headerName){if(!headerName)return false;return indexOf(Request.unsafeHeaders,headerName.toLowerCase())===-1};var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};var indexOf=function(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i<xs.length;i++){if(xs[i]===x)return i}return-1}},{"./response":38,Base64:39,inherits:41,stream:61}],38:[function(require,module,exports){var Stream=require("stream");var util=require("util");var Response=module.exports=function(res){this.offset=0;this.readable=true};util.inherits(Response,Stream);var capable={streaming:true,status2:true};function parseHeaders(res){var lines=res.getAllResponseHeaders().split(/\r?\n/);var headers={};for(var i=0;i<lines.length;i++){var line=lines[i];if(line==="")continue;var m=line.match(/^([^:]+):\s*(.*)/);if(m){var key=m[1].toLowerCase(),value=m[2];if(headers[key]!==undefined){if(isArray(headers[key])){headers[key].push(value)}else{headers[key]=[headers[key],value]}}else{headers[key]=value}}else{headers[line]=true}}return headers}Response.prototype.getResponse=function(xhr){var respType=String(xhr.responseType).toLowerCase();if(respType==="blob")return xhr.responseBlob||xhr.response;if(respType==="arraybuffer")return xhr.response;return xhr.responseText};Response.prototype.getHeader=function(key){return this.headers[key.toLowerCase()]};Response.prototype.handle=function(res){if(res.readyState===2&&capable.status2){try{this.statusCode=res.status;this.headers=parseHeaders(res)}catch(err){capable.status2=false}if(capable.status2){this.emit("ready")}}else if(capable.streaming&&res.readyState===3){try{if(!this.statusCode){this.statusCode=res.status;this.headers=parseHeaders(res);this.emit("ready")}}catch(err){}try{this._emitData(res)}catch(err){capable.streaming=false}}else if(res.readyState===4){if(!this.statusCode){this.statusCode=res.status;this.emit("ready")}this._emitData(res);if(res.error){this.emit("error",this.getResponse(res))}else this.emit("end");this.emit("close")}};Response.prototype._emitData=function(res){var respBody=this.getResponse(res);if(respBody.toString().match(/ArrayBuffer/)){this.emit("data",new Uint8Array(respBody,this.offset));this.offset=respBody.byteLength;return}if(respBody.length>this.offset){this.emit("data",respBody.slice(this.offset));this.offset=respBody.length}};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{stream:61,util:65}],39:[function(require,module,exports){(function(){var object=typeof exports!="undefined"?exports:this;var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function InvalidCharacterError(message){this.message=message}InvalidCharacterError.prototype=new Error;InvalidCharacterError.prototype.name="InvalidCharacterError";object.btoa||(object.btoa=function(input){for(var block,charCode,idx=0,map=chars,output="";input.charAt(idx|0)||(map="=",idx%1);output+=map.charAt(63&block>>8-idx%1*8)){charCode=input.charCodeAt(idx+=3/4);if(charCode>255){throw new InvalidCharacterError("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.")}block=block<<8|charCode}return output});object.atob||(object.atob=function(input){input=input.replace(/=+$/,"");if(input.length%4==1){throw new InvalidCharacterError("'atob' failed: The string to be decoded is not correctly encoded.")}for(var bc=0,bs,buffer,idx=0,output="";buffer=input.charAt(idx++);~buffer&&(bs=bc%4?bs*64+buffer:buffer,bc++%4)?output+=String.fromCharCode(255&bs>>(-2*bc&6)):0){buffer=chars.indexOf(buffer)}return output})})()},{}],40:[function(require,module,exports){var http=require("http");var https=module.exports;for(var key in http){if(http.hasOwnProperty(key))https[key]=http[key]}https.request=function(params,cb){if(!params)params={};params.scheme="https";return http.request.call(this,params,cb)}},{http:36}],41:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],42:[function(require,module,exports){module.exports=Array.isArray||function(arr){return Object.prototype.toString.call(arr)=="[object Array]"}},{}],43:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir};exports.basename=function(path,ext){var f=splitPath(path)[2];if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){return splitPath(path)[3]};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i])}return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len)}}).call(this,require("_process"))},{_process:44}],44:[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")}},{}],45:[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:{})},{}],46:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)
}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],47:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},{}],48:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")},{"./decode":46,"./encode":47}],49:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":50}],50:[function(require,module,exports){(function(process){module.exports=Duplex;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};var util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");util.inherits(Duplex,Readable);forEach(objectKeys(Writable.prototype),function(method){if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]});function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);if(options&&options.readable===false)this.readable=false;if(options&&options.writable===false)this.writable=false;this.allowHalfOpen=true;if(options&&options.allowHalfOpen===false)this.allowHalfOpen=false;this.once("end",onend)}function onend(){if(this.allowHalfOpen||this._writableState.ended)return;process.nextTick(this.end.bind(this))}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++){f(xs[i],i)}}}).call(this,require("_process"))},{"./_stream_readable":52,"./_stream_writable":54,_process:44,"core-util-is":55,inherits:41}],51:[function(require,module,exports){module.exports=PassThrough;var Transform=require("./_stream_transform");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":53,"core-util-is":55,inherits:41}],52:[function(require,module,exports){(function(process){module.exports=Readable;var isArray=require("isarray");var Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter;if(!EE.listenerCount)EE.listenerCount=function(emitter,type){return emitter.listeners(type).length};var Stream=require("stream");var util=require("core-util-is");util.inherits=require("inherits");var StringDecoder;util.inherits(Readable,Stream);function ReadableState(options,stream){options=options||{};var hwm=options.highWaterMark;this.highWaterMark=hwm||hwm===0?hwm:16*1024;this.highWaterMark=~~this.highWaterMark;this.buffer=[];this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=false;this.ended=false;this.endEmitted=false;this.reading=false;this.calledRead=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.objectMode=!!options.objectMode;this.defaultEncoding=options.defaultEncoding||"utf8";this.ranOut=false;this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){if(!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this);this.readable=true;Stream.call(this)}Readable.prototype.push=function(chunk,encoding){var state=this._readableState;if(typeof chunk==="string"&&!state.objectMode){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=new Buffer(chunk,encoding);encoding=""}}return readableAddChunk(this,state,chunk,encoding,false)};Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",true)};function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er){stream.emit("error",er)}else if(chunk===null||chunk===undefined){state.reading=false;if(!state.ended)onEofChunk(stream,state)}else if(state.objectMode||chunk&&chunk.length>0){if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var e=new Error("stream.unshift() after end event");stream.emit("error",e)}else{if(state.decoder&&!addToFront&&!encoding)chunk=state.decoder.write(chunk);state.length+=state.objectMode?1:chunk.length;if(addToFront){state.buffer.unshift(chunk)}else{state.reading=false;state.buffer.push(chunk)}if(state.needReadable)emitReadable(stream);maybeReadMore(stream,state)}}else if(!addToFront){state.reading=false}return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this._readableState.decoder=new StringDecoder(enc);this._readableState.encoding=enc};var MAX_HWM=8388608;function roundUpToNextPowerOf2(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;for(var p=1;p<32;p<<=1)n|=n>>p;n++}return n}function howMuchToRead(n,state){if(state.length===0&&state.ended)return 0;if(state.objectMode)return n===0?0:1;if(n===null||isNaN(n)){if(state.flowing&&state.buffer.length)return state.buffer[0].length;else return state.length}if(n<=0)return 0;if(n>state.highWaterMark)state.highWaterMark=roundUpToNextPowerOf2(n);if(n>state.length){if(!state.ended){state.needReadable=true;return 0}else return state.length}return n}Readable.prototype.read=function(n){var state=this._readableState;state.calledRead=true;var nOrig=n;var ret;if(typeof n!=="number"||n>0)state.emittedReadable=false;if(n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended)){emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){ret=null;if(state.length>0&&state.decoder){ret=fromList(n,state);state.length-=ret.length}if(state.length===0)endReadable(this);return ret}var doRead=state.needReadable;if(state.length-n<=state.highWaterMark)doRead=true;if(state.ended||state.reading)doRead=false;if(doRead){state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false}if(doRead&&!state.reading)n=howMuchToRead(nOrig,state);if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=true;n=0}state.length-=n;if(state.length===0&&!state.ended)state.needReadable=true;if(state.ended&&!state.endEmitted&&state.length===0)endReadable(this);return ret};function chunkInvalid(state,chunk){var er=null;if(!Buffer.isBuffer(chunk)&&"string"!==typeof chunk&&chunk!==null&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}return er}function onEofChunk(stream,state){if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.length>0)emitReadable(stream);else endReadable(stream)}function emitReadable(stream){var state=stream._readableState;state.needReadable=false;if(state.emittedReadable)return;state.emittedReadable=true;if(state.sync)process.nextTick(function(){emitReadable_(stream)});else emitReadable_(stream)}function emitReadable_(stream){stream.emit("readable")}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(function(){maybeReadMore_(stream,state)})}}function maybeReadMore_(stream,state){var len=state.length;while(!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark){stream.read(0);if(len===state.length)break;else len=state.length}state.readingMore=false}Readable.prototype._read=function(n){this.emit("error",new Error("not implemented"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:cleanup;if(state.endEmitted)process.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable){if(readable!==src)return;cleanup()}function onend(){dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);function cleanup(){dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",cleanup);if(!dest._writableState||dest._writableState.needDrain)ondrain()}function onerror(er){unpipe();dest.removeListener("error",onerror);if(EE.listenerCount(dest,"error")===0)dest.emit("error",er)}if(!dest._events||!dest._events.error)dest.on("error",onerror);else if(isArray(dest._events.error))dest._events.error.unshift(onerror);else dest._events.error=[onerror,dest._events.error];function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){this.on("readable",pipeOnReadable);state.flowing=true;process.nextTick(function(){flow(src)})}return dest};function pipeOnDrain(src){return function(){var dest=this;var state=src._readableState;state.awaitDrain--;if(state.awaitDrain===0)flow(src)}}function flow(src){var state=src._readableState;var chunk;state.awaitDrain=0;function write(dest,i,list){var written=dest.write(chunk);if(false===written){state.awaitDrain++}}while(state.pipesCount&&null!==(chunk=src.read())){if(state.pipesCount===1)write(state.pipes,0,null);else forEach(state.pipes,write);src.emit("data",chunk);if(state.awaitDrain>0)return}if(state.pipesCount===0){state.flowing=false;if(EE.listenerCount(src,"data")>0)emitDataEvents(src);return}state.ranOut=true}function pipeOnReadable(){if(this._readableState.ranOut){this._readableState.ranOut=false;flow(this)}}Readable.prototype.unpipe=function(dest){var state=this._readableState;if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;this.removeListener("readable",pipeOnReadable);state.flowing=false;if(dest)dest.emit("unpipe",this);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;this.removeListener("readable",pipeOnReadable);state.flowing=false;for(var i=0;i<len;i++)dests[i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);if(i===-1)return this;state.pipes.splice(i,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(ev==="data"&&!this._readableState.flowing)emitDataEvents(this);if(ev==="readable"&&this.readable){var state=this._readableState;if(!state.readableListening){state.readableListening=true;state.emittedReadable=false;state.needReadable=true;if(!state.reading){this.read(0)}else if(state.length){emitReadable(this,state)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.resume=function(){emitDataEvents(this);this.read(0);this.emit("resume")};Readable.prototype.pause=function(){emitDataEvents(this,true);this.emit("pause")};function emitDataEvents(stream,startPaused){var state=stream._readableState;if(state.flowing){throw new Error("Cannot switch to old mode now.")}var paused=startPaused||false;var readable=false;stream.readable=true;stream.pipe=Stream.prototype.pipe;stream.on=stream.addListener=Stream.prototype.on;stream.on("readable",function(){readable=true;var c;while(!paused&&null!==(c=stream.read()))stream.emit("data",c);if(c===null){readable=false;stream._readableState.needReadable=true}});stream.pause=function(){paused=true;this.emit("pause")};stream.resume=function(){paused=false;if(readable)process.nextTick(function(){stream.emit("readable")});else this.read(0);this.emit("resume")};stream.emit("readable")}Readable.prototype.wrap=function(stream){var state=this._readableState;var paused=false;var self=this;stream.on("end",function(){if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)self.push(chunk)}self.push(null)});stream.on("data",function(chunk){if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=self.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(typeof stream[i]==="function"&&typeof this[i]==="undefined"){this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i)}}var events=["error","close","destroy","pause","resume"];forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))});self._read=function(n){if(paused){paused=false;stream.resume()}};return self};Readable._fromList=fromList;function fromList(n,state){var list=state.buffer;var length=state.length;var stringMode=!!state.decoder;var objectMode=!!state.objectMode;var ret;if(list.length===0)return null;if(length===0)ret=null;else if(objectMode)ret=list.shift();else if(!n||n>=length){if(stringMode)ret=list.join("");else ret=Buffer.concat(list,length);list.length=0}else{if(n<list[0].length){var buf=list[0];ret=buf.slice(0,n);list[0]=buf.slice(n)}else if(n===list[0].length){ret=list.shift()}else{if(stringMode)ret="";else ret=new Buffer(n);var c=0;for(var i=0,l=list.length;i<l&&c<n;i++){var buf=list[0];var cpy=Math.min(n-c,buf.length);if(stringMode)ret+=buf.slice(0,cpy);else buf.copy(ret,c,0,cpy);if(cpy<buf.length)list[0]=buf.slice(cpy);else list.shift();c+=cpy}}}return ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error("endReadable called on non-empty stream");if(!state.endEmitted&&state.calledRead){state.ended=true;process.nextTick(function(){if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end")}})}}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++){f(xs[i],i)}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this,require("_process"))},{_process:44,buffer:19,"core-util-is":55,events:35,inherits:41,isarray:42,stream:61,"string_decoder/":56}],53:[function(require,module,exports){module.exports=Transform;var Duplex=require("./_stream_duplex");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(Transform,Duplex);function TransformState(options,stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)};this.needTransform=false;this.transforming=false;this.writecb=null;this.writechunk=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=false;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null;ts.writecb=null;if(data!==null&&data!==undefined)stream.push(data);if(cb)cb(er);var rs=stream._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){stream._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);var ts=this._transformState=new TransformState(options,this);var stream=this;this._readableState.needReadable=true;this._readableState.sync=false;this.once("finish",function(){if("function"===typeof this._flush)this._flush(function(er){done(stream,er)});else done(stream)})}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechunk!==null&&ts.writecb&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};function done(stream,er){if(er)return stream.emit("error",er);var ws=stream._writableState;var rs=stream._readableState;var ts=stream._transformState;if(ws.length)throw new Error("calling transform done when ws.length != 0");if(ts.transforming)throw new Error("calling transform done when still transforming");return stream.push(null)}},{"./_stream_duplex":50,"core-util-is":55,inherits:41}],54:[function(require,module,exports){(function(process){module.exports=Writable;var Buffer=require("buffer").Buffer;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var Stream=require("stream");util.inherits(Writable,Stream);function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb}function WritableState(options,stream){options=options||{};var hwm=options.highWaterMark;this.highWaterMark=hwm||hwm===0?hwm:16*1024;this.objectMode=!!options.objectMode;this.highWaterMark=~~this.highWaterMark;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.buffer=[];this.errorEmitted=false}function Writable(options){var Duplex=require("./_stream_duplex");if(!(this instanceof Writable)&&!(this instanceof Duplex))return new Writable(options);this._writableState=new WritableState(options,this);this.writable=true;Stream.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))};function writeAfterEnd(stream,state,cb){var er=new Error("write after end");stream.emit("error",er);process.nextTick(function(){cb(er)})}function validChunk(stream,state,chunk,cb){var valid=true;if(!Buffer.isBuffer(chunk)&&"string"!==typeof chunk&&chunk!==null&&chunk!==undefined&&!state.objectMode){var er=new TypeError("Invalid non-string/buffer chunk");stream.emit("error",er);process.nextTick(function(){cb(er)});valid=false}return valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;if(typeof encoding==="function"){cb=encoding;encoding=null}if(Buffer.isBuffer(chunk))encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=function(){};if(state.ended)writeAfterEnd(this,state,cb);else if(validChunk(this,state,chunk,cb))ret=writeOrBuffer(this,state,chunk,encoding,cb);return ret};function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=new Buffer(chunk,encoding)}return chunk}function writeOrBuffer(stream,state,chunk,encoding,cb){chunk=decodeChunk(state,chunk,encoding);if(Buffer.isBuffer(chunk))encoding="buffer";var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing)state.buffer.push(new WriteReq(chunk,encoding,cb));else doWrite(stream,state,len,chunk,encoding,cb);return ret}function doWrite(stream,state,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){if(sync)process.nextTick(function(){cb(er)});else cb(er);stream._writableState.errorEmitted=true;stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(stream,state);if(!finished&&!state.bufferProcessing&&state.buffer.length)clearBuffer(stream,state);if(sync){process.nextTick(function(){afterWrite(stream,state,finished,cb)})}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);cb();if(finished)finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;for(var c=0;c<state.buffer.length;c++){var entry=state.buffer[c];var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,len,chunk,encoding,cb);if(state.writing){c++;break}}state.bufferProcessing=false;if(c<state.buffer.length)state.buffer=state.buffer.slice(c);else state.buffer.length=0}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("not implemented"))};Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(typeof chunk!=="undefined"&&chunk!==null)this.write(chunk,encoding);if(!state.ending&&!state.finished)endWritable(this,state,cb)};function needFinish(stream,state){return state.ending&&state.length===0&&!state.finished&&!state.writing}function finishMaybe(stream,state){var need=needFinish(stream,state);if(need){state.finished=true;stream.emit("finish")}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)process.nextTick(cb);else stream.once("finish",cb)}state.ended=true}}).call(this,require("_process"))},{"./_stream_duplex":50,_process:44,buffer:19,"core-util-is":55,inherits:41,stream:61}],55:[function(require,module,exports){(function(Buffer){function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;function isBuffer(arg){return Buffer.isBuffer(arg)}exports.isBuffer=isBuffer;function objectToString(o){return Object.prototype.toString.call(o)}}).call(this,require("buffer").Buffer)},{buffer:19}],56:[function(require,module,exports){var Buffer=require("buffer").Buffer;var isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";var offset=0;while(this.charLength){var i=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,offset,i);this.charReceived+=i-offset;offset=i;if(this.charReceived<this.charLength){return""}charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(i==buffer.length)return charStr;buffer=buffer.slice(i,buffer.length);break}var lenIncomplete=this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-lenIncomplete,end);this.charReceived=lenIncomplete;end-=lenIncomplete}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);this.charBuffer.write(charStr.charAt(charStr.length-1),this.encoding);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}return i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%2;this.charLength=incomplete?2:0;return incomplete}function base64DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%3;this.charLength=incomplete?3:0;return incomplete}},{buffer:19}],57:[function(require,module,exports){module.exports=require("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":51}],58:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":50,"./lib/_stream_passthrough.js":51,"./lib/_stream_readable.js":52,"./lib/_stream_transform.js":53,"./lib/_stream_writable.js":54}],59:[function(require,module,exports){module.exports=require("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":53}],60:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":54}],61:[function(require,module,exports){module.exports=Stream;var EE=require("events").EventEmitter;var inherits=require("inherits");inherits(Stream,EE);Stream.Readable=require("readable-stream/readable.js");Stream.Writable=require("readable-stream/writable.js");Stream.Duplex=require("readable-stream/duplex.js");Stream.Transform=require("readable-stream/transform.js");Stream.PassThrough=require("readable-stream/passthrough.js");Stream.Stream=Stream;function Stream(){EE.call(this)}Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;if(typeof dest.destroy==="function")dest.destroy()}function onerror(er){cleanup();if(EE.listenerCount(this,"error")===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:35,inherits:41,"readable-stream/duplex.js":49,"readable-stream/passthrough.js":57,"readable-stream/readable.js":58,"readable-stream/transform.js":59,"readable-stream/writable.js":60}],62:[function(require,module,exports){var Buffer=require("buffer").Buffer;function assertEncoding(encoding){if(encoding&&!Buffer.isEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;
break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";var offset=0;while(this.charLength){var i=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,offset,i);this.charReceived+=i-offset;offset=i;if(this.charReceived<this.charLength){return""}charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(i==buffer.length)return charStr;buffer=buffer.slice(i,buffer.length);break}var lenIncomplete=this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-lenIncomplete,end);this.charReceived=lenIncomplete;end-=lenIncomplete}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);this.charBuffer.write(charStr.charAt(charStr.length-1),this.encoding);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}return i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%2;this.charLength=incomplete?2:0;return incomplete}function base64DetectIncompleteChar(buffer){var incomplete=this.charReceived=buffer.length%3;this.charLength=incomplete?3:0;return incomplete}},{buffer:19}],63:[function(require,module,exports){var punycode=require("punycode");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,delims=["<",">",'"',"`"," ","\r","\n"," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var rest=url;rest=rest.trim();var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){var domainArray=this.hostname.split(".");var newOut=[];for(var i=0;i<domainArray.length;++i){var s=domainArray[i];newOut.push(s.match(/[^A-Za-z0-9_-]/)?"xn--"+punycode.encode(s):s)}this.hostname=newOut.join(".")}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;Object.keys(this).forEach(function(k){result[k]=this[k]},this);result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){Object.keys(relative).forEach(function(k){if(k!=="protocol")result[k]=relative[k]});if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){Object.keys(relative).forEach(function(k){result[k]=relative[k]});result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last=="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function isString(arg){return typeof arg==="string"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}},{punycode:45,querystring:48}],64:[function(require,module,exports){module.exports=require(3)},{}],65:[function(require,module,exports){module.exports=require(4)},{"./support/isBuffer":64,_process:44,inherits:41}],66:[function(require,module,exports){var fs=require("fs");var path=require("path");var mkdirp=require("mkdirp");var async=require("async");var request=require("request");var through=require("through2");var JSONStream=require("JSONStream");var xml2js=require("xml2js").parseString;var dld=require("dld");var tool=require("tool-stream");var debug=require("debug")("bionode-ncbi");var concat=require("concat-stream");var pumpify=require("pumpify");var URL=require("url");var cheerio=require("cheerio");var ncbi=exports;var PROXY=typeof window!=="undefined"?"http://cors.inb.io/":"";var APIROOT=PROXY+"http://eutils.ncbi.nlm.nih.gov/entrez/eutils/";var DEFAULTS="retmode=json&version=2.0";var RETURNMAX=50;var XMLPROPERTIES={sra:["expxml","runs"],biosample:["sampledata"],assembly:["meta"]};var LASTSTREAM={sra:function(){return pumpify.obj(tool.ensureIsArray("runs.Run"),tool.filterObjectsArray("total_bases","","runs.Run"))}};ncbi.search=function(db,term,cb){var opts=typeof db==="string"?{db:db,term:term}:db;var cb=typeof term==="function"?term:cb;var xmlProperties=XMLPROPERTIES[opts.db]||through.obj();var lastStream=LASTSTREAM[opts.db]||through.obj;var stream=pumpify.obj(createAPISearchUrl(opts.db,opts.term),requestStream(),createAPIDataURL(opts),requestStream(),filterEmptyResults(),tool.extractProperty("result"),tool.deleteProperty("uids"),tool.arraySplit(),tool.XMLToJSProperties(xmlProperties),lastStream());if(opts.term){stream.write(opts.term);stream.end()}if(cb){stream.pipe(concat(cb))}else{return stream}};function createAPISearchUrl(db,term){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var query=[APIROOT+"esearch.fcgi?",DEFAULTS,"db="+db,"term="+encodeURI(obj),"usehistory=y"].join("&");debug("esearch request",query);this.push(query);next()}}function createAPIDataURL(opts){var counter=0;var throughput=opts.throughput||RETURNMAX;if(opts.limit<throughput){throughput=opts.limit}var stream=through.obj(transform);return stream;function transform(obj,enc,next){var count=opts.limit||obj.esearchresult.count;var numRequests=Math.ceil(count/throughput);for(var i=0;i<numRequests;i++){var retstart=i*throughput;var query=[APIROOT+"esummary.fcgi?",DEFAULTS,"db="+obj.db,"query_key=1","WebEnv="+obj.esearchresult.webenv,"retmax="+throughput,"retstart="+retstart].join("&");debug("esummary request",query);this.push(query)}next();counter++}}function filterEmptyResults(){var stream=through.obj(transform);return stream;function transform(obj,enc,next){if(obj.esummaryresult&&obj.esummaryresult[0]==="Empty result - nothing todo"){return next()}if(obj.error&&obj.error[0]==="Empty result - nothing todo"){return next()}if(obj.result){this.push(obj)}next()}}ncbi.link=function(srcDB,destDB,srcUID,cb){var stream=pumpify.obj(createAPILinkURL(srcDB,destDB),requestStream(true),createLinkObj());if(srcUID){stream.write(srcUID);stream.end()}if(cb){stream.pipe(concat(cb))}else{return stream}};function createAPILinkURL(srcDB,destDB){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var query=[APIROOT+"elink.fcgi?","dbfrom="+srcDB,"db="+destDB,"id="+obj.toString()].join("&");this.push(query);next()}}function createLinkObj(){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var self=this;var query=URL.parse(obj.url,true).query;var result={srcDB:query.dbfrom,destDB:query.db,srcUID:query.id};xml2js(obj.body,function(err,data){if(err){self.emit("error",err)}if(data.eLinkResult.LinkSet[0].LinkSetDb){data.eLinkResult.LinkSet[0].LinkSetDb.forEach(getMatch);function getMatch(link){if(link.LinkName[0]===query.dbfrom+"_"+query.db){result.destUID=link.Link[0].Id[0];self.push(result)}}}next()})}}ncbi.download=function(db,term,cb){var stream=pumpify.obj(ncbi.urls(db),download(db));if(term){stream.write(term);stream.end()}if(cb){stream.pipe(concat(cb))}else{return stream}};function download(db){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var self=this;var prevTime=Date.now();var currTime;var chunkSizeMB=1;var chunkSize=chunkSizeMB*1024*1024;var folder=obj.uid+"/";var fileName;var url=db==="sra"?obj.url:obj.genomic.fna;var path=folder+url.replace(/.*\//,"");var log={url:url,path:path};mkdirp(obj.uid,{mode:493},gotDir);function gotDir(err){if(err){self.emit("error",err)}fs.exists(path,gotExists);function gotExists(exists){if(!exists){debug("downloading",obj.url);dld(PROXY+obj.genomic.fna,folder,chunkSize).on("data",logging).on("end",function(){log.status="completed";log.speed="NA";self.push(log);next()}).on("error",function(err){self.emit("error",err)})}else{log.status="completed";log.speed="NA";fs.stat(path,gotStat);function gotStat(err,stat){if(err){self.emit("error",err)}log.size=Math.round(stat.size/1024/1024)+" MB";self.push(log);next()}}}}function logging(position,size){var progress=(position*100/size).toFixed(2)+" %";var sizeMB=Math.round(size/1024/1024)+" MB";currTime=Date.now();var diffTimeSec=(currTime-prevTime)/1e3;prevTime=currTime;var speed=(chunkSizeMB/diffTimeSec).toFixed(2)+" MB/s";log.status="downloading";log.total=sizeMB;log.progress=progress;log.speed=speed;self.push(log)}}}ncbi.urls=function(db,term,cb){var searchdb=db==="gff"?"genome":db;var stream=pumpify.obj(ncbi.search(searchdb),createFTPURL(db));if(term){stream.write(term);stream.end()}if(cb){stream.pipe(concat(cb))}else{return stream}};function createFTPURL(db){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var self=this;var parseURL={sra:sraURL,assembly:assemblyURL,gff:gffURL};parseURL[db]();function sraURL(){var runs=obj.runs.Run;async.eachSeries(runs,printSRAURL,next);function printSRAURL(run,cb){var acc=run.acc;var runURL=["http://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/",acc.slice(0,3)+"/",acc.slice(0,6)+"/",acc+"/",acc+".sra"].join("");self.push({url:runURL,uid:obj.uid});cb()}}function assemblyURL(){if(obj.meta.FtpSites){var ftpPath=obj.meta.FtpSites.FtpPath;var ftpArray=Array.isArray(ftpPath)?ftpPath:[ftpPath];var httpRoot=ftpArray[0]._.replace("ftp://","http://");request({uri:PROXY+httpRoot,withCredentials:false},gotFTPDir);function gotFTPDir(err,res,body){if(err){self.emit("error",err)}if(!res||res.statusCode!==200){self.emit("err",res)}if(!body){return next()}$=cheerio.load(body);var urls={uid:obj.uid};$("a").map(attachToResult);function attachToResult(i,a){var href=a.attribs.href;var base=path.basename(href);var fileNameProperties=base.replace(/.*\//,"").split("_");var fileNameExtensions=fileNameProperties[fileNameProperties.length-1].split(".");var fileType=fileNameExtensions[0];var fileFormat=fileNameExtensions[1]||"dir";if(!urls[fileType]){urls[fileType]={}}urls[fileType][fileFormat]=httpRoot+"/"+href}self.push(urls);next()}}}function gffURL(){ncbi.search("assembly",obj.assembly_name).on("data",createURL);function createURL(obj){debug("gffURL result",obj);var gffURL;var ftpPath=obj.meta.FtpSites.FtpPath;var ftpArray=Array.isArray(ftpPath)?ftpPath:[ftpPath];ftpArray.forEach(function(ftp){if(ftp.type==="RefSeq"){gffURL=ftp._.replace("ftp://","http://")+"GFF/ref_"+obj.assemblyname+"_top_level.gff3.gz"}});if(gffURL){self.push({url:gffURL,uid:obj.uid})}}}}}function requestStream(returnURL){var stream=through.obj(transform);return stream;function transform(obj,enc,next){var self=this;get();self.tries=1;function get(){if(self.tries>20){console.warn("tries"+self.tries+obj)}request({uri:obj,json:true,timeout:5e3,withCredentials:false},gotData);function gotData(err,res,body){if(err||!res){self.tries++;return get()}debug("request response",res.statusCode);debug("request results",body);if(body.esearchresult&&body.esearchresult.ERROR){self.emit("error",new Error(body.esearchresult.ERROR))}var result=returnURL?{url:obj,body:body}:body;self.push(result);next()}}}}},{JSONStream:67,async:70,cheerio:71,"concat-stream":141,debug:153,dld:156,fs:1,mkdirp:157,path:43,pumpify:158,request:176,through2:205,"tool-stream":206,url:63,xml2js:242}],67:[function(require,module,exports){(function(process,Buffer){var Parser=require("jsonparse"),through=require("through");exports.parse=function(path,map){var parser=new Parser;var stream=through(function(chunk){if("string"===typeof chunk)chunk=new Buffer(chunk);parser.write(chunk)},function(data){if(data)stream.write(data);stream.queue(null)});if("string"===typeof path)path=path.split(".").map(function(e){if(e==="*")return true;else if(e==="")return{recurse:true};else return e});var count=0,_key;if(!path||!path.length)path=null;parser.onValue=function(){if(!this.root&&this.stack.length==1)stream.root=this.value;if(!path)return;var i=0;var j=0;while(i<path.length){var key=path[i];var c;j++;if(key&&!key.recurse){c=j===this.stack.length?this:this.stack[j];if(!c)return;if(!check(key,c.key))return;i++}else{i++;var nextKey=path[i];if(!nextKey)return;while(true){c=j===this.stack.length?this:this.stack[j];if(!c)return;if(check(nextKey,c.key)){i++;break}j++}}}if(j!==this.stack.length)return;count++;var data=this.value[this.key];if(null!=data)if(null!=(data=map?map(data):data))stream.queue(data);delete this.value[this.key]};parser._onToken=parser.onToken;parser.onToken=function(token,value){parser._onToken(token,value);if(this.stack.length===0){if(stream.root){if(!path)stream.queue(stream.root);stream.emit("root",stream.root,count);count=0;stream.root=null}}};parser.onError=function(err){stream.emit("error",err)};return stream};function check(x,y){if("string"===typeof x)return y==x;else if(x&&"function"===typeof x.exec)return x.exec(y);else if("boolean"===typeof x)return x;else if("function"===typeof x)return x(y);return false}exports.stringify=function(op,sep,cl,indent){indent=indent||0;if(op===false){op="";sep="\n";cl=""}else if(op==null){op="[\n";sep="\n,\n";cl="\n]\n"}var stream,first=true,anyData=false;stream=through(function(data){anyData=true;var json=JSON.stringify(data,null,indent);if(first){first=false;stream.queue(op+json)}else stream.queue(sep+json)},function(data){if(!anyData)stream.queue(op);stream.queue(cl);stream.queue(null)});return stream};exports.stringifyObject=function(op,sep,cl,indent){indent=indent||0;if(op===false){op="";sep="\n";cl=""}else if(op==null){op="{\n";sep="\n,\n";cl="\n}\n"}var first=true,anyData=false;stream=through(function(data){anyData=true;var json=JSON.stringify(data[0])+":"+JSON.stringify(data[1],null,indent);if(first){first=false;this.queue(op+json)}else this.queue(sep+json)},function(data){if(!anyData)this.queue(op);this.queue(cl);this.queue(null)});return stream};if(!module.parent&&process.title!=="browser"){process.stdin.pipe(exports.parse(process.argv[2])).pipe(exports.stringify("[",",\n","]\n",2)).pipe(process.stdout)}}).call(this,require("_process"),require("buffer").Buffer)},{_process:44,buffer:19,jsonparse:68,through:69}],68:[function(require,module,exports){(function(Buffer){var C={};var LEFT_BRACE=C.LEFT_BRACE=1;var RIGHT_BRACE=C.RIGHT_BRACE=2;var LEFT_BRACKET=C.LEFT_BRACKET=3;var RIGHT_BRACKET=C.RIGHT_BRACKET=4;var COLON=C.COLON=5;var COMMA=C.COMMA=6;var TRUE=C.TRUE=7;var FALSE=C.FALSE=8;var NULL=C.NULL=9;var STRING=C.STRING=10;var NUMBER=C.NUMBER=11;var START=C.START=17;var TRUE1=C.TRUE1=33;var TRUE2=C.TRUE2=34;var TRUE3=C.TRUE3=35;var FALSE1=C.FALSE1=49;var FALSE2=C.FALSE2=50;var FALSE3=C.FALSE3=51;var FALSE4=C.FALSE4=52;var NULL1=C.NULL1=65;var NULL2=C.NULL3=66;var NULL3=C.NULL2=67;var NUMBER1=C.NUMBER1=81;var NUMBER2=C.NUMBER2=82;var NUMBER3=C.NUMBER3=83;var NUMBER4=C.NUMBER4=84;var NUMBER5=C.NUMBER5=85;var NUMBER6=C.NUMBER6=86;var NUMBER7=C.NUMBER7=87;var NUMBER8=C.NUMBER8=88;var STRING1=C.STRING1=97;var STRING2=C.STRING2=98;var STRING3=C.STRING3=99;var STRING4=C.STRING4=100;var STRING5=C.STRING5=101;var STRING6=C.STRING6=102;var VALUE=C.VALUE=113;var KEY=C.KEY=114;var OBJECT=C.OBJECT=129;var ARRAY=C.ARRAY=130;function toknam(code){var keys=Object.keys(C);for(var i=0,l=keys.length;i<l;i++){var key=keys[i];if(C[key]===code){return key}}return code&&"0x"+code.toString(16)}function Parser(){this.tState=START;this.value=undefined;this.string=undefined;this.unicode=undefined;this.negative=undefined;this.magnatude=undefined;this.position=undefined;this.exponent=undefined;this.negativeExponent=undefined;this.key=undefined;this.mode=undefined;this.stack=[];this.state=VALUE;this.bytes_remaining=0;this.bytes_in_sequence=0;this.temp_buffs={2:new Buffer(2),3:new Buffer(3),4:new Buffer(4)}}var proto=Parser.prototype;proto.charError=function(buffer,i){this.onError(new Error("Unexpected "+JSON.stringify(String.fromCharCode(buffer[i]))+" at position "+i+" in state "+toknam(this.tState)))};proto.onError=function(err){throw err};proto.write=function(buffer){if(typeof buffer==="string")buffer=new Buffer(buffer);var n;for(var i=0,l=buffer.length;i<l;i++){if(this.tState===START){n=buffer[i];if(n===123){this.onToken(LEFT_BRACE,"{")}else if(n===125){this.onToken(RIGHT_BRACE,"}")}else if(n===91){this.onToken(LEFT_BRACKET,"[")}else if(n===93){this.onToken(RIGHT_BRACKET,"]")}else if(n===58){this.onToken(COLON,":")}else if(n===44){this.onToken(COMMA,",")}else if(n===116){this.tState=TRUE1}else if(n===102){this.tState=FALSE1}else if(n===110){this.tState=NULL1}else if(n===34){this.string="";this.tState=STRING1}else if(n===45){this.negative=true;this.tState=NUMBER1}else if(n===48){this.magnatude=0;this.tState=NUMBER2}else{if(n>48&&n<64){this.magnatude=n-48;this.tState=NUMBER3}else if(n===32||n===9||n===10||n===13){}else{this.charError(buffer,i)}}}else if(this.tState===STRING1){n=buffer[i];if(this.bytes_remaining>0){for(var j=0;j<this.bytes_remaining;j++){this.temp_buffs[this.bytes_in_sequence][this.bytes_in_sequence-this.bytes_remaining+j]=buffer[j]}this.string+=this.temp_buffs[this.bytes_in_sequence].toString();this.bytes_in_sequence=this.bytes_remaining=0;i=i+j-1}else if(this.bytes_remaining===0&&n>=128){if(n>=194&&n<=223)this.bytes_in_sequence=2;if(n>=224&&n<=239)this.bytes_in_sequence=3;if(n>=240&&n<=244)this.bytes_in_sequence=4;if(this.bytes_in_sequence+i>buffer.length){for(var k=0;k<=buffer.length-1-i;k++){this.temp_buffs[this.bytes_in_sequence][k]=buffer[i+k]}this.bytes_remaining=i+this.bytes_in_sequence-buffer.length;i=buffer.length-1}else{this.string+=buffer.slice(i,i+this.bytes_in_sequence).toString();i=i+this.bytes_in_sequence-1}}else if(n===34){this.tState=START;this.onToken(STRING,this.string);this.string=undefined}else if(n===92){this.tState=STRING2}else if(n>=32){this.string+=String.fromCharCode(n)}else{this.charError(buffer,i)}}else if(this.tState===STRING2){n=buffer[i];if(n===34){this.string+='"';this.tState=STRING1}else if(n===92){this.string+="\\";this.tState=STRING1}else if(n===47){this.string+="/";this.tState=STRING1}else if(n===98){this.string+="\b";this.tState=STRING1}else if(n===102){this.string+="\f";this.tState=STRING1}else if(n===110){this.string+="\n";this.tState=STRING1}else if(n===114){this.string+="\r";this.tState=STRING1}else if(n===116){this.string+=" ";this.tState=STRING1}else if(n===117){this.unicode="";this.tState=STRING3}else{this.charError(buffer,i)}}else if(this.tState===STRING3||this.tState===STRING4||this.tState===STRING5||this.tState===STRING6){n=buffer[i];if(n>=48&&n<64||n>64&&n<=70||n>96&&n<=102){this.unicode+=String.fromCharCode(n);if(this.tState++===STRING6){this.string+=String.fromCharCode(parseInt(this.unicode,16));this.unicode=undefined;this.tState=STRING1}}else{this.charError(buffer,i)}}else if(this.tState===NUMBER1){n=buffer[i];if(n===48){this.magnatude=0;this.tState=NUMBER2}else if(n>48&&n<64){this.magnatude=n-48;this.tState=NUMBER3}else{this.charError(buffer,i)}}else if(this.tState===NUMBER2){n=buffer[i];if(n===46){this.position=.1;this.tState=NUMBER4}else if(n===101||n===69){this.exponent=0;this.tState=NUMBER6}else{this.tState=START;this.onToken(NUMBER,0);this.magnatude=undefined;this.negative=undefined;i--}}else if(this.tState===NUMBER3){n=buffer[i];if(n===46){this.position=.1;this.tState=NUMBER4}else if(n===101||n===69){this.exponent=0;this.tState=NUMBER6}else{if(n>=48&&n<64){this.magnatude=this.magnatude*10+n-48}else{this.tState=START;if(this.negative){this.magnatude=-this.magnatude;this.negative=undefined}this.onToken(NUMBER,this.magnatude);this.magnatude=undefined;i--}}}else if(this.tState===NUMBER4){n=buffer[i];if(n>=48&&n<64){this.magnatude+=this.position*(n-48);this.position/=10;this.tState=NUMBER5}else{this.charError(buffer,i)}}else if(this.tState===NUMBER5){n=buffer[i];if(n>=48&&n<64){this.magnatude+=this.position*(n-48);this.position/=10}else if(n===101||n===69){this.exponent=0;this.tState=NUMBER6}else{this.tState=START;if(this.negative){this.magnatude=-this.magnatude;this.negative=undefined}this.onToken(NUMBER,this.negative?-this.magnatude:this.magnatude);this.magnatude=undefined;this.position=undefined;i--}}else if(this.tState===NUMBER6){n=buffer[i];if(n===43||n===45){if(n===45){this.negativeExponent=true}this.tState=NUMBER7}else if(n>=48&&n<64){this.exponent=this.exponent*10+(n-48);this.tState=NUMBER8}else{this.charError(buffer,i)}}else if(this.tState===NUMBER7){n=buffer[i];if(n>=48&&n<64){this.exponent=this.exponent*10+(n-48);this.tState=NUMBER8}else{this.charError(buffer,i)}}else if(this.tState===NUMBER8){n=buffer[i];if(n>=48&&n<64){this.exponent=this.exponent*10+(n-48)}else{if(this.negativeExponent){this.exponent=-this.exponent;this.negativeExponent=undefined}this.magnatude*=Math.pow(10,this.exponent);this.exponent=undefined;if(this.negative){this.magnatude=-this.magnatude;this.negative=undefined}this.tState=START;this.onToken(NUMBER,this.magnatude);this.magnatude=undefined;i--}}else if(this.tState===TRUE1){if(buffer[i]===114){this.tState=TRUE2}else{this.charError(buffer,i)}}else if(this.tState===TRUE2){if(buffer[i]===117){this.tState=TRUE3}else{this.charError(buffer,i)}}else if(this.tState===TRUE3){if(buffer[i]===101){this.tState=START;this.onToken(TRUE,true)}else{this.charError(buffer,i)}}else if(this.tState===FALSE1){if(buffer[i]===97){this.tState=FALSE2}else{this.charError(buffer,i)}}else if(this.tState===FALSE2){if(buffer[i]===108){this.tState=FALSE3}else{this.charError(buffer,i)}}else if(this.tState===FALSE3){if(buffer[i]===115){this.tState=FALSE4}else{this.charError(buffer,i)}}else if(this.tState===FALSE4){if(buffer[i]===101){this.tState=START;this.onToken(FALSE,false)
}else{this.charError(buffer,i)}}else if(this.tState===NULL1){if(buffer[i]===117){this.tState=NULL2}else{this.charError(buffer,i)}}else if(this.tState===NULL2){if(buffer[i]===108){this.tState=NULL3}else{this.charError(buffer,i)}}else if(this.tState===NULL3){if(buffer[i]===108){this.tState=START;this.onToken(NULL,null)}else{this.charError(buffer,i)}}}};proto.onToken=function(token,value){};proto.parseError=function(token,value){this.onError(new Error("Unexpected "+toknam(token)+(value?"("+JSON.stringify(value)+")":"")+" in state "+toknam(this.state)))};proto.onError=function(err){throw err};proto.push=function(){this.stack.push({value:this.value,key:this.key,mode:this.mode})};proto.pop=function(){var value=this.value;var parent=this.stack.pop();this.value=parent.value;this.key=parent.key;this.mode=parent.mode;this.emit(value);if(!this.mode){this.state=VALUE}};proto.emit=function(value){if(this.mode){this.state=COMMA}this.onValue(value)};proto.onValue=function(value){};proto.onToken=function(token,value){if(this.state===VALUE){if(token===STRING||token===NUMBER||token===TRUE||token===FALSE||token===NULL){if(this.value){this.value[this.key]=value}this.emit(value)}else if(token===LEFT_BRACE){this.push();if(this.value){this.value=this.value[this.key]={}}else{this.value={}}this.key=undefined;this.state=KEY;this.mode=OBJECT}else if(token===LEFT_BRACKET){this.push();if(this.value){this.value=this.value[this.key]=[]}else{this.value=[]}this.key=0;this.mode=ARRAY;this.state=VALUE}else if(token===RIGHT_BRACE){if(this.mode===OBJECT){this.pop()}else{this.parseError(token,value)}}else if(token===RIGHT_BRACKET){if(this.mode===ARRAY){this.pop()}else{this.parseError(token,value)}}else{this.parseError(token,value)}}else if(this.state===KEY){if(token===STRING){this.key=value;this.state=COLON}else if(token===RIGHT_BRACE){this.pop()}else{this.parseError(token,value)}}else if(this.state===COLON){if(token===COLON){this.state=VALUE}else{this.parseError(token,value)}}else if(this.state===COMMA){if(token===COMMA){if(this.mode===ARRAY){this.key++;this.state=VALUE}else if(this.mode===OBJECT){this.state=KEY}}else if(token===RIGHT_BRACKET&&this.mode===ARRAY||token===RIGHT_BRACE&&this.mode===OBJECT){this.pop()}else{this.parseError(token,value)}}else{this.parseError(token,value)}};module.exports=Parser}).call(this,require("buffer").Buffer)},{buffer:19}],69:[function(require,module,exports){(function(process){var Stream=require("stream");exports=module.exports=through;through.through=through;function through(write,end,opts){write=write||function(data){this.queue(data)};end=end||function(){this.queue(null)};var ended=false,destroyed=false,buffer=[],_ended=false;var stream=new Stream;stream.readable=stream.writable=true;stream.paused=false;stream.autoDestroy=!(opts&&opts.autoDestroy===false);stream.write=function(data){write.call(this,data);return!stream.paused};function drain(){while(buffer.length&&!stream.paused){var data=buffer.shift();if(null===data)return stream.emit("end");else stream.emit("data",data)}}stream.queue=stream.push=function(data){if(_ended)return stream;if(data==null)_ended=true;buffer.push(data);drain();return stream};stream.on("end",function(){stream.readable=false;if(!stream.writable&&stream.autoDestroy)process.nextTick(function(){stream.destroy()})});function _end(){stream.writable=false;end.call(stream);if(!stream.readable&&stream.autoDestroy)stream.destroy()}stream.end=function(data){if(ended)return;ended=true;if(arguments.length)stream.write(data);_end();return stream};stream.destroy=function(){if(destroyed)return;destroyed=true;ended=true;buffer.length=0;stream.writable=stream.readable=false;stream.emit("close");return stream};stream.pause=function(){if(stream.paused)return;stream.paused=true;return stream};stream.resume=function(){if(stream.paused){stream.paused=false;stream.emit("resume")}drain();if(!stream.paused)stream.emit("drain");return stream};return stream}}).call(this,require("_process"))},{_process:44,stream:61}],70:[function(require,module,exports){(function(process){(function(){var async={};var root,previous_async;root=this;if(root!=null){previous_async=root.async}async.noConflict=function(){root.async=previous_async;return async};function only_once(fn){var called=false;return function(){if(called)throw new Error("Callback was already called.");called=true;fn.apply(root,arguments)}}var _toString=Object.prototype.toString;var _isArray=Array.isArray||function(obj){return _toString.call(obj)==="[object Array]"};var _each=function(arr,iterator){if(arr.forEach){return arr.forEach(iterator)}for(var i=0;i<arr.length;i+=1){iterator(arr[i],i,arr)}};var _map=function(arr,iterator){if(arr.map){return arr.map(iterator)}var results=[];_each(arr,function(x,i,a){results.push(iterator(x,i,a))});return results};var _reduce=function(arr,iterator,memo){if(arr.reduce){return arr.reduce(iterator,memo)}_each(arr,function(x,i,a){memo=iterator(memo,x,i,a)});return memo};var _keys=function(obj){if(Object.keys){return Object.keys(obj)}var keys=[];for(var k in obj){if(obj.hasOwnProperty(k)){keys.push(k)}}return keys};if(typeof process==="undefined"||!process.nextTick){if(typeof setImmediate==="function"){async.nextTick=function(fn){setImmediate(fn)};async.setImmediate=async.nextTick}else{async.nextTick=function(fn){setTimeout(fn,0)};async.setImmediate=async.nextTick}}else{async.nextTick=process.nextTick;if(typeof setImmediate!=="undefined"){async.setImmediate=function(fn){setImmediate(fn)}}else{async.setImmediate=async.nextTick}}async.each=function(arr,iterator,callback){callback=callback||function(){};if(!arr.length){return callback()}var completed=0;_each(arr,function(x){iterator(x,only_once(done))});function done(err){if(err){callback(err);callback=function(){}}else{completed+=1;if(completed>=arr.length){callback()}}}};async.forEach=async.each;async.eachSeries=function(arr,iterator,callback){callback=callback||function(){};if(!arr.length){return callback()}var completed=0;var iterate=function(){iterator(arr[completed],function(err){if(err){callback(err);callback=function(){}}else{completed+=1;if(completed>=arr.length){callback()}else{iterate()}}})};iterate()};async.forEachSeries=async.eachSeries;async.eachLimit=function(arr,limit,iterator,callback){var fn=_eachLimit(limit);fn.apply(null,[arr,iterator,callback])};async.forEachLimit=async.eachLimit;var _eachLimit=function(limit){return function(arr,iterator,callback){callback=callback||function(){};if(!arr.length||limit<=0){return callback()}var completed=0;var started=0;var running=0;(function replenish(){if(completed>=arr.length){return callback()}while(running<limit&&started<arr.length){started+=1;running+=1;iterator(arr[started-1],function(err){if(err){callback(err);callback=function(){}}else{completed+=1;running-=1;if(completed>=arr.length){callback()}else{replenish()}}})}})()}};var doParallel=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.each].concat(args))}};var doParallelLimit=function(limit,fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[_eachLimit(limit)].concat(args))}};var doSeries=function(fn){return function(){var args=Array.prototype.slice.call(arguments);return fn.apply(null,[async.eachSeries].concat(args))}};var _asyncMap=function(eachfn,arr,iterator,callback){arr=_map(arr,function(x,i){return{index:i,value:x}});if(!callback){eachfn(arr,function(x,callback){iterator(x.value,function(err){callback(err)})})}else{var results=[];eachfn(arr,function(x,callback){iterator(x.value,function(err,v){results[x.index]=v;callback(err)})},function(err){callback(err,results)})}};async.map=doParallel(_asyncMap);async.mapSeries=doSeries(_asyncMap);async.mapLimit=function(arr,limit,iterator,callback){return _mapLimit(limit)(arr,iterator,callback)};var _mapLimit=function(limit){return doParallelLimit(limit,_asyncMap)};async.reduce=function(arr,memo,iterator,callback){async.eachSeries(arr,function(x,callback){iterator(memo,x,function(err,v){memo=v;callback(err)})},function(err){callback(err,memo)})};async.inject=async.reduce;async.foldl=async.reduce;async.reduceRight=function(arr,memo,iterator,callback){var reversed=_map(arr,function(x){return x}).reverse();async.reduce(reversed,memo,iterator,callback)};async.foldr=async.reduceRight;var _filter=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}});eachfn(arr,function(x,callback){iterator(x.value,function(v){if(v){results.push(x)}callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.filter=doParallel(_filter);async.filterSeries=doSeries(_filter);async.select=async.filter;async.selectSeries=async.filterSeries;var _reject=function(eachfn,arr,iterator,callback){var results=[];arr=_map(arr,function(x,i){return{index:i,value:x}});eachfn(arr,function(x,callback){iterator(x.value,function(v){if(!v){results.push(x)}callback()})},function(err){callback(_map(results.sort(function(a,b){return a.index-b.index}),function(x){return x.value}))})};async.reject=doParallel(_reject);async.rejectSeries=doSeries(_reject);var _detect=function(eachfn,arr,iterator,main_callback){eachfn(arr,function(x,callback){iterator(x,function(result){if(result){main_callback(x);main_callback=function(){}}else{callback()}})},function(err){main_callback()})};async.detect=doParallel(_detect);async.detectSeries=doSeries(_detect);async.some=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){if(v){main_callback(true);main_callback=function(){}}callback()})},function(err){main_callback(false)})};async.any=async.some;async.every=function(arr,iterator,main_callback){async.each(arr,function(x,callback){iterator(x,function(v){if(!v){main_callback(false);main_callback=function(){}}callback()})},function(err){main_callback(true)})};async.all=async.every;async.sortBy=function(arr,iterator,callback){async.map(arr,function(x,callback){iterator(x,function(err,criteria){if(err){callback(err)}else{callback(null,{value:x,criteria:criteria})}})},function(err,results){if(err){return callback(err)}else{var fn=function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0};callback(null,_map(results.sort(fn),function(x){return x.value}))}})};async.auto=function(tasks,callback){callback=callback||function(){};var keys=_keys(tasks);var remainingTasks=keys.length;if(!remainingTasks){return callback()}var results={};var listeners=[];var addListener=function(fn){listeners.unshift(fn)};var removeListener=function(fn){for(var i=0;i<listeners.length;i+=1){if(listeners[i]===fn){listeners.splice(i,1);return}}};var taskComplete=function(){remainingTasks--;_each(listeners.slice(0),function(fn){fn()})};addListener(function(){if(!remainingTasks){var theCallback=callback;callback=function(){};theCallback(null,results)}});_each(keys,function(k){var task=_isArray(tasks[k])?tasks[k]:[tasks[k]];var taskCallback=function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}if(err){var safeResults={};_each(_keys(results),function(rkey){safeResults[rkey]=results[rkey]});safeResults[k]=args;callback(err,safeResults);callback=function(){}}else{results[k]=args;async.setImmediate(taskComplete)}};var requires=task.slice(0,Math.abs(task.length-1))||[];var ready=function(){return _reduce(requires,function(a,x){return a&&results.hasOwnProperty(x)},true)&&!results.hasOwnProperty(k)};if(ready()){task[task.length-1](taskCallback,results)}else{var listener=function(){if(ready()){removeListener(listener);task[task.length-1](taskCallback,results)}};addListener(listener)}})};async.retry=function(times,task,callback){var DEFAULT_TIMES=5;var attempts=[];if(typeof times==="function"){callback=task;task=times;times=DEFAULT_TIMES}times=parseInt(times,10)||DEFAULT_TIMES;var wrappedTask=function(wrappedCallback,wrappedResults){var retryAttempt=function(task,finalAttempt){return function(seriesCallback){task(function(err,result){seriesCallback(!err||finalAttempt,{err:err,result:result})},wrappedResults)}};while(times){attempts.push(retryAttempt(task,!(times-=1)))}async.series(attempts,function(done,data){data=data[data.length-1];(wrappedCallback||callback)(data.err,data.result)})};return callback?wrappedTask():wrappedTask};async.waterfall=function(tasks,callback){callback=callback||function(){};if(!_isArray(tasks)){var err=new Error("First argument to waterfall must be an array of functions");return callback(err)}if(!tasks.length){return callback()}var wrapIterator=function(iterator){return function(err){if(err){callback.apply(null,arguments);callback=function(){}}else{var args=Array.prototype.slice.call(arguments,1);var next=iterator.next();if(next){args.push(wrapIterator(next))}else{args.push(callback)}async.setImmediate(function(){iterator.apply(null,args)})}}};wrapIterator(async.iterator(tasks))()};var _parallel=function(eachfn,tasks,callback){callback=callback||function(){};if(_isArray(tasks)){eachfn.map(tasks,function(fn,callback){if(fn){fn(function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}callback.call(null,err,args)})}},callback)}else{var results={};eachfn.each(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}results[k]=args;callback(err)})},function(err){callback(err,results)})}};async.parallel=function(tasks,callback){_parallel({map:async.map,each:async.each},tasks,callback)};async.parallelLimit=function(tasks,limit,callback){_parallel({map:_mapLimit(limit),each:_eachLimit(limit)},tasks,callback)};async.series=function(tasks,callback){callback=callback||function(){};if(_isArray(tasks)){async.mapSeries(tasks,function(fn,callback){if(fn){fn(function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}callback.call(null,err,args)})}},callback)}else{var results={};async.eachSeries(_keys(tasks),function(k,callback){tasks[k](function(err){var args=Array.prototype.slice.call(arguments,1);if(args.length<=1){args=args[0]}results[k]=args;callback(err)})},function(err){callback(err,results)})}};async.iterator=function(tasks){var makeCallback=function(index){var fn=function(){if(tasks.length){tasks[index].apply(null,arguments)}return fn.next()};fn.next=function(){return index<tasks.length-1?makeCallback(index+1):null};return fn};return makeCallback(0)};async.apply=function(fn){var args=Array.prototype.slice.call(arguments,1);return function(){return fn.apply(null,args.concat(Array.prototype.slice.call(arguments)))}};var _concat=function(eachfn,arr,fn,callback){var r=[];eachfn(arr,function(x,cb){fn(x,function(err,y){r=r.concat(y||[]);cb(err)})},function(err){callback(err,r)})};async.concat=doParallel(_concat);async.concatSeries=doSeries(_concat);async.whilst=function(test,iterator,callback){if(test()){iterator(function(err){if(err){return callback(err)}async.whilst(test,iterator,callback)})}else{callback()}};async.doWhilst=function(iterator,test,callback){iterator(function(err){if(err){return callback(err)}var args=Array.prototype.slice.call(arguments,1);if(test.apply(null,args)){async.doWhilst(iterator,test,callback)}else{callback()}})};async.until=function(test,iterator,callback){if(!test()){iterator(function(err){if(err){return callback(err)}async.until(test,iterator,callback)})}else{callback()}};async.doUntil=function(iterator,test,callback){iterator(function(err){if(err){return callback(err)}var args=Array.prototype.slice.call(arguments,1);if(!test.apply(null,args)){async.doUntil(iterator,test,callback)}else{callback()}})};async.queue=function(worker,concurrency){if(concurrency===undefined){concurrency=1}function _insert(q,data,pos,callback){if(!q.started){q.started=true}if(!_isArray(data)){data=[data]}if(data.length==0){return async.setImmediate(function(){if(q.drain){q.drain()}})}_each(data,function(task){var item={data:task,callback:typeof callback==="function"?callback:null};if(pos){q.tasks.unshift(item)}else{q.tasks.push(item)}if(q.saturated&&q.tasks.length===q.concurrency){q.saturated()}async.setImmediate(q.process)})}var workers=0;var q={tasks:[],concurrency:concurrency,saturated:null,empty:null,drain:null,started:false,paused:false,push:function(data,callback){_insert(q,data,false,callback)},kill:function(){q.drain=null;q.tasks=[]},unshift:function(data,callback){_insert(q,data,true,callback)},process:function(){if(!q.paused&&workers<q.concurrency&&q.tasks.length){var task=q.tasks.shift();if(q.empty&&q.tasks.length===0){q.empty()}workers+=1;var next=function(){workers-=1;if(task.callback){task.callback.apply(task,arguments)}if(q.drain&&q.tasks.length+workers===0){q.drain()}q.process()};var cb=only_once(next);worker(task.data,cb)}},length:function(){return q.tasks.length},running:function(){return workers},idle:function(){return q.tasks.length+workers===0},pause:function(){if(q.paused===true){return}q.paused=true;q.process()},resume:function(){if(q.paused===false){return}q.paused=false;q.process()}};return q};async.priorityQueue=function(worker,concurrency){function _compareTasks(a,b){return a.priority-b.priority}function _binarySearch(sequence,item,compare){var beg=-1,end=sequence.length-1;while(beg<end){var mid=beg+(end-beg+1>>>1);if(compare(item,sequence[mid])>=0){beg=mid}else{end=mid-1}}return beg}function _insert(q,data,priority,callback){if(!q.started){q.started=true}if(!_isArray(data)){data=[data]}if(data.length==0){return async.setImmediate(function(){if(q.drain){q.drain()}})}_each(data,function(task){var item={data:task,priority:priority,callback:typeof callback==="function"?callback:null};q.tasks.splice(_binarySearch(q.tasks,item,_compareTasks)+1,0,item);if(q.saturated&&q.tasks.length===q.concurrency){q.saturated()}async.setImmediate(q.process)})}var q=async.queue(worker,concurrency);q.push=function(data,priority,callback){_insert(q,data,priority,callback)};delete q.unshift;return q};async.cargo=function(worker,payload){var working=false,tasks=[];var cargo={tasks:tasks,payload:payload,saturated:null,empty:null,drain:null,drained:true,push:function(data,callback){if(!_isArray(data)){data=[data]}_each(data,function(task){tasks.push({data:task,callback:typeof callback==="function"?callback:null});cargo.drained=false;if(cargo.saturated&&tasks.length===payload){cargo.saturated()}});async.setImmediate(cargo.process)},process:function process(){if(working)return;if(tasks.length===0){if(cargo.drain&&!cargo.drained)cargo.drain();cargo.drained=true;return}var ts=typeof payload==="number"?tasks.splice(0,payload):tasks.splice(0,tasks.length);var ds=_map(ts,function(task){return task.data});if(cargo.empty)cargo.empty();working=true;worker(ds,function(){working=false;var args=arguments;_each(ts,function(data){if(data.callback){data.callback.apply(null,args)}});process()})},length:function(){return tasks.length},running:function(){return working}};return cargo};var _console_fn=function(name){return function(fn){var args=Array.prototype.slice.call(arguments,1);fn.apply(null,args.concat([function(err){var args=Array.prototype.slice.call(arguments,1);if(typeof console!=="undefined"){if(err){if(console.error){console.error(err)}}else if(console[name]){_each(args,function(x){console[name](x)})}}}]))}};async.log=_console_fn("log");async.dir=_console_fn("dir");async.memoize=function(fn,hasher){var memo={};var queues={};hasher=hasher||function(x){return x};var memoized=function(){var args=Array.prototype.slice.call(arguments);var callback=args.pop();var key=hasher.apply(null,args);if(key in memo){async.nextTick(function(){callback.apply(null,memo[key])})}else if(key in queues){queues[key].push(callback)}else{queues[key]=[callback];fn.apply(null,args.concat([function(){memo[key]=arguments;var q=queues[key];delete queues[key];for(var i=0,l=q.length;i<l;i++){q[i].apply(null,arguments)}}]))}};memoized.memo=memo;memoized.unmemoized=fn;return memoized};async.unmemoize=function(fn){return function(){return(fn.unmemoized||fn).apply(null,arguments)}};async.times=function(count,iterator,callback){var counter=[];for(var i=0;i<count;i++){counter.push(i)}return async.map(counter,iterator,callback)};async.timesSeries=function(count,iterator,callback){var counter=[];for(var i=0;i<count;i++){counter.push(i)}return async.mapSeries(counter,iterator,callback)};async.seq=function(){var fns=arguments;return function(){var that=this;var args=Array.prototype.slice.call(arguments);var callback=args.pop();async.reduce(fns,args,function(newargs,fn,cb){fn.apply(that,newargs.concat([function(){var err=arguments[0];var nextargs=Array.prototype.slice.call(arguments,1);cb(err,nextargs)}]))},function(err,results){callback.apply(that,[err].concat(results))})}};async.compose=function(){return async.seq.apply(null,Array.prototype.reverse.call(arguments))};var _applyEach=function(eachfn,fns){var go=function(){var that=this;var args=Array.prototype.slice.call(arguments);var callback=args.pop();return eachfn(fns,function(fn,cb){fn.apply(that,args.concat([cb]))},callback)};if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);return go.apply(this,args)}else{return go}};async.applyEach=doParallel(_applyEach);async.applyEachSeries=doSeries(_applyEach);async.forever=function(fn,callback){function next(err){if(err){if(callback){return callback(err)}throw err}fn(next)}next()};if(typeof module!=="undefined"&&module.exports){module.exports=async}else if(typeof define!=="undefined"&&define.amd){define([],function(){return async})}else{root.async=async}})()}).call(this,require("_process"))},{_process:44}],71:[function(require,module,exports){exports=module.exports=require("./lib/cheerio");exports.version=require("./package").version},{"./lib/cheerio":76,"./package":140}],72:[function(require,module,exports){var _=require("lodash"),utils=require("../utils"),isTag=utils.isTag,domEach=utils.domEach,hasOwn=Object.prototype.hasOwnProperty,camelCase=utils.camelCase,cssCase=utils.cssCase,rspace=/\s+/,dataAttrPrefix="data-",primitives={"null":null,"true":true,"false":false},rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/;var getAttr=function(elem,name){if(!elem||!isTag(elem))return;if(!elem.attribs){elem.attribs={}}if(!name){return elem.attribs}if(hasOwn.call(elem.attribs,name)){return elem.attribs[name]}};var setAttr=function(el,name,value){if(value===null){removeAttribute(el,name)}else{el.attribs[name]=value+""}};var attr=exports.attr=function(name,value){if(typeof name==="object"||value!==undefined){if(typeof value==="function"){return domEach(this,function(i,el){setAttr(el,name,value.call(el,i,el.attribs[name]))})}return domEach(this,function(i,el){if(!isTag(el))return;if(typeof name==="object"){_.each(name,function(name,key){el.attribs[key]=name+""})}else{setAttr(el,name,value)}})}return getAttr(this[0],name)};var setData=function(el,name,value){if(typeof name==="object")return _.extend(el.data,name);if(typeof name==="string"&&value!==undefined){el.data[name]=value}else if(typeof name==="object"){_.exend(el.data,name)}};var readData=function(el,name){var readAll=arguments.length===1;var domNames,domName,jsNames,jsName,value,idx,length;if(readAll){domNames=Object.keys(el.attribs).filter(function(attrName){return attrName.slice(0,dataAttrPrefix.length)===dataAttrPrefix});jsNames=domNames.map(function(domName){return camelCase(domName.slice(dataAttrPrefix.length))})}else{domNames=[dataAttrPrefix+cssCase(name)];jsNames=[name]}for(idx=0,length=domNames.length;idx<length;++idx){domName=domNames[idx];jsName=jsNames[idx];if(hasOwn.call(el.attribs,domName)){value=el.attribs[domName];if(hasOwn.call(primitives,value)){value=primitives[value]}else if(value===String(Number(value))){value=Number(value)}else if(rbrace.test(value)){value=JSON.parse(value)}el.data[jsName]=value}}return readAll?el.data:value};var data=exports.data=function(name,value){var elem=this[0];if(!elem||!isTag(elem))return;if(!elem.data){elem.data={}}if(!name){return readData(elem)}if(typeof name==="object"||value!==undefined){domEach(this,function(i,el){setData(el,name,value)});return this}else if(hasOwn.call(elem.data,name)){return elem.data[name]}return readData(elem,name)};var val=exports.val=function(value){var querying=arguments.length===0,element=this[0];if(!element)return;switch(element.name){case"textarea":return this.text(value);case"input":switch(this.attr("type")){case"radio":var queryString="input[type=radio][name="+this.attr("name")+"]:checked";var parentEl,root;parentEl=this.closest("form");if(parentEl.length===0){root=(this.parents().last()[0]||this[0]).root;parentEl=this._make(root)}if(querying){return parentEl.find(queryString).attr("value")}else{parentEl.find(":checked").removeAttr("checked");parentEl.find('input[type=radio][value="'+value+'"]').attr("checked","");return this}break;default:return this.attr("value",value)}return;case"select":var option=this.find("option:selected"),returnValue;if(option===undefined)return undefined;if(!querying){if(!this.attr().hasOwnProperty("multiple")&&typeof value=="object"){return this}if(typeof value!="object"){value=[value]}this.find("option").removeAttr("selected");for(var i=0;i<value.length;i++){this.find('option[value="'+value[i]+'"]').attr("selected","")}return this}returnValue=option.attr("value");if(this.attr().hasOwnProperty("multiple")){returnValue=[];domEach(option,function(i,el){returnValue.push(el.attribs.value)})}return returnValue;case"option":if(!querying){this.attr("value",value);return this}return this.attr("value")}};var removeAttribute=function(elem,name){if(!elem.attribs||!hasOwn.call(elem.attribs,name))return;if(name===elem.attribs[name]&&rboolean.test(elem.attribs[name]))elem.attribs[name]=false;else delete elem.attribs[name]};var removeAttr=exports.removeAttr=function(name){domEach(this,function(i,elem){removeAttribute(elem,name)});return this};var hasClass=exports.hasClass=function(className){return _.any(this,function(elem){var attrs=elem.attribs,clazz=attrs&&attrs["class"],idx=-1,end;if(clazz){while((idx=clazz.indexOf(className,idx+1))>-1){end=idx+className.length;if((idx===0||rspace.test(clazz[idx-1]))&&(end===clazz.length||rspace.test(clazz[end]))){return true}}}})};var addClass=exports.addClass=function(value){if(typeof value==="function"){return domEach(this,function(i,el){var className=el.attribs["class"]||"";addClass.call([el],value.call(el,i,className))})}if(!value||typeof value!=="string")return this;var classNames=value.split(rspace),numElements=this.length;for(var i=0;i<numElements;i++){if(!isTag(this[i]))continue;var className=getAttr(this[i],"class"),numClasses,setClass;if(!className){setAttr(this[i],"class",classNames.join(" ").trim())}else{setClass=" "+className+" ";numClasses=classNames.length;for(var j=0;j<numClasses;j++){var appendClass=classNames[j]+" ";if(!~setClass.indexOf(" "+appendClass))setClass+=appendClass}setAttr(this[i],"class",setClass.trim())}}return this};var splitClass=function(className){return className?className.trim().split(rspace):[]};var removeClass=exports.removeClass=function(value){var classes,numClasses,removeAll;if(typeof value==="function"){return domEach(this,function(i,el){removeClass.call([el],value.call(el,i,el.attribs["class"]||""))})}classes=splitClass(value);numClasses=classes.length;removeAll=arguments.length===0;return domEach(this,function(i,el){if(!isTag(el))return;if(removeAll){el.attribs.class=""}else{var elClasses=splitClass(el.attribs.class),index,changed;for(var j=0;j<numClasses;j++){index=elClasses.indexOf(classes[j]);if(index>=0){elClasses.splice(index,1);changed=true;j--}}if(changed){el.attribs.class=elClasses.join(" ")}}})};var toggleClass=exports.toggleClass=function(value,stateVal){if(typeof value==="function"){return domEach(this,function(i,el){toggleClass.call([el],value.call(el,i,el.attribs["class"]||"",stateVal),stateVal)})}if(!value||typeof value!=="string")return this;var classNames=value.split(rspace),numClasses=classNames.length,state=typeof stateVal==="boolean"?stateVal?1:-1:0,numElements=this.length,elementClasses,index;for(var i=0;i<numElements;i++){if(!isTag(this[i]))continue;elementClasses=splitClass(this[i].attribs.class);for(var j=0;j<numClasses;j++){index=elementClasses.indexOf(classNames[j]);if(state>=0&&index<0){elementClasses.push(classNames[j])}else if(state<=0&&index>=0){elementClasses.splice(index,1)}}this[i].attribs.class=elementClasses.join(" ")}return this};var is=exports.is=function(selector){if(selector){return this.filter(selector).length>0}return false}},{"../utils":79,lodash:139}],73:[function(require,module,exports){var _=require("lodash"),domEach=require("../utils").domEach;var toString=Object.prototype.toString;exports.css=function(prop,val){if(arguments.length===2||toString.call(prop)==="[object Object]"){return domEach(this,function(idx,el){setCss(el,prop,val,idx)})}else{return getCss(this[0],prop)}};function setCss(el,prop,val,idx){if("string"==typeof prop){var styles=getCss(el);if(typeof val==="function"){val=val.call(el,idx,el)}if(val===""){delete styles[prop]}else if(val!=null){styles[prop]=val}el.attribs.style=stringify(styles)}else if("object"==typeof prop){Object.keys(prop).forEach(function(k){setCss(el,k,prop[k])})}}function getCss(el,prop){var styles=parse(el.attribs.style);if(typeof prop==="string"){return styles[prop]}else if(Array.isArray(prop)){return _.pick(styles,prop)}else{return styles}}function stringify(obj){return Object.keys(obj||{}).reduce(function(str,prop){return str+=""+(str?" ":"")+prop+": "+obj[prop]+";"},"")}function parse(styles){styles=(styles||"").trim();if(!styles)return{};return styles.split(";").reduce(function(obj,str){var n=str.indexOf(":");if(n<1||n===str.length-1)return obj;obj[str.slice(0,n).trim()]=str.slice(n+1).trim();return obj},{})}},{"../utils":79,lodash:139}],74:[function(require,module,exports){var _=require("lodash"),parse=require("../parse"),$=require("../static"),updateDOM=parse.update,evaluate=parse.evaluate,utils=require("../utils"),domEach=utils.domEach,encode=utils.encode,slice=Array.prototype.slice;exports._makeDomArray=function makeDomArray(elem){if(elem==null){return[]}else if(elem.cheerio){return elem.get()}else if(Array.isArray(elem)){return _.flatten(elem.map(makeDomArray,this))}else if(typeof elem==="string"){return evaluate(elem,this.options)}else{return[elem]}};var _insert=function(concatenator){return function(){var self=this,elems=slice.call(arguments),dom=this._makeDomArray(elems);if(typeof elems[0]==="function"){return domEach(this,function(i,el){dom=self._makeDomArray(elems[0].call(el,i,$.html(el.children)));concatenator(dom,el.children,el)})}else{return domEach(this,function(i,el){concatenator(dom,el.children,el)})}}};var uniqueSplice=function(array,spliceIdx,spliceCount,newElems,parent){var spliceArgs=[spliceIdx,spliceCount].concat(newElems),prev=array[spliceIdx-1]||null,next=array[spliceIdx]||null;var idx,len,prevIdx,node,oldParent;for(idx=0,len=newElems.length;idx<len;++idx){node=newElems[idx];oldParent=node.parent||node.root;prevIdx=oldParent&&oldParent.children.indexOf(newElems[idx]);if(oldParent&&prevIdx>-1){oldParent.children.splice(prevIdx,1);if(parent===oldParent&&spliceIdx>prevIdx){spliceArgs[0]--}}node.root=null;node.parent=parent;if(node.prev){node.prev.next=node.next||null}if(node.next){node.next.prev=node.prev||null}node.prev=newElems[idx-1]||prev;node.next=newElems[idx+1]||next}if(prev){prev.next=newElems[0]}if(next){next.prev=newElems[newElems.length-1]}return array.splice.apply(array,spliceArgs)};var append=exports.append=_insert(function(dom,children,parent){uniqueSplice(children,children.length,0,dom,parent)});var prepend=exports.prepend=_insert(function(dom,children,parent){uniqueSplice(children,0,0,dom,parent)});var after=exports.after=function(){var elems=slice.call(arguments),dom=this._makeDomArray(elems),self=this;
domEach(this,function(i,el){var parent=el.parent||el.root;if(!parent){return}var siblings=parent.children,index=siblings.indexOf(el);if(!~index)return;if(typeof elems[0]==="function"){dom=self._makeDomArray(elems[0].call(el,i))}uniqueSplice(siblings,++index,0,dom,parent)});return this};var before=exports.before=function(){var elems=slice.call(arguments),dom=this._makeDomArray(elems),self=this;domEach(this,function(i,el){var parent=el.parent||el.root;if(!parent){return}var siblings=parent.children,index=siblings.indexOf(el);if(!~index)return;if(typeof elems[0]==="function"){dom=self._makeDomArray(elems[0].call(el,i))}uniqueSplice(siblings,index,0,dom,parent)});return this};var remove=exports.remove=function(selector){var elems=this;if(selector)elems=elems.filter(selector);domEach(elems,function(i,el){var parent=el.parent||el.root;if(!parent){return}var siblings=parent.children,index=siblings.indexOf(el);if(!~index)return;siblings.splice(index,1);if(el.prev){el.prev.next=el.next}if(el.next){el.next.prev=el.prev}el.prev=el.next=el.parent=el.root=null});return this};var replaceWith=exports.replaceWith=function(content){var self=this;domEach(this,function(i,el){var parent=el.parent||el.root;if(!parent){return}var siblings=parent.children,dom=self._makeDomArray(typeof content==="function"?content.call(el,i,el):content),index;updateDOM(dom,null);index=siblings.indexOf(el);uniqueSplice(siblings,index,1,dom,parent);el.parent=el.prev=el.next=el.root=null});return this};var empty=exports.empty=function(){domEach(this,function(i,el){_.each(el.children,function(el){el.next=el.prev=el.parent=null});el.children.length=0});return this};var html=exports.html=function(str){if(str===undefined){if(!this[0]||!this[0].children)return null;return $.html(this[0].children,this.options)}var opts=this.options;domEach(this,function(i,el){_.each(el.children,function(el){el.next=el.prev=el.parent=null});var content=str.cheerio?str.clone().get():evaluate(str,opts);updateDOM(content,el)});return this};var toString=exports.toString=function(){return $.html(this)};var text=exports.text=function(str){if(str===undefined){return $.text(this)}else if(typeof str==="function"){return domEach(this,function(i,el){var $el=[el];return text.call($el,str.call(el,i,$.text($el)))})}domEach(this,function(i,el){_.each(el.children,function(el){el.next=el.prev=el.parent=null});var elem={data:str,type:"text",parent:el,prev:null,next:null,children:[]};updateDOM(elem,el)});return this};var clone=exports.clone=function(){return this._make($.html(this))}},{"../parse":77,"../static":78,"../utils":79,lodash:139}],75:[function(require,module,exports){var _=require("lodash"),select=require("CSSselect"),utils=require("../utils"),domEach=utils.domEach,uniqueSort=require("htmlparser2").DomUtils.uniqueSort,isTag=utils.isTag;var find=exports.find=function(selector){var elems=_.reduce(this,function(memo,elem){return memo.concat(_.filter(elem.children,isTag))},[]);return this._make(select(selector,elems,this.options))};var parent=exports.parent=function(selector){var set=[];var $set;domEach(this,function(idx,elem){var parentElem=elem.parent;if(parentElem&&set.indexOf(parentElem)<0){set.push(parentElem)}});if(arguments.length){set=filter.call(set,selector,this)}return this._make(set)};var parents=exports.parents=function(selector){var parentNodes=[];this.get().reverse().forEach(function(elem){traverseParents(this,elem.parent,selector,Infinity).forEach(function(node){if(parentNodes.indexOf(node)===-1){parentNodes.push(node)}})},this);return this._make(parentNodes)};var parentsUntil=exports.parentsUntil=function(selector,filter){var parentNodes=[],untilNode,untilNodes;if(typeof selector==="string"){untilNode=select(selector,this.parents().toArray(),this.options)[0]}else if(selector&&selector.cheerio){untilNodes=selector.toArray()}else if(selector){untilNode=selector}this.toArray().reverse().forEach(function(elem){while(elem=elem.parent){if(untilNode&&elem!==untilNode||untilNodes&&untilNodes.indexOf(elem)===-1||!untilNode&&!untilNodes){if(isTag(elem)&&parentNodes.indexOf(elem)===-1){parentNodes.push(elem)}}else{break}}},this);return this._make(filter?select(filter,parentNodes,this.options):parentNodes)};var closest=exports.closest=function(selector){var set=[];if(!selector){return this._make(set)}domEach(this,function(idx,elem){var closestElem=traverseParents(this,elem,selector,1)[0];if(closestElem&&set.indexOf(closestElem)<0){set.push(closestElem)}}.bind(this));return this._make(set)};var next=exports.next=function(selector){if(!this[0]){return this}var elems=[];_.forEach(this,function(elem){while(elem=elem.next){if(isTag(elem)){elems.push(elem);return}}});return selector?filter.call(elems,selector,this):this._make(elems)};var nextAll=exports.nextAll=function(selector){if(!this[0]){return this}var elems=[];_.forEach(this,function(elem){while(elem=elem.next){if(isTag(elem)&&elems.indexOf(elem)===-1){elems.push(elem)}}});return selector?filter.call(elems,selector,this):this._make(elems)};var nextUntil=exports.nextUntil=function(selector,filterSelector){if(!this[0]){return this}var elems=[],untilNode,untilNodes;if(typeof selector==="string"){untilNode=select(selector,this.nextAll().get(),this.options)[0]}else if(selector&&selector.cheerio){untilNodes=selector.get()}else if(selector){untilNode=selector}_.forEach(this,function(elem){while(elem=elem.next){if(untilNode&&elem!==untilNode||untilNodes&&untilNodes.indexOf(elem)===-1||!untilNode&&!untilNodes){if(isTag(elem)&&elems.indexOf(elem)===-1){elems.push(elem)}}else{break}}});return filterSelector?filter.call(elems,filterSelector,this):this._make(elems)};var prev=exports.prev=function(selector){if(!this[0]){return this}var elems=[];_.forEach(this,function(elem){while(elem=elem.prev){if(isTag(elem)){elems.push(elem);return}}});return selector?filter.call(elems,selector,this):this._make(elems)};var prevAll=exports.prevAll=function(selector){if(!this[0]){return this}var elems=[];_.forEach(this,function(elem){while(elem=elem.prev){if(isTag(elem)&&elems.indexOf(elem)===-1){elems.push(elem)}}});return selector?filter.call(elems,selector,this):this._make(elems)};var prevUntil=exports.prevUntil=function(selector,filterSelector){if(!this[0]){return this}var elems=[],untilNode,untilNodes;if(typeof selector==="string"){untilNode=select(selector,this.prevAll().get(),this.options)[0]}else if(selector&&selector.cheerio){untilNodes=selector.get()}else if(selector){untilNode=selector}_.forEach(this,function(elem){while(elem=elem.prev){if(untilNode&&elem!==untilNode||untilNodes&&untilNodes.indexOf(elem)===-1||!untilNode&&!untilNodes){if(isTag(elem)&&elems.indexOf(elem)===-1){elems.push(elem)}}else{break}}});return filterSelector?filter.call(elems,filterSelector,this):this._make(elems)};var siblings=exports.siblings=function(selector){var parent=this.parent();var elems=_.filter(parent?parent.children():this.siblingsAndMe(),function(elem){return isTag(elem)&&!this.is(elem)},this);if(selector!==undefined){return filter.call(elems,selector,this)}else{return this._make(elems)}};var children=exports.children=function(selector){var elems=_.reduce(this,function(memo,elem){return memo.concat(_.filter(elem.children,isTag))},[]);if(selector===undefined)return this._make(elems);else if(typeof selector==="number")return this._make(elems[selector]);return filter.call(elems,selector,this)};var contents=exports.contents=function(){return this._make(_.reduce(this,function(all,elem){all.push.apply(all,elem.children);return all},[]))};var each=exports.each=function(fn){var i=0,len=this.length;while(i<len&&fn.call(this[i],i,this[i])!==false)++i;return this};var map=exports.map=function(fn){return this._make(_.reduce(this,function(memo,el,i){var val=fn.call(el,i,el);return val==null?memo:memo.concat(val)},[]))};var filter=exports.filter=function(match,container){container=container||this;var make=_.bind(container._make,container);var filterFn;if(typeof match==="string"){filterFn=select.compile(match,container.options)}else if(typeof match==="function"){filterFn=function(el,i){return match.call(el,i,el)}}else if(match.cheerio){filterFn=match.is.bind(match)}else{filterFn=function(el){return match===el}}return make(_.filter(this,filterFn))};var first=exports.first=function(){return this.length>1?this._make(this[0]):this};var last=exports.last=function(){return this.length>1?this._make(this[this.length-1]):this};var eq=exports.eq=function(i){i=+i;if(i===0&&this.length<=1)return this;if(i<0)i=this.length+i;return this[i]?this._make(this[i]):this._make([])};var get=exports.get=function(i){if(i==null){return Array.prototype.slice.call(this)}else{return this[i<0?this.length+i:i]}};var slice=exports.slice=function(){return this._make([].slice.apply(this,arguments))};function traverseParents(self,elem,selector,limit){var elems=[];while(elem&&elems.length<limit){if(!selector||filter.call([elem],selector,self).length){elems.push(elem)}elem=elem.parent}return elems}var end=exports.end=function(){return this.prevObject||this._make([])};var add=exports.add=function(other,context){var selection=this._make(other,context);var contents=uniqueSort(selection.get().concat(this.get()));for(var i=0;i<contents.length;++i){selection[i]=contents[i]}selection.length=contents.length;return selection}},{"../utils":79,CSSselect:80,htmlparser2:114,lodash:139}],76:[function(require,module,exports){var path=require("path"),parse=require("./parse"),_=require("lodash");var api=[require("./api/attributes"),require("./api/traversing"),require("./api/manipulation"),require("./api/css")];var quickExpr=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/;var Cheerio=module.exports=function(selector,context,root,options){if(!(this instanceof Cheerio))return new Cheerio(selector,context,root,options);this.options=_.defaults(options||{},this.options);if(!selector)return this;if(root){if(typeof root==="string")root=parse(root,this.options);this._root=Cheerio.call(this,root)}if(selector.cheerio)return selector;if(isNode(selector))selector=[selector];if(Array.isArray(selector)){_.forEach(selector,function(elem,idx){this[idx]=elem},this);this.length=selector.length;return this}if(typeof selector==="string"&&isHtml(selector)){return Cheerio.call(this,parse(selector,this.options).children)}if(!context){context=this._root}else if(typeof context==="string"){if(isHtml(context)){context=parse(context,this.options);context=Cheerio.call(this,context)}else{selector=[context,selector].join(" ");context=this._root}}else if(!context.cheerio){context=Cheerio.call(this,context)}if(!context)return this;return context.find(selector)};_.extend(Cheerio,require("./static"));Cheerio.prototype.cheerio="[cheerio object]";Cheerio.prototype.options={normalizeWhitespace:false,xmlMode:false,decodeEntities:true};Cheerio.prototype.length=0;Cheerio.prototype.splice=Array.prototype.splice;var isHtml=function(str){if(str.charAt(0)==="<"&&str.charAt(str.length-1)===">"&&str.length>=3)return true;var match=quickExpr.exec(str);return!!(match&&match[1])};Cheerio.prototype._make=function(dom,context){var cheerio=new Cheerio(dom,context,this._root,this.options);cheerio.prevObject=this;return cheerio};Cheerio.prototype.toArray=function(){return this.get()};api.forEach(function(mod){_.extend(Cheerio.prototype,mod)});var isNode=function(obj){return obj.name||obj.type==="text"||obj.type==="comment"}},{"./api/attributes":72,"./api/css":73,"./api/manipulation":74,"./api/traversing":75,"./parse":77,"./static":78,lodash:139,path:43}],77:[function(require,module,exports){(function(Buffer){var htmlparser=require("htmlparser2"),utils=require("./utils");exports=module.exports=function(content,options){var dom=evaluate(content,options);var root={type:"root",name:"root",parent:null,prev:null,next:null,children:[]};update(dom,root);return root};var evaluate=exports.evaluate=function(content,options){var dom;if(typeof content==="string"||Buffer.isBuffer(content)){dom=htmlparser.parseDOM(content,options)}else{dom=content}return dom};var update=exports.update=function(arr,parent){if(!Array.isArray(arr))arr=[arr];if(parent){parent.children=arr}else{parent=null}for(var i=0;i<arr.length;i++){var node=arr[i];var oldParent=node.parent||node.root,oldSiblings=oldParent&&oldParent.children;if(oldSiblings&&oldSiblings!==arr){oldSiblings.splice(oldSiblings.indexOf(node),1);if(node.prev){node.prev.next=node.next}if(node.next){node.next.prev=node.prev}}if(parent){node.prev=arr[i-1]||null;node.next=arr[i+1]||null}else{node.prev=node.next=null}if(parent&&parent.type==="root"){node.root=parent;node.parent=null}else{node.root=null;node.parent=parent}}return parent}}).call(this,require("buffer").Buffer)},{"./utils":79,buffer:19,htmlparser2:114}],78:[function(require,module,exports){var select=require("CSSselect"),parse=require("./parse"),render=require("dom-serializer"),_=require("lodash");var load=exports.load=function(content,options){var Cheerio=require("./cheerio");options=_.defaults(options||{},Cheerio.prototype.options);var root=parse(content,options);var initialize=function(selector,context,r,opts){opts=_.defaults(opts||{},options);return new Cheerio(selector,context,r||root,opts)};initialize.__proto__=exports;initialize._root=root;initialize._options=options;return initialize};var html=exports.html=function(dom,options){var Cheerio=require("./cheerio");if(Object.prototype.toString.call(dom)==="[object Object]"&&!options&&!("length"in dom)&&!("type"in dom)){options=dom;dom=undefined}options=_.defaults(options||{},this._options,Cheerio.prototype.options);if(dom){dom=typeof dom==="string"?select(dom,this._root,options):dom;return render(dom,options)}else if(this._root&&this._root.children){return render(this._root.children,options)}else{return""}};var xml=exports.xml=function(dom){if(dom){dom=typeof dom==="string"?select(dom,this._root,this.options):dom;return render(dom,{xmlMode:true})}else if(this._root&&this._root.children){return render(this._root.children,{xmlMode:true})}else{return""}};var text=exports.text=function(elems){if(!elems)return"";var ret="",len=elems.length,elem;for(var i=0;i<len;i++){elem=elems[i];if(elem.type==="text")ret+=elem.data;else if(elem.children&&elem.type!=="comment"){ret+=text(elem.children)}}return ret};var parseHTML=exports.parseHTML=function(data,context,keepScripts){var parsed;if(!data||typeof data!=="string"){return null}if(typeof context==="boolean"){keepScripts=context}parsed=this.load(data);if(!keepScripts){parsed("script").remove()}return parsed.root()[0].children};var root=exports.root=function(){return this(this._root)};var contains=exports.contains=function(container,contained){if(contained===container){return false}while(contained&&contained!==contained.parent){contained=contained.parent;if(contained===container){return true}}return false}},{"./cheerio":76,"./parse":77,CSSselect:80,"dom-serializer":97,lodash:139}],79:[function(require,module,exports){var tags={tag:true,script:true,style:true};exports.isTag=function(type){if(type.type)type=type.type;return tags[type]||false};exports.camelCase=function(str){return str.replace(/[_.-](\w|$)/g,function(_,x){return x.toUpperCase()})};exports.cssCase=function(str){return str.replace(/[A-Z]/g,"-$&").toLowerCase()};exports.domEach=function(cheerio,fn){var i=0,len=cheerio.length;while(i<len&&fn(i,cheerio[i])!==false)++i;return cheerio}},{}],80:[function(require,module,exports){"use strict";module.exports=CSSselect;var Pseudos=require("./lib/pseudos.js"),DomUtils=require("domutils"),findOne=DomUtils.findOne,findAll=DomUtils.findAll,getChildren=DomUtils.getChildren,removeSubsets=DomUtils.removeSubsets,falseFunc=require("./lib/basefunctions.js").falseFunc,compile=require("./lib/compile.js"),compileUnsafe=compile.compileUnsafe;function getSelectorFunc(searchFunc){return function select(query,elems,options){if(typeof query!=="function")query=compileUnsafe(query,options);if(!Array.isArray(elems))elems=getChildren(elems);else elems=removeSubsets(elems);return searchFunc(query,elems)}}var selectAll=getSelectorFunc(function selectAll(query,elems){return query===falseFunc||!elems||elems.length===0?[]:findAll(query,elems)});var selectOne=getSelectorFunc(function selectOne(query,elems){return query===falseFunc||!elems||elems.length===0?null:findOne(query,elems)});function is(elem,query,options){return(typeof query==="function"?query:compile(query,options))(elem)}function CSSselect(query,elems,options){return selectAll(query,elems,options)}CSSselect.compile=compile;CSSselect.filters=Pseudos.filters;CSSselect.pseudos=Pseudos.pseudos;CSSselect.selectAll=selectAll;CSSselect.selectOne=selectOne;CSSselect.is=is;CSSselect.parse=compile;CSSselect.iterate=selectAll},{"./lib/basefunctions.js":82,"./lib/compile.js":83,"./lib/pseudos.js":86,domutils:89}],81:[function(require,module,exports){var DomUtils=require("domutils"),hasAttrib=DomUtils.hasAttrib,getAttributeValue=DomUtils.getAttributeValue,falseFunc=require("./basefunctions.js").falseFunc;var reChars=/[-[\]{}()*+?.,\\^$|#\s]/g;var attributeRules={__proto__:null,equals:function(next,data){var name=data.name,value=data.value;if(data.ignoreCase){value=value.toLowerCase();return function equalsIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.toLowerCase()===value&&next(elem)}}return function equals(elem){return getAttributeValue(elem,name)===value&&next(elem)}},hyphen:function(next,data){var name=data.name,value=data.value,len=value.length;if(data.ignoreCase){value=value.toLowerCase();return function hyphenIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&(attr.length===len||attr.charAt(len)==="-")&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return function hyphen(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.substr(0,len)===value&&(attr.length===len||attr.charAt(len)==="-")&&next(elem)}},element:function(next,data){var name=data.name,value=data.value;if(/\s/.test(value)){return falseFunc}value=value.replace(reChars,"\\$&");var pattern="(?:^|\\s)"+value+"(?:$|\\s)",flags=data.ignoreCase?"i":"",regex=new RegExp(pattern,flags);return function element(elem){var attr=getAttributeValue(elem,name);return attr!=null&&regex.test(attr)&&next(elem)}},exists:function(next,data){var name=data.name;return function exists(elem){return hasAttrib(elem,name)&&next(elem)}},start:function(next,data){var name=data.name,value=data.value,len=value.length;if(len===0){return falseFunc}if(data.ignoreCase){value=value.toLowerCase();return function startIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return function start(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.substr(0,len)===value&&next(elem)}},end:function(next,data){var name=data.name,value=data.value,len=-value.length;if(len===0){return falseFunc}if(data.ignoreCase){value=value.toLowerCase();return function endIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.substr(len).toLowerCase()===value&&next(elem)}}return function end(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.substr(len)===value&&next(elem)}},any:function(next,data){var name=data.name,value=data.value;if(value===""){return falseFunc}if(data.ignoreCase){var regex=new RegExp(value.replace(reChars,"\\$&"),"i");return function anyIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&regex.test(attr)&&next(elem)}}return function any(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.indexOf(value)>=0&&next(elem)}},not:function(next,data){var name=data.name,value=data.value;if(value===""){return function notEmpty(elem){return!!getAttributeValue(elem,name)&&next(elem)}}else if(data.ignoreCase){value=value.toLowerCase();return function notIC(elem){var attr=getAttributeValue(elem,name);return attr!=null&&attr.toLowerCase()!==value&&next(elem)}}return function not(elem){return getAttributeValue(elem,name)!==value&&next(elem)}}};module.exports={compile:function(next,data){return attributeRules[data.action](next,data)},rules:attributeRules}},{"./basefunctions.js":82,domutils:89}],82:[function(require,module,exports){module.exports={trueFunc:function trueFunc(){return true},falseFunc:function falseFunc(){return false}}},{}],83:[function(require,module,exports){module.exports=compile;module.exports.compileUnsafe=compileUnsafe;var parse=require("CSSwhat"),DomUtils=require("domutils"),isTag=DomUtils.isTag,Rules=require("./general.js"),sortRules=require("./sort.js"),BaseFuncs=require("./basefunctions.js"),trueFunc=BaseFuncs.trueFunc,falseFunc=BaseFuncs.falseFunc;function compile(selector,options){var next=compileUnsafe(selector,options);return function base(elem){return isTag(elem)&&next(elem)}}function compileUnsafe(selector,options){return parse(selector,options).map(compileRules).reduce(reduceRules,falseFunc)}function compileRules(arr){if(arr.length===0)return falseFunc;return sortRules(arr).reduce(function(func,rule){if(func===falseFunc)return func;return Rules[rule.type](func,rule)},trueFunc)}function reduceRules(a,b){if(b===falseFunc||a===trueFunc){return a}if(a===falseFunc||b===trueFunc){return b}return function combine(elem){return a(elem)||b(elem)}}var Pseudos=require("./pseudos.js"),filters=Pseudos.filters,isParent=Pseudos.pseudos.parent,existsOne=DomUtils.existsOne,getChildren=DomUtils.getChildren;filters.not=function(next,select){var func=compileUnsafe(select);if(func===falseFunc)return next;if(func===trueFunc)return falseFunc;return function(elem){return!func(elem)&&next(elem)}};filters.has=function(next,selector){var func=compile(selector);if(func===falseFunc)return falseFunc;if(func===trueFunc)return function(elem){return isParent(elem)&&next(elem)};return function has(elem){return next(elem)&&existsOne(func,getChildren(elem))}}},{"./basefunctions.js":82,"./general.js":84,"./pseudos.js":86,"./sort.js":87,CSSwhat:88,domutils:89}],84:[function(require,module,exports){var DomUtils=require("domutils"),isTag=DomUtils.isTag,getParent=DomUtils.getParent,getChildren=DomUtils.getChildren,getSiblings=DomUtils.getSiblings,getName=DomUtils.getName;module.exports={__proto__:null,attribute:require("./attributes.js").compile,pseudo:require("./pseudos.js").compile,tag:function(next,data){var name=data.name;return function tag(elem){return getName(elem)===name&&next(elem)}},descendant:function(next){return function descendant(elem){var found=false;while(!found&&(elem=getParent(elem))){found=next(elem)}return found}},parent:function(next){return function parent(elem){return getChildren(elem).some(next)}},child:function(next){return function child(elem){var parent=getParent(elem);return!!parent&&next(parent)}},sibling:function(next){return function sibling(elem){var siblings=getSiblings(elem);for(var i=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem)break;if(next(siblings[i]))return true}}return false}},adjacent:function(next){return function adjacent(elem){var siblings=getSiblings(elem),lastElement;for(var i=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem)break;lastElement=siblings[i]}}return!!lastElement&&next(lastElement)}},universal:function(next){return next}}},{"./attributes.js":81,"./pseudos.js":86,domutils:89}],85:[function(require,module,exports){var BaseFuncs=require("./basefunctions.js"),trueFunc=BaseFuncs.trueFunc,falseFunc=BaseFuncs.falseFunc;module.exports=function nthCheck(formula){return compile(parse(formula))};module.exports.parse=parse;module.exports.compile=compile;var re_nthElement=/^([+\-]?\d*n)?\s*(?:([+\-]?)\s*(\d+))?$/;function parse(formula){formula=formula.trim().toLowerCase();if(formula==="even"){return[2,0]}else if(formula==="odd"){return[2,1]}else{var parsed=formula.match(re_nthElement);if(!parsed){throw new SyntaxError("n-th rule couldn't be parsed ('"+formula+"')")}var a;if(parsed[1]){a=parseInt(parsed[1],10);if(!a){if(parsed[1].charAt(0)==="-")a=-1;else a=1}}else a=0;return[a,parsed[3]?parseInt((parsed[2]||"")+parsed[3],10):0]}}function compile(parsed){var a=parsed[0],b=parsed[1]-1;if(b<0&&a<=0)return falseFunc;if(a===-1)return function(pos){return pos<=b};if(a===0)return function(pos){return pos===b};if(a===1)return b<0?trueFunc:function(pos){return pos>=b};var bMod=b%a;if(bMod<0)bMod+=a;if(a>1){return function(pos){return pos>=b&&pos%a===bMod}}a*=-1;return function(pos){return pos<=b&&pos%a===bMod}}},{"./basefunctions.js":82}],86:[function(require,module,exports){var DomUtils=require("domutils"),isTag=DomUtils.isTag,getText=DomUtils.getText,getParent=DomUtils.getParent,getChildren=DomUtils.getChildren,getSiblings=DomUtils.getSiblings,hasAttrib=DomUtils.hasAttrib,getName=DomUtils.getName,getAttribute=DomUtils.getAttributeValue,getNCheck=require("./nth-check.js"),checkAttrib=require("./attributes.js").rules.equals,BaseFuncs=require("./basefunctions.js"),trueFunc=BaseFuncs.trueFunc,falseFunc=BaseFuncs.falseFunc;function getFirstElement(elems){for(var i=0;elems&&i<elems.length;i++){if(isTag(elems[i]))return elems[i]}}function getAttribFunc(name,value){var data={name:name,value:value};return function attribFunc(next){return checkAttrib(next,data)}}function getChildFunc(next){return function(elem){return!!getParent(elem)&&next(elem)}}var filters={contains:function(next,text){if((text.charAt(0)==='"'||text.charAt(0)==="'")&&text.charAt(0)===text.substr(-1)){text=text.slice(1,-1)}return function contains(elem){return getText(elem).indexOf(text)>=0&&next(elem)}},"first-child":function(next){return function firstChild(elem){return getFirstElement(getSiblings(elem))===elem&&next(elem)}},"last-child":function(next){return function lastChild(elem){var siblings=getSiblings(elem);for(var i=siblings.length-1;i>=0;i--){if(siblings[i]===elem)return next(elem);if(isTag(siblings[i]))break}return false}},"first-of-type":function(next){return function firstOfType(elem){var siblings=getSiblings(elem);for(var i=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem)return next(elem);if(getName(siblings[i])===getName(elem))break}}return false}},"last-of-type":function(next){return function lastOfType(elem){var siblings=getSiblings(elem);for(var i=siblings.length-1;i>=0;i--){if(isTag(siblings[i])){if(siblings[i]===elem)return next(elem);if(getName(siblings[i])===getName(elem))break}}return false}},"only-of-type":function(next){return function onlyOfType(elem){var siblings=getSiblings(elem);for(var i=0,j=siblings.length;i<j;i++){if(isTag(siblings[i])){if(siblings[i]===elem)continue;if(getName(siblings[i])===getName(elem))return false}}return next(elem)}},"only-child":function(next){return function onlyChild(elem){var siblings=getSiblings(elem);for(var i=0;i<siblings.length;i++){if(isTag(siblings[i])&&siblings[i]!==elem)return false}return next(elem)}},"nth-child":function(next,rule){var func=getNCheck(rule);if(func===falseFunc)return func;if(func===trueFunc)return getChildFunc(next);return function nthChild(elem){var siblings=getSiblings(elem);for(var i=0,pos=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem)break;else pos++}}return func(pos)&&next(elem)}},"nth-last-child":function(next,rule){var func=getNCheck(rule);if(func===falseFunc)return func;if(func===trueFunc)return getChildFunc(next);return function nthLastChild(elem){var siblings=getSiblings(elem);for(var pos=0,i=siblings.length-1;i>=0;i--){if(isTag(siblings[i])){if(siblings[i]===elem)break;else pos++}}return func(pos)&&next(elem)}},"nth-of-type":function(next,rule){var func=getNCheck(rule);if(func===falseFunc)return func;if(func===trueFunc)return getChildFunc(next);return function nthOfType(elem){var siblings=getSiblings(elem);for(var pos=0,i=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem)break;if(getName(siblings[i])===getName(elem))pos++}}return func(pos)&&next(elem)}},"nth-last-of-type":function(next,rule){var func=getNCheck(rule);if(func===falseFunc)return func;if(func===trueFunc)return getChildFunc(next);return function nthLastOfType(elem){var siblings=getSiblings(elem);for(var pos=0,i=siblings.length-1;i>=0;i--){if(siblings[i]===elem)break;if(getName(siblings[i])===getName(elem))pos++}return func(pos)&&next(elem)}},checkbox:getAttribFunc("type","checkbox"),file:getAttribFunc("type","file"),password:getAttribFunc("type","password"),radio:getAttribFunc("type","radio"),reset:getAttribFunc("type","reset"),image:getAttribFunc("type","image"),submit:getAttribFunc("type","submit")};var pseudos={root:function(elem){return!getParent(elem)},empty:function(elem){return!getChildren(elem).some(function(elem){return isTag(elem)||elem.type==="text"})},selected:function(elem){if(hasAttrib(elem,"selected"))return true;else if(getName(elem)!=="option")return false;var parent=getParent(elem);if(!parent||getName(parent)!=="select")return false;var siblings=getChildren(parent),sawElem=false;for(var i=0;i<siblings.length;i++){if(isTag(siblings[i])){if(siblings[i]===elem){sawElem=true}else if(!sawElem){return false}else if(hasAttrib(siblings[i],"selected")){return false}}}return sawElem},disabled:function(elem){return hasAttrib(elem,"disabled")},enabled:function(elem){return!hasAttrib(elem,"disabled")},checked:function(elem){return hasAttrib(elem,"checked")||pseudos.selected(elem)},parent:function(elem){return!pseudos.empty(elem)},header:function(elem){var name=getName(elem);return name==="h1"||name==="h2"||name==="h3"||name==="h4"||name==="h5"||name==="h6"},button:function(elem){var name=getName(elem);return name==="button"||name==="input"&&getAttribute(elem,"type")==="button"},input:function(elem){var name=getName(elem);return name==="input"||name==="textarea"||name==="select"||name==="button"},text:function(elem){var attr;return getName(elem)==="input"&&(!(attr=getAttribute(elem,"type"))||attr.toLowerCase()==="text")}};function verifyArgs(func,name,subselect){if(subselect===null){if(func.length>1){throw new SyntaxError("pseudo-selector :"+name+" requires an argument")}}else{if(func.length===1){throw new SyntaxError("pseudo-selector :"+name+" doesn't have any arguments")}}}module.exports={compile:function(next,data){var name=data.name,subselect=data.data;if(typeof filters[name]==="function"){verifyArgs(filters[name],name,subselect);return filters[name](next,subselect)}else if(typeof pseudos[name]==="function"){var func=pseudos[name];verifyArgs(func,name,subselect);return function pseudoArgs(elem){return func(elem,subselect)&&next(elem)}}else{throw new SyntaxError("unmatched pseudo-class :"+name)}},filters:filters,pseudos:pseudos}},{"./attributes.js":81,"./basefunctions.js":82,"./nth-check.js":85,domutils:89}],87:[function(require,module,exports){module.exports=sortByProcedure;var ATTRIBUTE=1;var procedure={__proto__:null,universal:5,tag:3,attribute:ATTRIBUTE,pseudo:0,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1};var attributes={__proto__:null,exists:8,equals:7,not:6,start:5,end:4,any:3,hyphen:2,element:1};function sortByProcedure(arr){for(var i=1;i<arr.length;i++){var procNew=procedure[arr[i].type];if(procNew<0)continue;for(var j=i-1;j>=0;j--){if(procNew>procedure[arr[j].type]||!(procNew===ATTRIBUTE&&procedure[arr[j].type]===ATTRIBUTE&&attributes[arr[i].action]<=attributes[arr[j].action]))break;var tmp=arr[j+1];arr[j+1]=arr[j];arr[j]=tmp}}return arr}},{}],88:[function(require,module,exports){"use strict";module.exports=parse;var re_ws=/^\s/,re_name=/^(?:\\.|[\w\-\u00c0-\uFFFF])+/,re_escape=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,re_attr=/^\s*((?:\\.|[\w\u00c0-\uFFFF\-])+)\s*(?:(\S?)=\s*(?:(['"])(.*?)\3|(#?(?:\\.|[\w\u00c0-\uFFFF\-])*)|)|)\s*(i)?\]/;var actionTypes={__proto__:null,undefined:"exists","":"equals","~":"element","^":"start",$:"end","*":"any","!":"not","|":"hyphen"};var simpleSelectors={__proto__:null,">":"child","<":"parent","~":"sibling","+":"adjacent"};var attribSelectors={__proto__:null,"#":["id","equals"],".":["class","element"]};function funescape(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)
}function unescapeCSS(str){return str.replace(re_escape,funescape)}function getClosingPos(selector){var pos=1,counter=1,len=selector.length;for(;counter>0&&pos<len;pos++){if(selector.charAt(pos)==="(")counter++;else if(selector.charAt(pos)===")")counter--}return pos}function parse(selector,options){selector=(selector+"").trimLeft();var subselects=[],tokens=[],sawWS=false,data,firstChar,name;function getName(){var sub=selector.match(re_name)[0];selector=selector.substr(sub.length);return unescapeCSS(sub)}while(selector!==""){if(re_name.test(selector)){if(sawWS){tokens.push({type:"descendant"});sawWS=false}name=getName();if(!options||("lowerCaseTags"in options?options.lowerCaseTags:!options.xmlMode)){name=name.toLowerCase()}tokens.push({type:"tag",name:name})}else if(re_ws.test(selector)){sawWS=true;selector=selector.trimLeft()}else{firstChar=selector.charAt(0);selector=selector.substr(1);if(firstChar in simpleSelectors){tokens.push({type:simpleSelectors[firstChar]});selector=selector.trimLeft();sawWS=false;continue}else if(firstChar===","){if(tokens.length===0){throw new SyntaxError("empty sub-selector")}subselects.push(tokens);tokens=[];selector=selector.trimLeft();sawWS=false;continue}else if(sawWS){tokens.push({type:"descendant"});sawWS=false}if(firstChar==="*"){tokens.push({type:"universal"})}else if(firstChar in attribSelectors){tokens.push({type:"attribute",name:attribSelectors[firstChar][0],action:attribSelectors[firstChar][1],value:getName(),ignoreCase:false})}else if(firstChar==="["){data=selector.match(re_attr);if(!data){throw new SyntaxError("Malformed attribute selector: "+selector)}selector=selector.substr(data[0].length);name=unescapeCSS(data[1]);if(!options||("lowerCaseAttributeNames"in options?options.lowerCaseAttributeNames:!options.xmlMode)){name=name.toLowerCase()}tokens.push({type:"attribute",name:name,action:actionTypes[data[2]],value:unescapeCSS(data[4]||data[5]||""),ignoreCase:!!data[6]})}else if(firstChar===":"){name=getName().toLowerCase();data=null;if(selector.charAt(0)==="("){var pos=getClosingPos(selector);data=selector.substr(1,pos-2);selector=selector.substr(pos)}tokens.push({type:"pseudo",name:name,data:data})}else{throw new SyntaxError("Unmatched selector: "+firstChar+selector)}}}if(subselects.length>0&&tokens.length===0){throw new SyntaxError("empty sub-selector")}subselects.push(tokens);return subselects}},{}],89:[function(require,module,exports){var DomUtils=module.exports;[require("./lib/stringify"),require("./lib/traversal"),require("./lib/manipulation"),require("./lib/querying"),require("./lib/legacy"),require("./lib/helpers")].forEach(function(ext){Object.keys(ext).forEach(function(key){DomUtils[key]=ext[key].bind(DomUtils)})})},{"./lib/helpers":90,"./lib/legacy":91,"./lib/manipulation":92,"./lib/querying":93,"./lib/stringify":94,"./lib/traversal":95}],90:[function(require,module,exports){exports.removeSubsets=function(nodes){var idx=nodes.length,node,ancestor,replace;while(--idx>-1){node=ancestor=nodes[idx];nodes[idx]=null;replace=true;while(ancestor){if(nodes.indexOf(ancestor)>-1){replace=false;nodes.splice(idx,1);break}ancestor=ancestor.parent}if(replace){nodes[idx]=node}}return nodes}},{}],91:[function(require,module,exports){var ElementType=require("domelementtype");var isTag=exports.isTag=ElementType.isTag;exports.testElement=function(options,element){for(var key in options){if(!options.hasOwnProperty(key));else if(key==="tag_name"){if(!isTag(element)||!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(isTag(element)||!options.tag_contains(element.data)){return false}}else if(!element.attribs||!options[key](element.attribs[key])){return false}}return true};var Checks={tag_name:function(name){if(typeof name==="function"){return function(elem){return isTag(elem)&&name(elem.name)}}else if(name==="*"){return isTag}else{return function(elem){return isTag(elem)&&elem.name===name}}},tag_type:function(type){if(typeof type==="function"){return function(elem){return type(elem.type)}}else{return function(elem){return elem.type===type}}},tag_contains:function(data){if(typeof data==="function"){return function(elem){return!isTag(elem)&&data(elem.data)}}else{return function(elem){return!isTag(elem)&&elem.data===data}}}};function getAttribCheck(attrib,value){if(typeof value==="function"){return function(elem){return elem.attribs&&value(elem.attribs[attrib])}}else{return function(elem){return elem.attribs&&elem.attribs[attrib]===value}}}function combineFuncs(a,b){return function(elem){return a(elem)||b(elem)}}exports.getElements=function(options,element,recurse,limit){var funcs=Object.keys(options).map(function(key){var value=options[key];return key in Checks?Checks[key](value):getAttribCheck(key,value)});return funcs.length===0?[]:this.filter(funcs.reduce(combineFuncs),element,recurse,limit)};exports.getElementById=function(id,element,recurse){if(!Array.isArray(element))element=[element];return this.findOne(getAttribCheck("id",id),element,recurse!==false)};exports.getElementsByTagName=function(name,element,recurse,limit){return this.filter(Checks.tag_name(name),element,recurse,limit)};exports.getElementsByTagType=function(type,element,recurse,limit){return this.filter(Checks.tag_type(type),element,recurse,limit)}},{domelementtype:96}],92:[function(require,module,exports){exports.removeElement=function(elem){if(elem.prev)elem.prev.next=elem.next;if(elem.next)elem.next.prev=elem.prev;if(elem.parent){var childs=elem.parent.children;childs.splice(childs.lastIndexOf(elem),1)}};exports.replaceElement=function(elem,replacement){var prev=replacement.prev=elem.prev;if(prev){prev.next=replacement}var next=replacement.next=elem.next;if(next){next.prev=replacement}var parent=replacement.parent=elem.parent;if(parent){var childs=parent.children;childs[childs.lastIndexOf(elem)]=replacement}};exports.appendChild=function(elem,child){child.parent=elem;if(elem.children.push(child)!==1){var sibling=elem.children[elem.children.length-2];sibling.next=child;child.prev=sibling;child.next=null}};exports.append=function(elem,next){var parent=elem.parent,currNext=elem.next;next.next=currNext;next.prev=elem;elem.next=next;next.parent=parent;if(currNext){currNext.prev=next;if(parent){var childs=parent.children;childs.splice(childs.lastIndexOf(currNext),0,next)}}else if(parent){parent.children.push(next)}};exports.prepend=function(elem,prev){var parent=elem.parent;if(parent){var childs=parent.children;childs.splice(childs.lastIndexOf(elem),0,prev)}if(elem.prev){elem.prev.next=prev}prev.parent=parent;prev.prev=elem.prev;prev.next=elem;elem.prev=prev}},{}],93:[function(require,module,exports){var isTag=require("domelementtype").isTag;module.exports={filter:filter,find:find,findOneChild:findOneChild,findOne:findOne,existsOne:existsOne,findAll:findAll};function filter(test,element,recurse,limit){if(!Array.isArray(element))element=[element];if(typeof limit!=="number"||!isFinite(limit)){limit=Infinity}return find(test,element,recurse!==false,limit)}function find(test,elems,recurse,limit){var result=[],childs;for(var i=0,j=elems.length;i<j;i++){if(test(elems[i])){result.push(elems[i]);if(--limit<=0)break}childs=elems[i].children;if(recurse&&childs&&childs.length>0){childs=find(test,childs,recurse,limit);result=result.concat(childs);limit-=childs.length;if(limit<=0)break}}return result}function findOneChild(test,elems){for(var i=0,l=elems.length;i<l;i++){if(test(elems[i]))return elems[i]}return null}function findOne(test,elems){var elem=null;for(var i=0,l=elems.length;i<l&&!elem;i++){if(!isTag(elems[i])){continue}else if(test(elems[i])){elem=elems[i]}else if(elems[i].children.length>0){elem=findOne(test,elems[i].children)}}return elem}function existsOne(test,elems){for(var i=0,l=elems.length;i<l;i++){if(isTag(elems[i])&&(test(elems[i])||elems[i].children.length>0&&existsOne(test,elems[i].children))){return true}}return false}function findAll(test,elems){var result=[];for(var i=0,j=elems.length;i<j;i++){if(!isTag(elems[i]))continue;if(test(elems[i]))result.push(elems[i]);if(elems[i].children.length>0){result=result.concat(findAll(test,elems[i].children))}}return result}},{domelementtype:96}],94:[function(require,module,exports){var ElementType=require("domelementtype"),isTag=ElementType.isTag;module.exports={getInnerHTML:getInnerHTML,getOuterHTML:getOuterHTML,getText:getText};function getInnerHTML(elem){return elem.children?elem.children.map(getOuterHTML).join(""):""}var booleanAttribs={__proto__:null,async:true,autofocus:true,autoplay:true,checked:true,controls:true,defer:true,disabled:true,hidden:true,loop:true,multiple:true,open:true,readonly:true,required:true,scoped:true,selected:true};var emptyTags={__proto__:null,area:true,base:true,basefont:true,br:true,col:true,frame:true,hr:true,img:true,input:true,isindex:true,link:true,meta:true,param:true,embed:true};function getOuterHTML(elem){switch(elem.type){case ElementType.Text:return elem.data;case ElementType.Comment:return"<!--"+elem.data+"-->";case ElementType.Directive:return"<"+elem.data+">";case ElementType.CDATA:return"<!CDATA "+getInnerHTML(elem)+"]]>"}var ret="<"+elem.name;if("attribs"in elem){for(var attr in elem.attribs){if(elem.attribs.hasOwnProperty(attr)){ret+=" "+attr;var value=elem.attribs[attr];if(value==null){if(!(attr in booleanAttribs)){ret+='=""'}}else{ret+='="'+value+'"'}}}}if(elem.name in emptyTags&&elem.children.length===0){return ret+" />"}else{return ret+">"+getInnerHTML(elem)+"</"+elem.name+">"}}function getText(elem){if(Array.isArray(elem))return elem.map(getText).join("");if(isTag(elem)||elem.type===ElementType.CDATA)return getText(elem.children);if(elem.type===ElementType.Text)return elem.data;return""}},{domelementtype:96}],95:[function(require,module,exports){var getChildren=exports.getChildren=function(elem){return elem.children};var getParent=exports.getParent=function(elem){return elem.parent};exports.getSiblings=function(elem){var parent=getParent(elem);return parent?getChildren(parent):[elem]};exports.getAttributeValue=function(elem,name){return elem.attribs&&elem.attribs[name]};exports.hasAttrib=function(elem,name){return hasOwnProperty.call(elem.attribs,name)};exports.getName=function(elem){return elem.name}},{}],96:[function(require,module,exports){module.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",isTag:function(elem){return elem.type==="tag"||elem.type==="script"||elem.type==="style"}}},{}],97:[function(require,module,exports){var ElementType=require("domelementtype");var entities=require("entities");var booleanAttributes={__proto__:null,allowfullscreen:true,async:true,autofocus:true,autoplay:true,checked:true,controls:true,"default":true,defer:true,disabled:true,hidden:true,ismap:true,loop:true,multiple:true,muted:true,open:true,readonly:true,required:true,reversed:true,scoped:true,seamless:true,selected:true,typemustmatch:true};var unencodedElements={__proto__:null,style:true,script:true,xmp:true,iframe:true,noembed:true,noframes:true,plaintext:true,noscript:true};function formatAttrs(attributes,opts){if(!attributes)return;var output="",value;for(var key in attributes){value=attributes[key];if(output){output+=" "}if(!value&&booleanAttributes[key]){output+=key}else{output+=key+'="'+(opts.decodeEntities?entities.encodeXML(value):value)+'"'}}return output}var singleTag={__proto__:null,area:true,base:true,basefont:true,br:true,col:true,command:true,embed:true,frame:true,hr:true,img:true,input:true,isindex:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true,path:true,circle:true,ellipse:true,line:true,rect:true,use:true};var render=module.exports=function(dom,opts){if(!Array.isArray(dom)&&!dom.cheerio)dom=[dom];opts=opts||{};var output="";for(var i=0;i<dom.length;i++){var elem=dom[i];if(elem.type==="root")output+=render(elem.children,opts);else if(ElementType.isTag(elem))output+=renderTag(elem,opts);else if(elem.type===ElementType.Directive)output+=renderDirective(elem);else if(elem.type===ElementType.Comment)output+=renderComment(elem);else if(elem.type===ElementType.CDATA)output+=renderCdata(elem);else output+=renderText(elem,opts)}return output};function renderTag(elem,opts){var tag="<"+elem.name,attribs=formatAttrs(elem.attribs,opts);if(attribs){tag+=" "+attribs}if(opts.xmlMode&&(!elem.children||elem.children.length===0)){tag+="/>"}else{tag+=">";tag+=render(elem.children,opts);if(!singleTag[elem.name]||opts.xmlMode){tag+="</"+elem.name+">"}}return tag}function renderDirective(elem){return"<"+elem.data+">"}function renderText(elem,opts){var data=elem.data||"";if(opts.decodeEntities&&!(elem.parent&&elem.parent.name in unencodedElements)){data=entities.encodeXML(data)}return data}function renderCdata(elem){return"<![CDATA["+elem.children[0].data+"]]>"}function renderComment(elem){return"<!--"+elem.data+"-->"}},{domelementtype:98,entities:99}],98:[function(require,module,exports){module.exports=require(96)},{}],99:[function(require,module,exports){var encode=require("./lib/encode.js"),decode=require("./lib/decode.js");exports.decode=function(data,level){return(!level||level<=0?decode.XML:decode.HTML)(data)};exports.decodeStrict=function(data,level){return(!level||level<=0?decode.XML:decode.HTMLStrict)(data)};exports.encode=function(data,level){return(!level||level<=0?encode.XML:encode.HTML)(data)};exports.encodeXML=encode.XML;exports.encodeHTML4=exports.encodeHTML5=exports.encodeHTML=encode.HTML;exports.decodeXML=exports.decodeXMLStrict=decode.XML;exports.decodeHTML4=exports.decodeHTML5=exports.decodeHTML=decode.HTML;exports.decodeHTML4Strict=exports.decodeHTML5Strict=exports.decodeHTMLStrict=decode.HTMLStrict;exports.escape=encode.escape},{"./lib/decode.js":100,"./lib/encode.js":102}],100:[function(require,module,exports){var entityMap=require("../maps/entities.json"),legacyMap=require("../maps/legacy.json"),xmlMap=require("../maps/xml.json"),decodeCodePoint=require("./decode_codepoint.js");var decodeXMLStrict=getStrictDecoder(xmlMap),decodeHTMLStrict=getStrictDecoder(entityMap);function getStrictDecoder(map){var keys=Object.keys(map).join("|"),replace=getReplacer(map);keys+="|#[xX][\\da-fA-F]+|#\\d+";var re=new RegExp("&(?:"+keys+");","g");return function(str){return String(str).replace(re,replace)}}var decodeHTML=function(){var legacy=Object.keys(legacyMap).sort(sorter);var keys=Object.keys(entityMap).sort(sorter);for(var i=0,j=0;i<keys.length;i++){if(legacy[j]===keys[i]){keys[i]+=";?";j++}else{keys[i]+=";"}}var re=new RegExp("&(?:"+keys.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),replace=getReplacer(entityMap);function replacer(str){if(str.substr(-1)!==";")str+=";";return replace(str)}return function(str){return String(str).replace(re,replacer)}}();function sorter(a,b){return a<b?1:-1}function getReplacer(map){return function replace(str){if(str.charAt(1)==="#"){if(str.charAt(2)==="X"||str.charAt(2)==="x"){return decodeCodePoint(parseInt(str.substr(3),16))}return decodeCodePoint(parseInt(str.substr(2),10))}return map[str.slice(1,-1)]}}module.exports={XML:decodeXMLStrict,HTML:decodeHTML,HTMLStrict:decodeHTMLStrict}},{"../maps/entities.json":104,"../maps/legacy.json":105,"../maps/xml.json":106,"./decode_codepoint.js":101}],101:[function(require,module,exports){var decodeMap=require("../maps/decode.json");module.exports=decodeCodePoint;function decodeCodePoint(codePoint){if(codePoint>=55296&&codePoint<=57343||codePoint>1114111){return"�"}if(codePoint in decodeMap){codePoint=decodeMap[codePoint]}var output="";if(codePoint>65535){codePoint-=65536;output+=String.fromCharCode(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}output+=String.fromCharCode(codePoint);return output}},{"../maps/decode.json":103}],102:[function(require,module,exports){var inverseXML=getInverseObj(require("../maps/xml.json")),xmlReplacer=getInverseReplacer(inverseXML);exports.XML=getInverse(inverseXML,xmlReplacer);var inverseHTML=getInverseObj(require("../maps/entities.json")),htmlReplacer=getInverseReplacer(inverseHTML);exports.HTML=getInverse(inverseHTML,htmlReplacer);function getInverseObj(obj){return Object.keys(obj).sort().reduce(function(inverse,name){inverse[obj[name]]="&"+name+";";return inverse},{})}function getInverseReplacer(inverse){var single=[],multiple=[];Object.keys(inverse).forEach(function(k){if(k.length===1){single.push("\\"+k)}else{multiple.push(k)}});multiple.unshift("["+single.join("")+"]");return new RegExp(multiple.join("|"),"g")}var re_nonASCII=/[^\0-\x7F]/g,re_astralSymbols=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function singleCharReplacer(c){return"&#x"+c.charCodeAt(0).toString(16).toUpperCase()+";"}function astralReplacer(c){var high=c.charCodeAt(0);var low=c.charCodeAt(1);var codePoint=(high-55296)*1024+low-56320+65536;return"&#x"+codePoint.toString(16).toUpperCase()+";"}function getInverse(inverse,re){function func(name){return inverse[name]}return function(data){return data.replace(re,func).replace(re_astralSymbols,astralReplacer).replace(re_nonASCII,singleCharReplacer)}}var re_xmlChars=getInverseReplacer(inverseXML);function escapeXML(data){return data.replace(re_xmlChars,singleCharReplacer).replace(re_astralSymbols,astralReplacer).replace(re_nonASCII,singleCharReplacer)}exports.escape=escapeXML},{"../maps/entities.json":104,"../maps/xml.json":106}],103:[function(require,module,exports){module.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},{}],104:[function(require,module,exports){module.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",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:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",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:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",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:"÷",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:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",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:"ð",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:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",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:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",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:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",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:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",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:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",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:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",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:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",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:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",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:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",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:"ñ",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:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",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:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",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:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",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:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",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:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",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:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",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:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",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:"ß",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:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",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:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",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:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",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:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",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:"‌"}
},{}],105:[function(require,module,exports){module.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},{}],106:[function(require,module,exports){module.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},{}],107:[function(require,module,exports){module.exports=CollectingHandler;function CollectingHandler(cbs){this._cbs=cbs||{};this.events=[]}var EVENTS=require("./").EVENTS;Object.keys(EVENTS).forEach(function(name){if(EVENTS[name]===0){name="on"+name;CollectingHandler.prototype[name]=function(){this.events.push([name]);if(this._cbs[name])this._cbs[name]()}}else if(EVENTS[name]===1){name="on"+name;CollectingHandler.prototype[name]=function(a){this.events.push([name,a]);if(this._cbs[name])this._cbs[name](a)}}else if(EVENTS[name]===2){name="on"+name;CollectingHandler.prototype[name]=function(a,b){this.events.push([name,a,b]);if(this._cbs[name])this._cbs[name](a,b)}}else{throw Error("wrong number of arguments")}});CollectingHandler.prototype.onreset=function(){this.events=[];if(this._cbs.onreset)this._cbs.onreset()};CollectingHandler.prototype.restart=function(){if(this._cbs.onreset)this._cbs.onreset();for(var i=0,len=this.events.length;i<len;i++){if(this._cbs[this.events[i][0]]){var num=this.events[i].length;if(num===1){this._cbs[this.events[i][0]]()}else if(num===2){this._cbs[this.events[i][0]](this.events[i][1])}else{this._cbs[this.events[i][0]](this.events[i][1],this.events[i][2])}}}}},{"./":114}],108:[function(require,module,exports){var index=require("./index.js"),DomHandler=index.DomHandler,DomUtils=index.DomUtils;function FeedHandler(callback,options){this.init(callback,options)}require("util").inherits(FeedHandler,DomHandler);FeedHandler.prototype.init=DomHandler;function getElements(what,where){return DomUtils.getElementsByTagName(what,where,true)}function getOneElement(what,where){return DomUtils.getElementsByTagName(what,where,true,1)[0]}function fetch(what,where,recurse){return DomUtils.getText(DomUtils.getElementsByTagName(what,where,recurse,1)).trim()}function addConditionally(obj,prop,what,where,recurse){var tmp=fetch(what,where,recurse);if(tmp)obj[prop]=tmp}var isValidFeed=function(value){return value==="rss"||value==="feed"||value==="rdf:RDF"};FeedHandler.prototype.onend=function(){var feed={},feedRoot=getOneElement(isValidFeed,this.dom),tmp,childs;if(feedRoot){if(feedRoot.name==="feed"){childs=feedRoot.children;feed.type="atom";addConditionally(feed,"id","id",childs);addConditionally(feed,"title","title",childs);if((tmp=getOneElement("link",childs))&&(tmp=tmp.attribs)&&(tmp=tmp.href))feed.link=tmp;addConditionally(feed,"description","subtitle",childs);if(tmp=fetch("updated",childs))feed.updated=new Date(tmp);addConditionally(feed,"author","email",childs,true);feed.items=getElements("entry",childs).map(function(item){var entry={},tmp;item=item.children;addConditionally(entry,"id","id",item);addConditionally(entry,"title","title",item);if((tmp=getOneElement("link",item))&&(tmp=tmp.attribs)&&(tmp=tmp.href))entry.link=tmp;addConditionally(entry,"description","summary",item);if(tmp=fetch("updated",item))entry.pubDate=new Date(tmp);return entry})}else{childs=getOneElement("channel",feedRoot.children).children;feed.type=feedRoot.name.substr(0,3);feed.id="";addConditionally(feed,"title","title",childs);addConditionally(feed,"link","link",childs);addConditionally(feed,"description","description",childs);if(tmp=fetch("lastBuildDate",childs))feed.updated=new Date(tmp);addConditionally(feed,"author","managingEditor",childs,true);feed.items=getElements("item",feedRoot.children).map(function(item){var entry={},tmp;item=item.children;addConditionally(entry,"id","guid",item);addConditionally(entry,"title","title",item);addConditionally(entry,"link","link",item);addConditionally(entry,"description","description",item);if(tmp=fetch("pubDate",item))entry.pubDate=new Date(tmp);return entry})}}this.dom=feed;DomHandler.prototype._handleCallback.call(this,feedRoot?null:Error("couldn't find root of feed"))};module.exports=FeedHandler},{"./index.js":114,util:65}],109:[function(require,module,exports){var Tokenizer=require("./Tokenizer.js");var formTags={input:true,option:true,optgroup:true,select:true,button:true,datalist:true,textarea:true};var openImpliesClose={tr:{tr:true,th:true,td:true},th:{th:true},td:{thead:true,td:true},body:{head:true,link:true,script:true},li:{li:true},p:{p:true},select:formTags,input:formTags,output:formTags,button:formTags,datalist:formTags,textarea:formTags,option:{option:true},optgroup:{optgroup:true}};var voidElements={__proto__:null,area:true,base:true,basefont:true,br:true,col:true,command:true,embed:true,frame:true,hr:true,img:true,input:true,isindex:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true,path:true,circle:true,ellipse:true,line:true,rect:true,use:true};var re_nameEnd=/\s|\//;function Parser(cbs,options){this._options=options||{};this._cbs=cbs||{};this._tagname="";this._attribname="";this._attribvalue="";this._attribs=null;this._stack=[];this.startIndex=0;this.endIndex=null;this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode;this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode;this._tokenizer=new Tokenizer(this._options,this)}require("util").inherits(Parser,require("events").EventEmitter);Parser.prototype._updatePosition=function(initialOffset){if(this.endIndex===null){if(this._tokenizer._sectionStart<=initialOffset){this.startIndex=0}else{this.startIndex=this._tokenizer._sectionStart-initialOffset}}else this.startIndex=this.endIndex+1;this.endIndex=this._tokenizer._index};Parser.prototype.ontext=function(data){this._updatePosition(1);this.endIndex--;if(this._cbs.ontext)this._cbs.ontext(data)};Parser.prototype.onopentagname=function(name){if(this._lowerCaseTagNames){name=name.toLowerCase()}this._tagname=name;if(!this._options.xmlMode&&name in openImpliesClose){for(var el;(el=this._stack[this._stack.length-1])in openImpliesClose[name];this.onclosetag(el));}if(this._options.xmlMode||!(name in voidElements)){this._stack.push(name)}if(this._cbs.onopentagname)this._cbs.onopentagname(name);if(this._cbs.onopentag)this._attribs={}};Parser.prototype.onopentagend=function(){this._updatePosition(1);if(this._attribs){if(this._cbs.onopentag)this._cbs.onopentag(this._tagname,this._attribs);this._attribs=null}if(!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in voidElements){this._cbs.onclosetag(this._tagname)}this._tagname=""};Parser.prototype.onclosetag=function(name){this._updatePosition(1);if(this._lowerCaseTagNames){name=name.toLowerCase()}if(this._stack.length&&(!(name in voidElements)||this._options.xmlMode)){var pos=this._stack.lastIndexOf(name);if(pos!==-1){if(this._cbs.onclosetag){pos=this._stack.length-pos;while(pos--)this._cbs.onclosetag(this._stack.pop())}else this._stack.length=pos}else if(name==="p"&&!this._options.xmlMode){this.onopentagname(name);this._closeCurrentTag()}}else if(!this._options.xmlMode&&(name==="br"||name==="p")){this.onopentagname(name);this._closeCurrentTag()}};Parser.prototype.onselfclosingtag=function(){if(this._options.xmlMode||this._options.recognizeSelfClosing){this._closeCurrentTag()}else{this.onopentagend()}};Parser.prototype._closeCurrentTag=function(){var name=this._tagname;this.onopentagend();if(this._stack[this._stack.length-1]===name){if(this._cbs.onclosetag){this._cbs.onclosetag(name)}this._stack.pop()}};Parser.prototype.onattribname=function(name){if(this._lowerCaseAttributeNames){name=name.toLowerCase()}this._attribname=name};Parser.prototype.onattribdata=function(value){this._attribvalue+=value};Parser.prototype.onattribend=function(){if(this._cbs.onattribute)this._cbs.onattribute(this._attribname,this._attribvalue);if(this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)){this._attribs[this._attribname]=this._attribvalue}this._attribname="";this._attribvalue=""};Parser.prototype._getInstructionName=function(value){var idx=value.search(re_nameEnd),name=idx<0?value:value.substr(0,idx);if(this._lowerCaseTagNames){name=name.toLowerCase()}return name};Parser.prototype.ondeclaration=function(value){if(this._cbs.onprocessinginstruction){var name=this._getInstructionName(value);this._cbs.onprocessinginstruction("!"+name,"!"+value)}};Parser.prototype.onprocessinginstruction=function(value){if(this._cbs.onprocessinginstruction){var name=this._getInstructionName(value);this._cbs.onprocessinginstruction("?"+name,"?"+value)}};Parser.prototype.oncomment=function(value){this._updatePosition(4);if(this._cbs.oncomment)this._cbs.oncomment(value);if(this._cbs.oncommentend)this._cbs.oncommentend()};Parser.prototype.oncdata=function(value){this._updatePosition(1);if(this._options.xmlMode||this._options.recognizeCDATA){if(this._cbs.oncdatastart)this._cbs.oncdatastart();if(this._cbs.ontext)this._cbs.ontext(value);if(this._cbs.oncdataend)this._cbs.oncdataend()}else{this.oncomment("[CDATA["+value+"]]")}};Parser.prototype.onerror=function(err){if(this._cbs.onerror)this._cbs.onerror(err)};Parser.prototype.onend=function(){if(this._cbs.onclosetag){for(var i=this._stack.length;i>0;this._cbs.onclosetag(this._stack[--i]));}if(this._cbs.onend)this._cbs.onend()};Parser.prototype.reset=function(){if(this._cbs.onreset)this._cbs.onreset();this._tokenizer.reset();this._tagname="";this._attribname="";this._attribs=null;this._stack=[]};Parser.prototype.parseComplete=function(data){this.reset();this.end(data)};Parser.prototype.write=function(chunk){this._tokenizer.write(chunk)};Parser.prototype.end=function(chunk){this._tokenizer.end(chunk)};Parser.prototype.pause=function(){this._tokenizer.pause()};Parser.prototype.resume=function(){this._tokenizer.resume()};Parser.prototype.parseChunk=Parser.prototype.write;Parser.prototype.done=Parser.prototype.end;module.exports=Parser},{"./Tokenizer.js":112,events:35,util:65}],110:[function(require,module,exports){module.exports=ProxyHandler;function ProxyHandler(cbs){this._cbs=cbs||{}}var EVENTS=require("./").EVENTS;Object.keys(EVENTS).forEach(function(name){if(EVENTS[name]===0){name="on"+name;ProxyHandler.prototype[name]=function(){if(this._cbs[name])this._cbs[name]()}}else if(EVENTS[name]===1){name="on"+name;ProxyHandler.prototype[name]=function(a){if(this._cbs[name])this._cbs[name](a)}}else if(EVENTS[name]===2){name="on"+name;ProxyHandler.prototype[name]=function(a,b){if(this._cbs[name])this._cbs[name](a,b)}}else{throw Error("wrong number of arguments")}})},{"./":114}],111:[function(require,module,exports){module.exports=Stream;var Parser=require("./WritableStream.js");function Stream(options){Parser.call(this,new Cbs(this),options)}require("util").inherits(Stream,Parser);Stream.prototype.readable=true;function Cbs(scope){this.scope=scope}var EVENTS=require("../").EVENTS;Object.keys(EVENTS).forEach(function(name){if(EVENTS[name]===0){Cbs.prototype["on"+name]=function(){this.scope.emit(name)}}else if(EVENTS[name]===1){Cbs.prototype["on"+name]=function(a){this.scope.emit(name,a)}}else if(EVENTS[name]===2){Cbs.prototype["on"+name]=function(a,b){this.scope.emit(name,a,b)}}else{throw Error("wrong number of arguments!")}})},{"../":114,"./WritableStream.js":113,util:65}],112:[function(require,module,exports){module.exports=Tokenizer;var decodeCodePoint=require("entities/lib/decode_codepoint.js"),entityMap=require("entities/maps/entities.json"),legacyMap=require("entities/maps/legacy.json"),xmlMap=require("entities/maps/xml.json"),i=0,TEXT=i++,BEFORE_TAG_NAME=i++,IN_TAG_NAME=i++,IN_SELF_CLOSING_TAG=i++,BEFORE_CLOSING_TAG_NAME=i++,IN_CLOSING_TAG_NAME=i++,AFTER_CLOSING_TAG_NAME=i++,BEFORE_ATTRIBUTE_NAME=i++,IN_ATTRIBUTE_NAME=i++,AFTER_ATTRIBUTE_NAME=i++,BEFORE_ATTRIBUTE_VALUE=i++,IN_ATTRIBUTE_VALUE_DQ=i++,IN_ATTRIBUTE_VALUE_SQ=i++,IN_ATTRIBUTE_VALUE_NQ=i++,BEFORE_DECLARATION=i++,IN_DECLARATION=i++,IN_PROCESSING_INSTRUCTION=i++,BEFORE_COMMENT=i++,IN_COMMENT=i++,AFTER_COMMENT_1=i++,AFTER_COMMENT_2=i++,BEFORE_CDATA_1=i++,BEFORE_CDATA_2=i++,BEFORE_CDATA_3=i++,BEFORE_CDATA_4=i++,BEFORE_CDATA_5=i++,BEFORE_CDATA_6=i++,IN_CDATA=i++,AFTER_CDATA_1=i++,AFTER_CDATA_2=i++,BEFORE_SPECIAL=i++,BEFORE_SPECIAL_END=i++,BEFORE_SCRIPT_1=i++,BEFORE_SCRIPT_2=i++,BEFORE_SCRIPT_3=i++,BEFORE_SCRIPT_4=i++,BEFORE_SCRIPT_5=i++,AFTER_SCRIPT_1=i++,AFTER_SCRIPT_2=i++,AFTER_SCRIPT_3=i++,AFTER_SCRIPT_4=i++,AFTER_SCRIPT_5=i++,BEFORE_STYLE_1=i++,BEFORE_STYLE_2=i++,BEFORE_STYLE_3=i++,BEFORE_STYLE_4=i++,AFTER_STYLE_1=i++,AFTER_STYLE_2=i++,AFTER_STYLE_3=i++,AFTER_STYLE_4=i++,BEFORE_ENTITY=i++,BEFORE_NUMERIC_ENTITY=i++,IN_NAMED_ENTITY=i++,IN_NUMERIC_ENTITY=i++,IN_HEX_ENTITY=i++,j=0,SPECIAL_NONE=j++,SPECIAL_SCRIPT=j++,SPECIAL_STYLE=j++;function whitespace(c){return c===" "||c==="\n"||c===" "||c==="\f"||c==="\r"}function characterState(char,SUCCESS){return function(c){if(c===char)this._state=SUCCESS}}function ifElseState(upper,SUCCESS,FAILURE){var lower=upper.toLowerCase();if(upper===lower){return function(c){if(c===lower){this._state=SUCCESS}else{this._state=FAILURE;this._index--}}}else{return function(c){if(c===lower||c===upper){this._state=SUCCESS}else{this._state=FAILURE;this._index--}}}}function consumeSpecialNameChar(upper,NEXT_STATE){var lower=upper.toLowerCase();return function(c){if(c===lower||c===upper){this._state=NEXT_STATE}else{this._state=IN_TAG_NAME;this._index--}}}function Tokenizer(options,cbs){this._state=TEXT;this._buffer="";this._sectionStart=0;this._index=0;this._baseState=TEXT;this._special=SPECIAL_NONE;this._cbs=cbs;this._running=true;this._ended=false;this._xmlMode=!!(options&&options.xmlMode);this._decodeEntities=!!(options&&options.decodeEntities)}Tokenizer.prototype._stateText=function(c){if(c==="<"){if(this._index>this._sectionStart){this._cbs.ontext(this._getSection())}this._state=BEFORE_TAG_NAME;this._sectionStart=this._index}else if(this._decodeEntities&&this._special===SPECIAL_NONE&&c==="&"){if(this._index>this._sectionStart){this._cbs.ontext(this._getSection())}this._baseState=TEXT;this._state=BEFORE_ENTITY;this._sectionStart=this._index}};Tokenizer.prototype._stateBeforeTagName=function(c){if(c==="/"){this._state=BEFORE_CLOSING_TAG_NAME}else if(c===">"||this._special!==SPECIAL_NONE||whitespace(c)){this._state=TEXT}else if(c==="!"){this._state=BEFORE_DECLARATION;this._sectionStart=this._index+1}else if(c==="?"){this._state=IN_PROCESSING_INSTRUCTION;this._sectionStart=this._index+1}else if(c==="<"){this._cbs.ontext(this._getSection());this._sectionStart=this._index}else{this._state=!this._xmlMode&&(c==="s"||c==="S")?BEFORE_SPECIAL:IN_TAG_NAME;this._sectionStart=this._index}};Tokenizer.prototype._stateInTagName=function(c){if(c==="/"||c===">"||whitespace(c)){this._emitToken("onopentagname");this._state=BEFORE_ATTRIBUTE_NAME;this._index--}};Tokenizer.prototype._stateBeforeCloseingTagName=function(c){if(whitespace(c));else if(c===">"){this._state=TEXT}else if(this._special!==SPECIAL_NONE){if(c==="s"||c==="S"){this._state=BEFORE_SPECIAL_END}else{this._state=TEXT;this._index--}}else{this._state=IN_CLOSING_TAG_NAME;this._sectionStart=this._index}};Tokenizer.prototype._stateInCloseingTagName=function(c){if(c===">"||whitespace(c)){this._emitToken("onclosetag");this._state=AFTER_CLOSING_TAG_NAME;this._index--}};Tokenizer.prototype._stateAfterCloseingTagName=function(c){if(c===">"){this._state=TEXT;this._sectionStart=this._index+1}};Tokenizer.prototype._stateBeforeAttributeName=function(c){if(c===">"){this._cbs.onopentagend();this._state=TEXT;this._sectionStart=this._index+1}else if(c==="/"){this._state=IN_SELF_CLOSING_TAG}else if(!whitespace(c)){this._state=IN_ATTRIBUTE_NAME;this._sectionStart=this._index}};Tokenizer.prototype._stateInSelfClosingTag=function(c){if(c===">"){this._cbs.onselfclosingtag();this._state=TEXT;this._sectionStart=this._index+1}else if(!whitespace(c)){this._state=BEFORE_ATTRIBUTE_NAME;this._index--}};Tokenizer.prototype._stateInAttributeName=function(c){if(c==="="||c==="/"||c===">"||whitespace(c)){this._cbs.onattribname(this._getSection());this._sectionStart=-1;this._state=AFTER_ATTRIBUTE_NAME;this._index--}};Tokenizer.prototype._stateAfterAttributeName=function(c){if(c==="="){this._state=BEFORE_ATTRIBUTE_VALUE}else if(c==="/"||c===">"){this._cbs.onattribend();this._state=BEFORE_ATTRIBUTE_NAME;this._index--}else if(!whitespace(c)){this._cbs.onattribend();this._state=IN_ATTRIBUTE_NAME;this._sectionStart=this._index}};Tokenizer.prototype._stateBeforeAttributeValue=function(c){if(c==='"'){this._state=IN_ATTRIBUTE_VALUE_DQ;this._sectionStart=this._index+1}else if(c==="'"){this._state=IN_ATTRIBUTE_VALUE_SQ;this._sectionStart=this._index+1}else if(!whitespace(c)){this._state=IN_ATTRIBUTE_VALUE_NQ;this._sectionStart=this._index;this._index--}};Tokenizer.prototype._stateInAttributeValueDoubleQuotes=function(c){if(c==='"'){this._emitToken("onattribdata");this._cbs.onattribend();this._state=BEFORE_ATTRIBUTE_NAME}else if(this._decodeEntities&&c==="&"){this._emitToken("onattribdata");this._baseState=this._state;this._state=BEFORE_ENTITY;this._sectionStart=this._index}};Tokenizer.prototype._stateInAttributeValueSingleQuotes=function(c){if(c==="'"){this._emitToken("onattribdata");this._cbs.onattribend();this._state=BEFORE_ATTRIBUTE_NAME}else if(this._decodeEntities&&c==="&"){this._emitToken("onattribdata");this._baseState=this._state;this._state=BEFORE_ENTITY;this._sectionStart=this._index}};Tokenizer.prototype._stateInAttributeValueNoQuotes=function(c){if(whitespace(c)||c===">"){this._emitToken("onattribdata");this._cbs.onattribend();this._state=BEFORE_ATTRIBUTE_NAME;this._index--}else if(this._decodeEntities&&c==="&"){this._emitToken("onattribdata");this._baseState=this._state;this._state=BEFORE_ENTITY;this._sectionStart=this._index}};Tokenizer.prototype._stateBeforeDeclaration=function(c){this._state=c==="["?BEFORE_CDATA_1:c==="-"?BEFORE_COMMENT:IN_DECLARATION};Tokenizer.prototype._stateInDeclaration=function(c){if(c===">"){this._cbs.ondeclaration(this._getSection());this._state=TEXT;this._sectionStart=this._index+1}};Tokenizer.prototype._stateInProcessingInstruction=function(c){if(c===">"){this._cbs.onprocessinginstruction(this._getSection());this._state=TEXT;this._sectionStart=this._index+1}};Tokenizer.prototype._stateBeforeComment=function(c){if(c==="-"){this._state=IN_COMMENT;this._sectionStart=this._index+1}else{this._state=IN_DECLARATION}};Tokenizer.prototype._stateInComment=function(c){if(c==="-")this._state=AFTER_COMMENT_1};Tokenizer.prototype._stateAfterComment1=function(c){if(c==="-"){this._state=AFTER_COMMENT_2}else{this._state=IN_COMMENT}};Tokenizer.prototype._stateAfterComment2=function(c){if(c===">"){this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2));this._state=TEXT;this._sectionStart=this._index+1}else if(c!=="-"){this._state=IN_COMMENT}};Tokenizer.prototype._stateBeforeCdata1=ifElseState("C",BEFORE_CDATA_2,IN_DECLARATION);Tokenizer.prototype._stateBeforeCdata2=ifElseState("D",BEFORE_CDATA_3,IN_DECLARATION);Tokenizer.prototype._stateBeforeCdata3=ifElseState("A",BEFORE_CDATA_4,IN_DECLARATION);Tokenizer.prototype._stateBeforeCdata4=ifElseState("T",BEFORE_CDATA_5,IN_DECLARATION);Tokenizer.prototype._stateBeforeCdata5=ifElseState("A",BEFORE_CDATA_6,IN_DECLARATION);Tokenizer.prototype._stateBeforeCdata6=function(c){if(c==="["){this._state=IN_CDATA;this._sectionStart=this._index+1}else{this._state=IN_DECLARATION;this._index--}};Tokenizer.prototype._stateInCdata=function(c){if(c==="]")this._state=AFTER_CDATA_1};Tokenizer.prototype._stateAfterCdata1=characterState("]",AFTER_CDATA_2);Tokenizer.prototype._stateAfterCdata2=function(c){if(c===">"){this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2));this._state=TEXT;this._sectionStart=this._index+1}else if(c!=="]"){this._state=IN_CDATA}};Tokenizer.prototype._stateBeforeSpecial=function(c){if(c==="c"||c==="C"){this._state=BEFORE_SCRIPT_1}else if(c==="t"||c==="T"){this._state=BEFORE_STYLE_1}else{this._state=IN_TAG_NAME;this._index--}};Tokenizer.prototype._stateBeforeSpecialEnd=function(c){if(this._special===SPECIAL_SCRIPT&&(c==="c"||c==="C")){this._state=AFTER_SCRIPT_1}else if(this._special===SPECIAL_STYLE&&(c==="t"||c==="T")){this._state=AFTER_STYLE_1}else this._state=TEXT};Tokenizer.prototype._stateBeforeScript1=consumeSpecialNameChar("R",BEFORE_SCRIPT_2);Tokenizer.prototype._stateBeforeScript2=consumeSpecialNameChar("I",BEFORE_SCRIPT_3);Tokenizer.prototype._stateBeforeScript3=consumeSpecialNameChar("P",BEFORE_SCRIPT_4);Tokenizer.prototype._stateBeforeScript4=consumeSpecialNameChar("T",BEFORE_SCRIPT_5);Tokenizer.prototype._stateBeforeScript5=function(c){if(c==="/"||c===">"||whitespace(c)){this._special=SPECIAL_SCRIPT}this._state=IN_TAG_NAME;this._index--};Tokenizer.prototype._stateAfterScript1=ifElseState("R",AFTER_SCRIPT_2,TEXT);Tokenizer.prototype._stateAfterScript2=ifElseState("I",AFTER_SCRIPT_3,TEXT);Tokenizer.prototype._stateAfterScript3=ifElseState("P",AFTER_SCRIPT_4,TEXT);Tokenizer.prototype._stateAfterScript4=ifElseState("T",AFTER_SCRIPT_5,TEXT);Tokenizer.prototype._stateAfterScript5=function(c){if(c===">"||whitespace(c)){this._special=SPECIAL_NONE;this._state=IN_CLOSING_TAG_NAME;this._sectionStart=this._index-6;this._index--}else this._state=TEXT};Tokenizer.prototype._stateBeforeStyle1=consumeSpecialNameChar("Y",BEFORE_STYLE_2);Tokenizer.prototype._stateBeforeStyle2=consumeSpecialNameChar("L",BEFORE_STYLE_3);Tokenizer.prototype._stateBeforeStyle3=consumeSpecialNameChar("E",BEFORE_STYLE_4);Tokenizer.prototype._stateBeforeStyle4=function(c){if(c==="/"||c===">"||whitespace(c)){this._special=SPECIAL_STYLE}this._state=IN_TAG_NAME;this._index--};Tokenizer.prototype._stateAfterStyle1=ifElseState("Y",AFTER_STYLE_2,TEXT);Tokenizer.prototype._stateAfterStyle2=ifElseState("L",AFTER_STYLE_3,TEXT);Tokenizer.prototype._stateAfterStyle3=ifElseState("E",AFTER_STYLE_4,TEXT);Tokenizer.prototype._stateAfterStyle4=function(c){if(c===">"||whitespace(c)){this._special=SPECIAL_NONE;this._state=IN_CLOSING_TAG_NAME;this._sectionStart=this._index-5;this._index--}else this._state=TEXT};Tokenizer.prototype._stateBeforeEntity=ifElseState("#",BEFORE_NUMERIC_ENTITY,IN_NAMED_ENTITY);Tokenizer.prototype._stateBeforeNumericEntity=ifElseState("X",IN_HEX_ENTITY,IN_NUMERIC_ENTITY);Tokenizer.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+1<this._index){var entity=this._buffer.substring(this._sectionStart+1,this._index),map=this._xmlMode?xmlMap:entityMap;if(map.hasOwnProperty(entity)){this._emitPartial(map[entity]);this._sectionStart=this._index+1}}};Tokenizer.prototype._parseLegacyEntity=function(){var start=this._sectionStart+1,limit=this._index-start;if(limit>6)limit=6;while(limit>=2){var entity=this._buffer.substr(start,limit);if(legacyMap.hasOwnProperty(entity)){this._emitPartial(legacyMap[entity]);this._sectionStart+=limit+1;return}else{limit--}}};Tokenizer.prototype._stateInNamedEntity=function(c){if(c===";"){this._parseNamedEntityStrict();if(this._sectionStart+1<this._index&&!this._xmlMode){this._parseLegacyEntity()}this._state=this._baseState}else if((c<"a"||c>"z")&&(c<"A"||c>"Z")&&(c<"0"||c>"9")){if(this._xmlMode);else if(this._sectionStart+1===this._index);else if(this._baseState!==TEXT){if(c!=="="){this._parseNamedEntityStrict()}}else{this._parseLegacyEntity()}this._state=this._baseState;this._index--}};Tokenizer.prototype._decodeNumericEntity=function(offset,base){var sectionStart=this._sectionStart+offset;if(sectionStart!==this._index){var entity=this._buffer.substring(sectionStart,this._index);var parsed=parseInt(entity,base);this._emitPartial(decodeCodePoint(parsed));this._sectionStart=this._index}else{this._sectionStart--}this._state=this._baseState};Tokenizer.prototype._stateInNumericEntity=function(c){if(c===";"){this._decodeNumericEntity(2,10);this._sectionStart++}else if(c<"0"||c>"9"){if(!this._xmlMode){this._decodeNumericEntity(2,10)}else{this._state=this._baseState}this._index--}};Tokenizer.prototype._stateInHexEntity=function(c){if(c===";"){this._decodeNumericEntity(3,16);this._sectionStart++}else if((c<"a"||c>"f")&&(c<"A"||c>"F")&&(c<"0"||c>"9")){if(!this._xmlMode){this._decodeNumericEntity(3,16)}else{this._state=this._baseState}this._index--}};Tokenizer.prototype._cleanup=function(){if(this._sectionStart<0){this._buffer="";this._index=0}else if(this._running){if(this._state===TEXT){if(this._sectionStart!==this._index){this._cbs.ontext(this._buffer.substr(this._sectionStart))}this._buffer="";this._index=0}else if(this._sectionStart===this._index){this._buffer="";this._index=0}else{this._buffer=this._buffer.substr(this._sectionStart);this._index-=this._sectionStart}this._sectionStart=0}};Tokenizer.prototype.write=function(chunk){if(this._ended)this._cbs.onerror(Error(".write() after done!"));this._buffer+=chunk;this._parse()};Tokenizer.prototype._parse=function(){while(this._index<this._buffer.length&&this._running){var c=this._buffer.charAt(this._index);if(this._state===TEXT){this._stateText(c)}else if(this._state===BEFORE_TAG_NAME){this._stateBeforeTagName(c)}else if(this._state===IN_TAG_NAME){this._stateInTagName(c)}else if(this._state===BEFORE_CLOSING_TAG_NAME){this._stateBeforeCloseingTagName(c)}else if(this._state===IN_CLOSING_TAG_NAME){this._stateInCloseingTagName(c)}else if(this._state===AFTER_CLOSING_TAG_NAME){this._stateAfterCloseingTagName(c)}else if(this._state===IN_SELF_CLOSING_TAG){this._stateInSelfClosingTag(c)}else if(this._state===BEFORE_ATTRIBUTE_NAME){this._stateBeforeAttributeName(c)}else if(this._state===IN_ATTRIBUTE_NAME){this._stateInAttributeName(c)}else if(this._state===AFTER_ATTRIBUTE_NAME){this._stateAfterAttributeName(c)}else if(this._state===BEFORE_ATTRIBUTE_VALUE){this._stateBeforeAttributeValue(c)}else if(this._state===IN_ATTRIBUTE_VALUE_DQ){this._stateInAttributeValueDoubleQuotes(c)}else if(this._state===IN_ATTRIBUTE_VALUE_SQ){this._stateInAttributeValueSingleQuotes(c)}else if(this._state===IN_ATTRIBUTE_VALUE_NQ){this._stateInAttributeValueNoQuotes(c)}else if(this._state===BEFORE_DECLARATION){this._stateBeforeDeclaration(c)}else if(this._state===IN_DECLARATION){this._stateInDeclaration(c)}else if(this._state===IN_PROCESSING_INSTRUCTION){this._stateInProcessingInstruction(c)}else if(this._state===BEFORE_COMMENT){this._stateBeforeComment(c)}else if(this._state===IN_COMMENT){this._stateInComment(c)}else if(this._state===AFTER_COMMENT_1){this._stateAfterComment1(c)}else if(this._state===AFTER_COMMENT_2){this._stateAfterComment2(c)}else if(this._state===BEFORE_CDATA_1){this._stateBeforeCdata1(c)}else if(this._state===BEFORE_CDATA_2){this._stateBeforeCdata2(c)}else if(this._state===BEFORE_CDATA_3){this._stateBeforeCdata3(c)}else if(this._state===BEFORE_CDATA_4){this._stateBeforeCdata4(c)}else if(this._state===BEFORE_CDATA_5){this._stateBeforeCdata5(c)}else if(this._state===BEFORE_CDATA_6){this._stateBeforeCdata6(c)}else if(this._state===IN_CDATA){this._stateInCdata(c)}else if(this._state===AFTER_CDATA_1){this._stateAfterCdata1(c)}else if(this._state===AFTER_CDATA_2){this._stateAfterCdata2(c)}else if(this._state===BEFORE_SPECIAL){this._stateBeforeSpecial(c)}else if(this._state===BEFORE_SPECIAL_END){this._stateBeforeSpecialEnd(c)}else if(this._state===BEFORE_SCRIPT_1){this._stateBeforeScript1(c)}else if(this._state===BEFORE_SCRIPT_2){this._stateBeforeScript2(c)}else if(this._state===BEFORE_SCRIPT_3){this._stateBeforeScript3(c)}else if(this._state===BEFORE_SCRIPT_4){this._stateBeforeScript4(c)}else if(this._state===BEFORE_SCRIPT_5){this._stateBeforeScript5(c)}else if(this._state===AFTER_SCRIPT_1){this._stateAfterScript1(c)}else if(this._state===AFTER_SCRIPT_2){this._stateAfterScript2(c)}else if(this._state===AFTER_SCRIPT_3){this._stateAfterScript3(c)}else if(this._state===AFTER_SCRIPT_4){this._stateAfterScript4(c)}else if(this._state===AFTER_SCRIPT_5){this._stateAfterScript5(c)}else if(this._state===BEFORE_STYLE_1){this._stateBeforeStyle1(c)}else if(this._state===BEFORE_STYLE_2){this._stateBeforeStyle2(c)}else if(this._state===BEFORE_STYLE_3){this._stateBeforeStyle3(c)}else if(this._state===BEFORE_STYLE_4){this._stateBeforeStyle4(c)}else if(this._state===AFTER_STYLE_1){this._stateAfterStyle1(c)}else if(this._state===AFTER_STYLE_2){this._stateAfterStyle2(c)}else if(this._state===AFTER_STYLE_3){this._stateAfterStyle3(c)}else if(this._state===AFTER_STYLE_4){this._stateAfterStyle4(c)}else if(this._state===BEFORE_ENTITY){this._stateBeforeEntity(c)}else if(this._state===BEFORE_NUMERIC_ENTITY){this._stateBeforeNumericEntity(c)}else if(this._state===IN_NAMED_ENTITY){this._stateInNamedEntity(c)}else if(this._state===IN_NUMERIC_ENTITY){this._stateInNumericEntity(c)}else if(this._state===IN_HEX_ENTITY){this._stateInHexEntity(c)}else{this._cbs.onerror(Error("unknown _state"),this._state)}this._index++}this._cleanup()};Tokenizer.prototype.pause=function(){this._running=false};Tokenizer.prototype.resume=function(){this._running=true;if(this._index<this._buffer.length){this._parse()}if(this._ended){this._finish()}};Tokenizer.prototype.end=function(chunk){if(this._ended)this._cbs.onerror(Error(".end() after done!"));if(chunk)this.write(chunk);this._ended=true;if(this._running)this._finish()};Tokenizer.prototype._finish=function(){if(this._sectionStart<this._index){this._handleTrailingData()}this._cbs.onend()};Tokenizer.prototype._handleTrailingData=function(){var data=this._buffer.substr(this._sectionStart);if(this._state===IN_CDATA||this._state===AFTER_CDATA_1||this._state===AFTER_CDATA_2){this._cbs.oncdata(data)}else if(this._state===IN_COMMENT||this._state===AFTER_COMMENT_1||this._state===AFTER_COMMENT_2){this._cbs.oncomment(data)}else if(this._state===IN_NAMED_ENTITY&&!this._xmlMode){this._parseLegacyEntity();if(this._sectionStart<this._index){this._state=this._baseState;this._handleTrailingData()}}else if(this._state===IN_NUMERIC_ENTITY&&!this._xmlMode){this._decodeNumericEntity(2,10);if(this._sectionStart<this._index){this._state=this._baseState;this._handleTrailingData()}}else if(this._state===IN_HEX_ENTITY&&!this._xmlMode){this._decodeNumericEntity(3,16);if(this._sectionStart<this._index){this._state=this._baseState;this._handleTrailingData()}}else if(this._state!==IN_TAG_NAME&&this._state!==BEFORE_ATTRIBUTE_NAME&&this._state!==BEFORE_ATTRIBUTE_VALUE&&this._state!==AFTER_ATTRIBUTE_NAME&&this._state!==IN_ATTRIBUTE_NAME&&this._state!==IN_ATTRIBUTE_VALUE_SQ&&this._state!==IN_ATTRIBUTE_VALUE_DQ&&this._state!==IN_ATTRIBUTE_VALUE_NQ&&this._state!==IN_CLOSING_TAG_NAME){this._cbs.ontext(data)}};Tokenizer.prototype.reset=function(){Tokenizer.call(this,{xmlMode:this._xmlMode,decodeEntities:this._decodeEntities},this._cbs)};Tokenizer.prototype._getSection=function(){return this._buffer.substring(this._sectionStart,this._index)};Tokenizer.prototype._emitToken=function(name){this._cbs[name](this._getSection());this._sectionStart=-1};Tokenizer.prototype._emitPartial=function(value){if(this._baseState!==TEXT){this._cbs.onattribdata(value)}else{this._cbs.ontext(value)}}},{"entities/lib/decode_codepoint.js":124,"entities/maps/entities.json":126,"entities/maps/legacy.json":127,"entities/maps/xml.json":128}],113:[function(require,module,exports){module.exports=Stream;
var Parser=require("./Parser.js"),WritableStream=require("stream").Writable||require("readable-stream").Writable;function Stream(cbs,options){var parser=this._parser=new Parser(cbs,options);WritableStream.call(this,{decodeStrings:false});this.once("finish",function(){parser.end()})}require("util").inherits(Stream,WritableStream);WritableStream.prototype._write=function(chunk,encoding,cb){this._parser.write(chunk);cb()}},{"./Parser.js":109,"readable-stream":138,stream:61,util:65}],114:[function(require,module,exports){var Parser=require("./Parser.js"),DomHandler=require("domhandler");function defineProp(name,value){delete module.exports[name];module.exports[name]=value;return value}module.exports={Parser:Parser,Tokenizer:require("./Tokenizer.js"),ElementType:require("domelementtype"),DomHandler:DomHandler,get FeedHandler(){return defineProp("FeedHandler",require("./FeedHandler.js"))},get Stream(){return defineProp("Stream",require("./Stream.js"))},get WritableStream(){return defineProp("WritableStream",require("./WritableStream.js"))},get ProxyHandler(){return defineProp("ProxyHandler",require("./ProxyHandler.js"))},get DomUtils(){return defineProp("DomUtils",require("domutils"))},get CollectingHandler(){return defineProp("CollectingHandler",require("./CollectingHandler.js"))},DefaultHandler:DomHandler,get RssHandler(){return defineProp("RssHandler",this.FeedHandler)},parseDOM:function(data,options){var handler=new DomHandler(options);new Parser(handler,options).end(data);return handler.dom},parseFeed:function(feed,options){var handler=new module.exports.FeedHandler(options);new Parser(handler,options).end(feed);return handler.dom},createDomStream:function(cb,options,elementCb){var handler=new DomHandler(cb,options,elementCb);return new Parser(handler,options)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},{"./CollectingHandler.js":107,"./FeedHandler.js":108,"./Parser.js":109,"./ProxyHandler.js":110,"./Stream.js":111,"./Tokenizer.js":112,"./WritableStream.js":113,domelementtype:115,domhandler:116,domutils:117}],115:[function(require,module,exports){module.exports=require(96)},{}],116:[function(require,module,exports){var ElementType=require("domelementtype");var re_whitespace=/\s+/g;function DomHandler(callback,options,elementCB){if(typeof callback==="object"){elementCB=options;options=callback;callback=null}else if(typeof options==="function"){elementCB=options;options=defaultOpts}this._callback=callback;this._options=options||defaultOpts;this._elementCB=elementCB;this.dom=[];this._done=false;this._tagStack=[]}var defaultOpts={normalizeWhitespace:false};DomHandler.prototype.onreset=function(){DomHandler.call(this,this._callback,this._options,this._elementCB)};DomHandler.prototype.onend=function(){if(this._done)return;this._done=true;this._handleCallback(null)};DomHandler.prototype._handleCallback=DomHandler.prototype.onerror=function(error){if(typeof this._callback==="function"){this._callback(error,this.dom)}else{if(error)throw error}};DomHandler.prototype.onclosetag=function(){var elem=this._tagStack.pop();if(this._elementCB)this._elementCB(elem)};DomHandler.prototype._addDomElement=function(element){var parent=this._tagStack[this._tagStack.length-1];var siblings=parent?parent.children:this.dom;var previousSibling=siblings[siblings.length-1];element.next=null;if(this._options.withDomLvl1){element.__proto__=NodePrototype}if(previousSibling){element.prev=previousSibling;previousSibling.next=element}else{element.prev=null}siblings.push(element);element.parent=parent||null};var NodePrototype={get firstChild(){var children=this.children;return children&&children[0]||null},get lastChild(){var children=this.children;return children&&children[children.length-1]||null},get nodeType(){return nodeTypes[this.type]||nodeTypes.element}};var domLvl1={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"};var nodeTypes={element:1,text:3,cdata:4,comment:8};Object.keys(domLvl1).forEach(function(key){var shorthand=domLvl1[key];Object.defineProperty(NodePrototype,key,{get:function(){return this[shorthand]||null},set:function(val){this[shorthand]=val;return val}})});DomHandler.prototype.onopentag=function(name,attribs){var element={type:name==="script"?ElementType.Script:name==="style"?ElementType.Style:ElementType.Tag,name:name,attribs:attribs,children:[]};this._addDomElement(element);this._tagStack.push(element)};DomHandler.prototype.ontext=function(data){var normalize=this._options.normalizeWhitespace||this._options.ignoreWhitespace;var lastTag;if(!this._tagStack.length&&this.dom.length&&(lastTag=this.dom[this.dom.length-1]).type===ElementType.Text){if(normalize){lastTag.data=(lastTag.data+data).replace(re_whitespace," ")}else{lastTag.data+=data}}else{if(this._tagStack.length&&(lastTag=this._tagStack[this._tagStack.length-1])&&(lastTag=lastTag.children[lastTag.children.length-1])&&lastTag.type===ElementType.Text){if(normalize){lastTag.data=(lastTag.data+data).replace(re_whitespace," ")}else{lastTag.data+=data}}else{if(normalize){data=data.replace(re_whitespace," ")}this._addDomElement({data:data,type:ElementType.Text})}}};DomHandler.prototype.oncomment=function(data){var lastTag=this._tagStack[this._tagStack.length-1];if(lastTag&&lastTag.type===ElementType.Comment){lastTag.data+=data;return}var element={data:data,type:ElementType.Comment};this._addDomElement(element);this._tagStack.push(element)};DomHandler.prototype.oncdatastart=function(){var element={children:[{data:"",type:ElementType.Text}],type:ElementType.CDATA};this._addDomElement(element);this._tagStack.push(element)};DomHandler.prototype.oncommentend=DomHandler.prototype.oncdataend=function(){this._tagStack.pop()};DomHandler.prototype.onprocessinginstruction=function(name,data){this._addDomElement({name:name,data:data,type:ElementType.Directive})};module.exports=DomHandler},{domelementtype:115}],117:[function(require,module,exports){arguments[4][89][0].apply(exports,arguments)},{"./lib/helpers":118,"./lib/legacy":119,"./lib/manipulation":120,"./lib/querying":121,"./lib/stringify":122,"./lib/traversal":123}],118:[function(require,module,exports){exports.removeSubsets=function(nodes){var idx=nodes.length,node,ancestor,replace;while(--idx>-1){node=ancestor=nodes[idx];nodes[idx]=null;replace=true;while(ancestor){if(nodes.indexOf(ancestor)>-1){replace=false;nodes.splice(idx,1);break}ancestor=ancestor.parent}if(replace){nodes[idx]=node}}return nodes};var POSITION={DISCONNECTED:1,PRECEDING:2,FOLLOWING:4,CONTAINS:8,CONTAINED_BY:16};var comparePos=exports.compareDocumentPosition=function(nodeA,nodeB){var aParents=[];var bParents=[];var current,sharedParent,siblings,aSibling,bSibling,idx;if(nodeA===nodeB){return 0}current=nodeA;while(current){aParents.unshift(current);current=current.parent}current=nodeB;while(current){bParents.unshift(current);current=current.parent}idx=0;while(aParents[idx]===bParents[idx]){idx++}if(idx===0){return POSITION.DISCONNECTED}sharedParent=aParents[idx-1];siblings=sharedParent.children;aSibling=aParents[idx];bSibling=bParents[idx];if(siblings.indexOf(aSibling)>siblings.indexOf(bSibling)){if(sharedParent===nodeB){return POSITION.FOLLOWING|POSITION.CONTAINED_BY}return POSITION.FOLLOWING}else{if(sharedParent===nodeA){return POSITION.PRECEDING|POSITION.CONTAINS}return POSITION.PRECEDING}};exports.uniqueSort=function(nodes){var idx=nodes.length,node,position;nodes=nodes.slice();while(--idx>-1){node=nodes[idx];position=nodes.indexOf(node);if(position>-1&&position<idx){nodes.splice(idx,1)}}nodes.sort(function(a,b){var relative=comparePos(a,b);if(relative&POSITION.PRECEDING){return-1}else if(relative&POSITION.FOLLOWING){return 1}return 0});return nodes}},{}],119:[function(require,module,exports){module.exports=require(91)},{domelementtype:115}],120:[function(require,module,exports){module.exports=require(92)},{}],121:[function(require,module,exports){module.exports=require(93)},{domelementtype:115}],122:[function(require,module,exports){module.exports=require(94)},{domelementtype:115}],123:[function(require,module,exports){module.exports=require(95)},{}],124:[function(require,module,exports){module.exports=require(101)},{"../maps/decode.json":125}],125:[function(require,module,exports){module.exports=require(103)},{}],126:[function(require,module,exports){module.exports=require(104)},{}],127:[function(require,module,exports){module.exports=require(105)},{}],128:[function(require,module,exports){module.exports=require(106)},{}],129:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{"./_stream_readable":131,"./_stream_writable":133,_process:44,"core-util-is":134,inherits:135}],130:[function(require,module,exports){arguments[4][51][0].apply(exports,arguments)},{"./_stream_transform":132,"core-util-is":134,inherits:135}],131:[function(require,module,exports){(function(process){module.exports=Readable;var isArray=require("isarray");var Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter;if(!EE.listenerCount)EE.listenerCount=function(emitter,type){return emitter.listeners(type).length};var Stream=require("stream");var util=require("core-util-is");util.inherits=require("inherits");var StringDecoder;var debug=require("util");if(debug&&debug.debuglog){debug=debug.debuglog("stream")}else{debug=function(){}}util.inherits(Readable,Stream);function ReadableState(options,stream){var Duplex=require("./_stream_duplex");options=options||{};var hwm=options.highWaterMark;var defaultHwm=options.objectMode?16:16*1024;this.highWaterMark=hwm||hwm===0?hwm:defaultHwm;this.highWaterMark=~~this.highWaterMark;this.buffer=[];this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.objectMode=!!options.objectMode;if(stream instanceof Duplex)this.objectMode=this.objectMode||!!options.readableObjectMode;this.defaultEncoding=options.defaultEncoding||"utf8";this.ranOut=false;this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){var Duplex=require("./_stream_duplex");if(!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this);this.readable=true;Stream.call(this)}Readable.prototype.push=function(chunk,encoding){var state=this._readableState;if(util.isString(chunk)&&!state.objectMode){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=new Buffer(chunk,encoding);encoding=""}}return readableAddChunk(this,state,chunk,encoding,false)};Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",true)};function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er){stream.emit("error",er)}else if(util.isNullOrUndefined(chunk)){state.reading=false;if(!state.ended)onEofChunk(stream,state)}else if(state.objectMode||chunk&&chunk.length>0){if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var e=new Error("stream.unshift() after end event");stream.emit("error",e)}else{if(state.decoder&&!addToFront&&!encoding)chunk=state.decoder.write(chunk);if(!addToFront)state.reading=false;if(state.flowing&&state.length===0&&!state.sync){stream.emit("data",chunk);stream.read(0)}else{state.length+=state.objectMode?1:chunk.length;if(addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream)}maybeReadMore(stream,state)}}else if(!addToFront){state.reading=false}return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this._readableState.decoder=new StringDecoder(enc);this._readableState.encoding=enc;return this};var MAX_HWM=8388608;function roundUpToNextPowerOf2(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;for(var p=1;p<32;p<<=1)n|=n>>p;n++}return n}function howMuchToRead(n,state){if(state.length===0&&state.ended)return 0;if(state.objectMode)return n===0?0:1;if(isNaN(n)||util.isNull(n)){if(state.flowing&&state.buffer.length)return state.buffer[0].length;else return state.length}if(n<=0)return 0;if(n>state.highWaterMark)state.highWaterMark=roundUpToNextPowerOf2(n);if(n>state.length){if(!state.ended){state.needReadable=true;return 0}else return state.length}return n}Readable.prototype.read=function(n){debug("read",n);var state=this._readableState;var nOrig=n;if(!util.isNumber(n)||n>0)state.emittedReadable=false;if(n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n<state.highWaterMark){doRead=true;debug("length less than watermark",doRead)}if(state.ended||state.reading){doRead=false;debug("reading or ended",doRead)}if(doRead){debug("do read");state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false}if(doRead&&!state.reading)n=howMuchToRead(nOrig,state);var ret;if(n>0)ret=fromList(n,state);else ret=null;if(util.isNull(ret)){state.needReadable=true;n=0}state.length-=n;if(state.length===0&&!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended&&state.length===0)endReadable(this);if(!util.isNull(ret))this.emit("data",ret);return ret};function chunkInvalid(state,chunk){var er=null;if(!util.isBuffer(chunk)&&!util.isString(chunk)&&!util.isNullOrUndefined(chunk)&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}return er}function onEofChunk(stream,state){if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;emitReadable(stream)}function emitReadable(stream){var state=stream._readableState;state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;if(state.sync)process.nextTick(function(){emitReadable_(stream)});else emitReadable_(stream)}}function emitReadable_(stream){debug("emit readable");stream.emit("readable");flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(function(){maybeReadMore_(stream,state)})}}function maybeReadMore_(stream,state){var len=state.length;while(!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark){debug("maybeReadMore read 0");stream.read(0);if(len===state.length)break;else len=state.length}state.readingMore=false}Readable.prototype._read=function(n){this.emit("error",new Error("not implemented"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:cleanup;if(state.endEmitted)process.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable){debug("onunpipe");if(readable===src){cleanup()}}function onend(){debug("onend");dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);function cleanup(){debug("cleanup");dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",cleanup);src.removeListener("data",ondata);if(state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain))ondrain()}src.on("data",ondata);function ondata(chunk){debug("ondata");var ret=dest.write(chunk);if(false===ret){debug("false write response, pause",src._readableState.awaitDrain);src._readableState.awaitDrain++;src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EE.listenerCount(dest,"error")===0)dest.emit("error",er)}if(!dest._events||!dest._events.error)dest.on("error",onerror);else if(isArray(dest._events.error))dest._events.error.unshift(onerror);else dest._events.error=[onerror,dest._events.error];function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EE.listenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i<len;i++)dests[i].emit("unpipe",this);return this}var i=indexOf(state.pipes,dest);if(i===-1)return this;state.pipes.splice(i,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(ev==="data"&&false!==this._readableState.flowing){this.resume()}if(ev==="readable"&&this.readable){var state=this._readableState;if(!state.readableListening){state.readableListening=true;state.emittedReadable=false;state.needReadable=true;if(!state.reading){var self=this;process.nextTick(function(){debug("readable nexttick read 0");self.read(0)})}else if(state.length){emitReadable(this,state)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=true;if(!state.reading){debug("resume read 0");this.read(0)}resume(this,state)}return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(function(){resume_(stream,state)})}}function resume_(stream,state){state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(false!==this._readableState.flowing){debug("pause");this._readableState.flowing=false;this.emit("pause")}return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);if(state.flowing){do{var chunk=stream.read()}while(null!==chunk&&state.flowing)}}Readable.prototype.wrap=function(stream){var state=this._readableState;var paused=false;var self=this;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)self.push(chunk)}self.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(!chunk||!state.objectMode&&!chunk.length)return;var ret=self.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(util.isFunction(stream[i])&&util.isUndefined(this[i])){this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i)}}var events=["error","close","destroy","pause","resume"];forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))});self._read=function(n){debug("wrapped _read",n);if(paused){paused=false;stream.resume()}};return self};Readable._fromList=fromList;function fromList(n,state){var list=state.buffer;var length=state.length;var stringMode=!!state.decoder;var objectMode=!!state.objectMode;var ret;if(list.length===0)return null;if(length===0)ret=null;else if(objectMode)ret=list.shift();else if(!n||n>=length){if(stringMode)ret=list.join("");else ret=Buffer.concat(list,length);list.length=0}else{if(n<list[0].length){var buf=list[0];ret=buf.slice(0,n);list[0]=buf.slice(n)}else if(n===list[0].length){ret=list.shift()}else{if(stringMode)ret="";else ret=new Buffer(n);var c=0;for(var i=0,l=list.length;i<l&&c<n;i++){var buf=list[0];var cpy=Math.min(n-c,buf.length);if(stringMode)ret+=buf.slice(0,cpy);else buf.copy(ret,c,0,cpy);if(cpy<buf.length)list[0]=buf.slice(cpy);else list.shift();c+=cpy}}}return ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error("endReadable called on non-empty stream");if(!state.endEmitted){state.ended=true;process.nextTick(function(){if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end")}})}}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++){f(xs[i],i)}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this,require("_process"))},{"./_stream_duplex":129,_process:44,buffer:19,"core-util-is":134,events:35,inherits:135,isarray:136,stream:61,"string_decoder/":137,util:5}],132:[function(require,module,exports){module.exports=Transform;var Duplex=require("./_stream_duplex");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(Transform,Duplex);function TransformState(options,stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)};this.needTransform=false;this.transforming=false;this.writecb=null;this.writechunk=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=false;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null;ts.writecb=null;if(!util.isNullOrUndefined(data))stream.push(data);if(cb)cb(er);var rs=stream._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){stream._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);this._transformState=new TransformState(options,this);var stream=this;this._readableState.needReadable=true;this._readableState.sync=false;this.once("prefinish",function(){if(util.isFunction(this._flush))this._flush(function(er){done(stream,er)});else done(stream)})}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(!util.isNull(ts.writechunk)&&ts.writecb&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};function done(stream,er){if(er)return stream.emit("error",er);var ws=stream._writableState;var ts=stream._transformState;if(ws.length)throw new Error("calling transform done when ws.length != 0");if(ts.transforming)throw new Error("calling transform done when still transforming");return stream.push(null)}},{"./_stream_duplex":129,"core-util-is":134,inherits:135}],133:[function(require,module,exports){(function(process){module.exports=Writable;var Buffer=require("buffer").Buffer;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var Stream=require("stream");util.inherits(Writable,Stream);function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb}function WritableState(options,stream){var Duplex=require("./_stream_duplex");options=options||{};var hwm=options.highWaterMark;var defaultHwm=options.objectMode?16:16*1024;this.highWaterMark=hwm||hwm===0?hwm:defaultHwm;this.objectMode=!!options.objectMode;if(stream instanceof Duplex)this.objectMode=this.objectMode||!!options.writableObjectMode;this.highWaterMark=~~this.highWaterMark;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.buffer=[];this.pendingcb=0;this.prefinished=false;this.errorEmitted=false}function Writable(options){var Duplex=require("./_stream_duplex");if(!(this instanceof Writable)&&!(this instanceof Duplex))return new Writable(options);this._writableState=new WritableState(options,this);this.writable=true;Stream.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))};function writeAfterEnd(stream,state,cb){var er=new Error("write after end");stream.emit("error",er);process.nextTick(function(){cb(er)})}function validChunk(stream,state,chunk,cb){var valid=true;if(!util.isBuffer(chunk)&&!util.isString(chunk)&&!util.isNullOrUndefined(chunk)&&!state.objectMode){var er=new TypeError("Invalid non-string/buffer chunk");stream.emit("error",er);process.nextTick(function(){cb(er)});valid=false}return valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;if(util.isFunction(encoding)){cb=encoding;encoding=null}if(util.isBuffer(chunk))encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(!util.isFunction(cb))cb=function(){};if(state.ended)writeAfterEnd(this,state,cb);else if(validChunk(this,state,chunk,cb)){state.pendingcb++;ret=writeOrBuffer(this,state,chunk,encoding,cb)}return ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++};Writable.prototype.uncork=function(){var state=this._writableState;if(state.corked){state.corked--;if(!state.writing&&!state.corked&&!state.finished&&!state.bufferProcessing&&state.buffer.length)clearBuffer(this,state)}};function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&util.isString(chunk)){chunk=new Buffer(chunk,encoding)}return chunk}function writeOrBuffer(stream,state,chunk,encoding,cb){chunk=decodeChunk(state,chunk,encoding);if(util.isBuffer(chunk))encoding="buffer";var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing||state.corked)state.buffer.push(new WriteReq(chunk,encoding,cb));else doWrite(stream,state,false,len,chunk,encoding,cb);return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){if(sync)process.nextTick(function(){state.pendingcb--;cb(er)});else{state.pendingcb--;cb(er)}stream._writableState.errorEmitted=true;stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(stream,state);if(!finished&&!state.corked&&!state.bufferProcessing&&state.buffer.length){clearBuffer(stream,state)}if(sync){process.nextTick(function(){afterWrite(stream,state,finished,cb)})}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);state.pendingcb--;cb();finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;if(stream._writev&&state.buffer.length>1){var cbs=[];for(var c=0;c<state.buffer.length;c++)cbs.push(state.buffer[c].callback);state.pendingcb++;doWrite(stream,state,true,state.length,state.buffer,"",function(err){for(var i=0;i<cbs.length;i++){state.pendingcb--;cbs[i](err)}});state.buffer=[]}else{for(var c=0;c<state.buffer.length;c++){var entry=state.buffer[c];var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,false,len,chunk,encoding,cb);if(state.writing){c++;break}}if(c<state.buffer.length)state.buffer=state.buffer.slice(c);else state.buffer.length=0}state.bufferProcessing=false}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("not implemented"))};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(util.isFunction(chunk)){cb=chunk;chunk=null;encoding=null}else if(util.isFunction(encoding)){cb=encoding;encoding=null}if(!util.isNullOrUndefined(chunk))this.write(chunk,encoding);if(state.corked){state.corked=1;this.uncork()}if(!state.ending&&!state.finished)endWritable(this,state,cb)};function needFinish(stream,state){return state.ending&&state.length===0&&!state.finished&&!state.writing}function prefinish(stream,state){if(!state.prefinished){state.prefinished=true;stream.emit("prefinish")}}function finishMaybe(stream,state){var need=needFinish(stream,state);if(need){if(state.pendingcb===0){prefinish(stream,state);state.finished=true;stream.emit("finish")}else prefinish(stream,state)}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)process.nextTick(cb);else stream.once("finish",cb)}state.ended=true}}).call(this,require("_process"))},{"./_stream_duplex":129,_process:44,buffer:19,"core-util-is":134,inherits:135,stream:61}],134:[function(require,module,exports){module.exports=require(55)},{buffer:19}],135:[function(require,module,exports){module.exports=require(41)},{}],136:[function(require,module,exports){module.exports=require(42)},{}],137:[function(require,module,exports){var Buffer=require("buffer").Buffer;var isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding)){throw new Error("Unknown encoding: "+encoding)}}var StringDecoder=exports.StringDecoder=function(encoding){this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,"");assertEncoding(encoding);switch(this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2;this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3;this.detectIncompleteChar=base64DetectIncompleteChar;
break;default:this.write=passThroughWrite;return}this.charBuffer=new Buffer(6);this.charReceived=0;this.charLength=0};StringDecoder.prototype.write=function(buffer){var charStr="";while(this.charLength){var available=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;buffer.copy(this.charBuffer,this.charReceived,0,available);this.charReceived+=available;if(this.charReceived<this.charLength){return""}buffer=buffer.slice(available,buffer.length);charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(charCode>=55296&&charCode<=56319){this.charLength+=this.surrogateSize;charStr="";continue}this.charReceived=this.charLength=0;if(buffer.length===0){return charStr}break}this.detectIncompleteChar(buffer);var end=buffer.length;if(this.charLength){buffer.copy(this.charBuffer,0,buffer.length-this.charReceived,end);end-=this.charReceived}charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1;var charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;this.charLength+=size;this.charReceived+=size;this.charBuffer.copy(this.charBuffer,size,0,size);buffer.copy(this.charBuffer,0,0,size);return charStr.substring(0,end)}return charStr};StringDecoder.prototype.detectIncompleteChar=function(buffer){var i=buffer.length>=3?3:buffer.length;for(;i>0;i--){var c=buffer[buffer.length-i];if(i==1&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=i};StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length)res=this.write(buffer);if(this.charReceived){var cr=this.charReceived;var buf=this.charBuffer;var enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res};function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){this.charReceived=buffer.length%2;this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(buffer){this.charReceived=buffer.length%3;this.charLength=this.charReceived?3:0}},{buffer:19}],138:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=require("stream");exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":129,"./lib/_stream_passthrough.js":130,"./lib/_stream_readable.js":131,"./lib/_stream_transform.js":132,"./lib/_stream_writable.js":133,stream:61}],139:[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:{})},{}],140:[function(require,module,exports){module.exports={name:"cheerio",version:"0.17.0",description:"Tiny, fast, and elegant implementation of core jQuery designed specifically for the server",author:{name:"Matt Mueller",email:"[email protected]",url:"mat.io"},keywords:["htmlparser","jquery","selector","scraper","parser","html"],repository:{type:"git",url:"git://github.com/MatthewMueller/cheerio.git"},main:"./index.js",engines:{node:">= 0.6"},dependencies:{CSSselect:"~0.4.0",entities:"~1.1.1",htmlparser2:"~3.7.2","dom-serializer":"~0.0.0",lodash:"~2.4.1"},devDependencies:{benchmark:"~1.0.0","expect.js":"~0.3.1",jsdom:"~0.8.9",jshint:"~2.3.0",mocha:"*",xyz:"~0.3.0"},scripts:{test:"make test"},readme:"# cheerio [![Build Status](https://secure.travis-ci.org/cheeriojs/cheerio.svg?branch=master)](http://travis-ci.org/cheeriojs/cheerio)\n\nFast, flexible, and lean implementation of core jQuery designed specifically for the server.\n\n## Introduction\nTeach your server HTML.\n\n```js\nvar cheerio = require('cheerio'),\n $ = cheerio.load('<h2 class=\"title\">Hello world</h2>');\n\n$('h2.title').text('Hello there!');\n$('h2').addClass('welcome');\n\n$.html();\n//=> <h2 class=\"title welcome\">Hello there!</h2>\n```\n\n## Installation\n`npm install cheerio`\n\n## Features\n__&#10084; Familiar syntax:__\nCheerio implements a subset of core jQuery. Cheerio removes all the DOM inconsistencies and browser cruft from the jQuery library, revealing its truly gorgeous API.\n\n__&#991; Blazingly fast:__\nCheerio works with a very simple, consistent DOM model. As a result parsing, manipulating, and rendering are incredibly efficient. Preliminary end-to-end benchmarks suggest that cheerio is about __8x__ faster than JSDOM.\n\n__&#10049; Incredibly flexible:__\nCheerio wraps around @FB55's forgiving [htmlparser2](https://github.com/fb55/htmlparser2/). Cheerio can parse nearly any HTML or XML document.\n\n## What about JSDOM?\nI wrote cheerio because I found myself increasingly frustrated with JSDOM. For me, there were three main sticking points that I kept running into again and again:\n\n__&#8226; JSDOM's built-in parser is too strict:__\n JSDOM's bundled HTML parser cannot handle many popular sites out there today.\n\n__&#8226; JSDOM is too slow:__\nParsing big websites with JSDOM has a noticeable delay.\n\n__&#8226; JSDOM feels too heavy:__\nThe goal of JSDOM is to provide an identical DOM environment as what we see in the browser. I never really needed all this, I just wanted a simple, familiar way to do HTML manipulation.\n\n## When I would use JSDOM\n\nCheerio will not solve all your problems. I would still use JSDOM if I needed to work in a browser-like environment on the server, particularly if I wanted to automate functional tests.\n\n## API\n\n### Markup example we'll be using:\n\n```html\n<ul id=\"fruits\">\n <li class=\"apple\">Apple</li>\n <li class=\"orange\">Orange</li>\n <li class=\"pear\">Pear</li>\n</ul>\n```\n\nThis is the HTML markup we will be using in all of the API examples.\n\n### Loading\nFirst you need to load in the HTML. This step in jQuery is implicit, since jQuery operates on the one, baked-in DOM. With Cheerio, we need to pass in the HTML document.\n\nThis is the _preferred_ method:\n\n```js\nvar cheerio = require('cheerio'),\n $ = cheerio.load('<ul id=\"fruits\">...</ul>');\n```\n\nOptionally, you can also load in the HTML by passing the string as the context:\n\n```js\n$ = require('cheerio');\n$('ul', '<ul id=\"fruits\">...</ul>');\n```\n\nOr as the root:\n\n```js\n$ = require('cheerio');\n$('li', 'ul', '<ul id=\"fruits\">...</ul>');\n```\n\nYou can also pass an extra object to `.load()` if you need to modify any\nof the default parsing options:\n\n```js\n$ = cheerio.load('<ul id=\"fruits\">...</ul>', {\n normalizeWhitespace: true,\n xmlMode: true\n});\n```\n\nThese parsing options are taken directly from [htmlparser2](https://github.com/fb55/htmlparser2/wiki/Parser-options), therefore any options that can be used in `htmlparser2` are valid in cheerio as well. The default options are:\n\n```js\n{\n normalizeWhitespace: false,\n xmlMode: false,\n decodeEntities: true\n}\n\n```\n\nFor a full list of options and their effects, see [this](https://github.com/fb55/DomHandler) and\n[htmlparser2's options](https://github.com/fb55/htmlparser2/wiki/Parser-options).\n\n### Selectors\n\nCheerio's selector implementation is nearly identical to jQuery's, so the API is very similar.\n\n#### $( selector, [context], [root] )\n`selector` searches within the `context` scope which searches within the `root` scope. `selector` and `context` can be an string expression, DOM Element, array of DOM elements, or cheerio object. `root` is typically the HTML document string.\n\nThis selector method is the starting point for traversing and manipulating the document. Like jQuery, it's the primary method for selecting elements in the document, but unlike jQuery it's built on top of the CSSSelect library, which implements most of the Sizzle selectors.\n\n```js\n$('.apple', '#fruits').text()\n//=> Apple\n\n$('ul .pear').attr('class')\n//=> pear\n\n$('li[class=orange]').html()\n//=> <li class=\"orange\">Orange</li>\n```\n\n### Attributes\nMethods for getting and modifying attributes.\n\n#### .attr( name, value )\nMethod for getting and setting attributes. Gets the attribute value for only the first element in the matched set. If you set an attribute's value to `null`, you remove that attribute. You may also pass a `map` and `function` like jQuery.\n\n```js\n$('ul').attr('id')\n//=> fruits\n\n$('.apple').attr('id', 'favorite').html()\n//=> <li class=\"apple\" id=\"favorite\">Apple</li>\n```\n\n> See http://api.jquery.com/attr/ for more information\n\n#### .data( name, value )\nMethod for getting and setting data attributes. Gets or sets the data attribute value for only the first element in the matched set.\n\n```js\n$('<div data-apple-color=\"red\"></div>').data()\n//=> { appleColor: 'red' }\n\n$('<div data-apple-color=\"red\"></div>').data('data-apple-color')\n//=> 'red'\n\nvar apple = $('.apple').data('kind', 'mac')\napple.data('kind')\n//=> 'mac'\n```\n\n> See http://api.jquery.com/data/ for more information\n\n#### .val( [value] )\nMethod for getting and setting the value of input, select, and textarea. Note: Support for `map`, and `function` has not been added yet.\n\n```js\n$('input[type=\"text\"]').val()\n//=> input_text\n\n$('input[type=\"text\"]').val('test').html()\n//=> <input type=\"text\" value=\"test\"/>\n```\n\n#### .removeAttr( name )\nMethod for removing attributes by `name`.\n\n```js\n$('.pear').removeAttr('class').html()\n//=> <li>Pear</li>\n```\n\n#### .hasClass( className )\nCheck to see if *any* of the matched elements have the given `className`.\n\n```js\n$('.pear').hasClass('pear')\n//=> true\n\n$('apple').hasClass('fruit')\n//=> false\n\n$('li').hasClass('pear')\n//=> true\n```\n\n#### .addClass( className )\nAdds class(es) to all of the matched elements. Also accepts a `function` like jQuery.\n\n```js\n$('.pear').addClass('fruit').html()\n//=> <li class=\"pear fruit\">Pear</li>\n\n$('.apple').addClass('fruit red').html()\n//=> <li class=\"apple fruit red\">Apple</li>\n```\n\n> See http://api.jquery.com/addClass/ for more information.\n\n#### .removeClass( [className] )\nRemoves one or more space-separated classes from the selected elements. If no `className` is defined, all classes will be removed. Also accepts a `function` like jQuery.\n\n```js\n$('.pear').removeClass('pear').html()\n//=> <li class=\"\">Pear</li>\n\n$('.apple').addClass('red').removeClass().html()\n//=> <li class=\"\">Apple</li>\n```\n\n> See http://api.jquery.com/removeClass/ for more information.\n\n#### .toggleClass( className, [switch] )\nAdd or remove class(es) from the matched elements, depending on either the class's presence or the value of the switch argument. Also accepts a `function` like jQuery.\n\n```js\n$('.apple.green').toggleClass('fruit green red').html()\n//=> <li class=\"apple fruit red\">Apple</li>\n\n$('.apple.green').toggleClass('fruit green red', true).html()\n//=> <li class=\"apple green fruit red\">Apple</li>\n```\n\n> See http://api.jquery.com/toggleClass/ for more information.\n\n#### .is( selector )\n#### .is( element )\n#### .is( selection )\n#### .is( function(index) )\nChecks the current list of elements and returns `true` if _any_ of the elements match the selector. If using an element or Cheerio selection, returns `true` if _any_ of the elements match. If using a predicate function, the function is executed in the context of the selected element, so `this` refers to the current element.\n\n\n### Traversing\n\n#### .find(selector)\nGet a set of descendants filtered by `selector` of each element in the current set of matched elements.\n\n```js\n$('#fruits').find('li').length\n//=> 3\n```\n\n#### .parent([selector])\nGet the parent of each element in the current set of matched elements, optionally filtered by a selector.\n\n```js\n$('.pear').parent().attr('id')\n//=> fruits\n```\n\n#### .parents([selector])\nGet a set of parents filtered by `selector` of each element in the current set of match elements.\n```js\n$('.orange').parents().length\n// => 2\n$('.orange').parents('#fruits').length\n// => 1\n```\n\n#### .parentsUntil([selector][,filter])\nGet the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or cheerio object.\n```js\n$('.orange').parentsUntil('#food').length\n// => 1\n```\n\n#### .closest(selector)\nFor each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\n```js\n$('.orange').closest()\n// => []\n$('.orange').closest('.apple')\n// => []\n$('.orange').closest('li')\n// => [<li class=\"orange\">Orange</li>]\n$('.orange').closest('#fruits')\n// => [<ul id=\"fruits\"> ... </ul>]\n```\n\n#### .next([selector])\nGets the next sibling of the first selected element, optionally filtered by a selector.\n\n```js\n$('.apple').next().hasClass('orange')\n//=> true\n```\n\n#### .nextAll()\nGets all the following siblings of the first selected element.\n\n```js\n$('.apple').nextAll()\n//=> [<li class=\"orange\">Orange</li>, <li class=\"pear\">Pear</li>]\n```\n\n#### .nextUntil()\nGets all the following siblings up to but not including the element matched by the selector.\n\n```js\n$('.apple').nextUntil('.pear')\n//=> [<li class=\"orange\">Orange</li>]\n```\n\n#### .prev([selector])\nGets the previous sibling of the first selected element optionally filtered by a selector.\n\n```js\n$('.orange').prev().hasClass('apple')\n//=> true\n```\n\n#### .prevAll()\nGets all the preceding siblings of the first selected element.\n\n```js\n$('.pear').prevAll()\n//=> [<li class=\"orange\">Orange</li>, <li class=\"apple\">Apple</li>]\n```\n\n#### .prevUntil()\nGets all the preceding siblings up to but not including the element matched by the selector.\n\n```js\n$('.pear').prevUntil('.apple')\n//=> [<li class=\"orange\">Orange</li>]\n```\n\n#### .slice( start, [end] )\nGets the elements matching the specified range\n\n```js\n$('li').slice(1).eq(0).text()\n//=> 'Orange'\n\n$('li').slice(1, 2).length\n//=> 1\n```\n\n#### .siblings( selector )\nGets the first selected element's siblings, excluding itself.\n\n```js\n$('.pear').siblings().length\n//=> 2\n\n$('.pear').siblings('.orange').length\n//=> 1\n\n```\n\n#### .children( selector )\nGets the children of the first selected element.\n\n```js\n$('#fruits').children().length\n//=> 3\n\n$('#fruits').children('.pear').text()\n//=> Pear\n```\n\n#### .contents()\nGets the children of each element in the set of matched elements, including text and comment nodes.\n\n```js\n$('#fruits').contents().length\n//=> 3\n```\n\n#### .each( function(index, element) )\nIterates over a cheerio object, executing a function for each matched element. When the callback is fired, the function is fired in the context of the DOM element, so `this` refers to the current element, which is equivalent to the function parameter `element`. To break out of the `each` loop early, return with `false`.\n\n```js\nvar fruits = [];\n\n$('li').each(function(i, elem) {\n fruits[i] = $(this).text();\n});\n\nfruits.join(', ');\n//=> Apple, Orange, Pear\n```\n\n#### .map( function(index, element) )\nPass each element in the current matched set through a function, producing a new Cheerio object containing the return values. The function can return an individual data item or an array of data items to be inserted into the resulting set. If an array is returned, the elements inside the array are inserted into the set. If the function returns null or undefined, no element will be inserted.\n\n```js\n$('li').map(function(i, el) {\n // this === el\n return $('<div>').text($(this).text());\n}).html();\n//=> <div>apple</div><div>orange</div><div>pear</div>\n```\n\n#### .filter( selector ) <br /> .filter( selection ) <br /> .filter( element ) <br /> .filter( function(index) )\n\nIterates over a cheerio object, reducing the set of selector elements to those that match the selector or pass the function's test. When a Cheerio selection is specified, return only the elements contained in that selection. When an element is specified, return only that element (if it is contained in the original selection). If using the function method, the function is executed in the context of the selected element, so `this` refers to the current element.\n\nSelector:\n\n```js\n$('li').filter('.orange').attr('class');\n//=> orange\n```\n\nFunction:\n\n```js\n$('li').filter(function(i, el) {\n // this === el\n return $(this).attr('class') === 'orange';\n}).attr('class')\n//=> orange\n```\n\n#### .first()\nWill select the first element of a cheerio object\n\n```js\n$('#fruits').children().first().text()\n//=> Apple\n```\n\n#### .last()\nWill select the last element of a cheerio object\n\n```js\n$('#fruits').children().last().text()\n//=> Pear\n```\n\n#### .eq( i )\nReduce the set of matched elements to the one at the specified index. Use `.eq(-i)` to count backwards from the last selected element.\n\n```js\n$('li').eq(0).text()\n//=> Apple\n\n$('li').eq(-1).text()\n//=> Pear\n```\n\n#### .get( [i] )\n\nRetrieve the DOM elements matched by the Cheerio object. If an index is specified, retrieve one of the elements matched by the Cheerio object:\n\n```js\n$('li').get(0).name\n//=> li\n```\n\nIf no index is specified, retrieve all elements matched by the Cheerio object:\n\n```js\n$('li').get().length\n//=> 3\n```\n\n#### .end()\nEnd the most recent filtering operation in the current chain and return the set of matched elements to its previous state.\n\n```js\n$('li').eq(0).end().length\n//=> 3\n```\n\n#### .add( selector [, context] )\n#### .add( element )\n#### .add( elements )\n#### .add( html )\n#### .add( selection )\nAdd elements to the set of matched elements.\n\n```js\n$('.apple').add('.orange').length\n//=> 2\n```\n\n### Manipulation\nMethods for modifying the DOM structure.\n\n#### .append( content, [content, ...] )\nInserts content as the *last* child of each of the selected elements.\n\n```js\n$('ul').append('<li class=\"plum\">Plum</li>')\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"pear\">Pear</li>\n// <li class=\"plum\">Plum</li>\n// </ul>\n```\n\n#### .prepend( content, [content, ...] )\nInserts content as the *first* child of each of the selected elements.\n\n```js\n$('ul').prepend('<li class=\"plum\">Plum</li>')\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"plum\">Plum</li>\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"pear\">Pear</li>\n// </ul>\n```\n\n#### .after( content, [content, ...] )\nInsert content next to each element in the set of matched elements.\n\n```js\n$('.apple').after('<li class=\"plum\">Plum</li>')\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"apple\">Apple</li>\n// <li class=\"plum\">Plum</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"pear\">Pear</li>\n// </ul>\n```\n\n#### .before( content, [content, ...] )\nInsert content previous to each element in the set of matched elements.\n\n```js\n$('.apple').before('<li class=\"plum\">Plum</li>')\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"plum\">Plum</li>\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"pear\">Pear</li>\n// </ul>\n```\n\n#### .remove( [selector] )\nRemoves the set of matched elements from the DOM and all their children. `selector` filters the set of matched elements to be removed.\n\n```js\n$('.pear').remove()\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// </ul>\n```\n\n#### .replaceWith( content )\nReplaces matched elements with `content`.\n\n```js\nvar plum = $('<li class=\"plum\">Plum</li>')\n$('.pear').replaceWith(plum)\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"plum\">Plum</li>\n// </ul>\n```\n\n#### .empty()\nEmpties an element, removing all it's children.\n\n```js\n$('ul').empty()\n$.html()\n//=> <ul id=\"fruits\"></ul>\n```\n\n#### .html( [htmlString] )\nGets an html content string from the first selected element. If `htmlString` is specified, each selected element's content is replaced by the new content.\n\n```js\n$('.orange').html()\n//=> Orange\n\n$('#fruits').html('<li class=\"mango\">Mango</li>').html()\n//=> <li class=\"mango\">Mango</li>\n```\n\n#### .text( [textString] )\nGet the combined text contents of each element in the set of matched elements, including their descendants.. If `textString` is specified, each selected element's content is replaced by the new text content.\n\n```js\n$('.orange').text()\n//=> Orange\n\n$('ul').text()\n//=> Apple\n// Orange\n// Pear\n```\n\n#### .css( [propertName] ) <br /> .css( [ propertyNames] ) <br /> .css( [propertyName], [value] ) <br /> .css( [propertName], [function] ) <br /> .css( [properties] )\n\nGet the value of a style property for the first element in the set of matched elements or set one or more CSS properties for every matched element.\n\n### Rendering\nWhen you're ready to render the document, you can use the `html` utility function:\n\n```js\n$.html()\n//=> <ul id=\"fruits\">\n// <li class=\"apple\">Apple</li>\n// <li class=\"orange\">Orange</li>\n// <li class=\"pear\">Pear</li>\n// </ul>\n```\n\nIf you want to return the outerHTML you can use `$.html(selector)`:\n\n```js\n$.html('.pear')\n//=> <li class=\"pear\">Pear</li>\n```\n\nBy default, `html` will leave some tags open. Sometimes you may instead want to render a valid XML document. For example, you might parse the following XML snippet:\n\n```xml\n$ = cheerio.load('<media:thumbnail url=\"http://www.foo.com/keyframe.jpg\" width=\"75\" height=\"50\" time=\"12:05:01.123\"/>');\n```\n\n... and later want to render to XML. To do this, you can use the 'xml' utility function:\n\n```js\n$.xml()\n//=> <media:thumbnail url=\"http://www.foo.com/keyframe.jpg\" width=\"75\" height=\"50\" time=\"12:05:01.123\"/>\n```\n\n\n### Miscellaneous\nDOM element methods that don't fit anywhere else\n\n#### .clone() ####\nClone the cheerio object.\n\n```js\nvar moreFruit = $('#fruits').clone()\n```\n\n### Utilities\n\n#### $.root\n\nSometimes you need to work with the top-level root element. To query it, you can use `$.root()`.\n\n```js\n$.root().append('<ul id=\"vegetables\"></ul>').html();\n//=> <ul id=\"fruits\">...</ul><ul id=\"vegetables\"></ul>\n```\n\n#### $.contains( container, contained )\nChecks to see if the `contained` DOM element is a descendent of the `container` DOM element.\n\n#### $.parseHTML( data [, context ] [, keepScripts ] )\nParses a string into an array of DOM nodes. The `context` argument has no meaning for Cheerio, but it is maintained for API compatability.\n\n## Screencasts\n\nhttp://vimeo.com/31950192\n\n> This video tutorial is a follow-up to Nettut's \"How to Scrape Web Pages with Node.js and jQuery\", using cheerio instead of JSDOM + jQuery. This video shows how easy it is to use cheerio and how much faster cheerio is than JSDOM + jQuery.\n\n## Test Coverage\n\nCheerio has high-test coverage, you can view the report [here](https://s3.amazonaws.com/MattMueller/Coverage/cheerio.html).\n\n## Testing\n\nTo run the test suite, download the repository, then within the cheerio directory, run:\n\n```shell\nmake setup\nmake test\n```\n\nThis will download the development packages and run the test suite.\n\n## Contributors\n\nThese are some of the contributors that have made cheerio possible:\n\n```\nproject : cheerio\n repo age : 2 years, 6 months\n active : 285 days\n commits : 762\n files : 36\n authors :\n 293 Matt Mueller 38.5%\n 133 Matthew Mueller 17.5%\n 92 Mike Pennisi 12.1%\n 54 David Chambers 7.1%\n 30 kpdecker 3.9%\n 19 Felix Böhm 2.5%\n 17 fb55 2.2%\n 15 Siddharth Mahendraker 2.0%\n 11 Adam Bretz 1.4%\n 8 Nazar Leush 1.0%\n 7 ironchefpython 0.9%\n 6 Jarno Leppänen 0.8%\n 5 Ben Sheldon 0.7%\n 5 Jos Shepherd 0.7%\n 5 Ryan Schmukler 0.7%\n 5 Steven Vachon 0.7%\n 4 Maciej Adwent 0.5%\n 4 Amir Abu Shareb 0.5%\n 3 [email protected] 0.4%\n 3 Andi Neck 0.4%\n 2 steve 0.3%\n 2 alexbardas 0.3%\n 2 finspin 0.3%\n 2 Ali Farhadi 0.3%\n 2 Chris Khoo 0.3%\n 2 Rob Ashton 0.3%\n 2 Thomas Heymann 0.3%\n 2 Jaro Spisak 0.3%\n 2 Dan Dascalescu 0.3%\n 2 Torstein Thune 0.3%\n 2 Wayne Larsen 0.3%\n 1 Timm Preetz 0.1%\n 1 Xavi 0.1%\n 1 Alex Shaindlin 0.1%\n 1 mattym 0.1%\n 1 Felix Böhm 0.1%\n 1 Farid Neshat 0.1%\n 1 Dmitry Mazuro 0.1%\n 1 Jeremy Hubble 0.1%\n 1 nevermind 0.1%\n 1 Manuel Alabor 0.1%\n 1 Matt Liegey 0.1%\n 1 Chris O'Hara 0.1%\n 1 Michael Holroyd 0.1%\n 1 Michiel De Mey 0.1%\n 1 Ben Atkin 0.1%\n 1 Rich Trott 0.1%\n 1 Rob \"Hurricane\" Ashton 0.1%\n 1 Robin Gloster 0.1%\n 1 Simon Boudrias 0.1%\n 1 Sindre Sorhus 0.1%\n 1 xiaohwan 0.1%\n```\n\n## Special Thanks\n\nThis library stands on the shoulders of some incredible developers. A special thanks to:\n\n__&#8226; @FB55 for node-htmlparser2 & CSSSelect:__\nFelix has a knack for writing speedy parsing engines. He completely re-wrote both @tautologistic's `node-htmlparser` and @harry's `node-soupselect` from the ground up, making both of them much faster and more flexible. Cheerio would not be possible without his foundational work\n\n__&#8226; @jQuery team for jQuery:__\nThe core API is the best of its class and despite dealing with all the browser inconsistencies the code base is extremely clean and easy to follow. Much of cheerio's implementation and documentation is from jQuery. Thanks guys.\n\n__&#8226; @visionmedia:__\nThe style, the structure, the open-source\"-ness\" of this library comes from studying TJ's style and using many of his libraries. This dude consistently pumps out high-quality libraries and has always been more than willing to help or answer questions. You rock TJ.\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 Matt Mueller &lt;[email protected]&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",readmeFilename:"Readme.md",bugs:{url:"https://github.com/MatthewMueller/cheerio/issues"},homepage:"https://github.com/MatthewMueller/cheerio",_id:"[email protected]",_from:"cheerio@^0.17.0"}
},{}],141:[function(require,module,exports){(function(Buffer){var Writable=require("readable-stream").Writable;var inherits=require("inherits");var TA=require("typedarray");var U8=typeof Uint8Array!=="undefined"?Uint8Array:TA.Uint8Array;function ConcatStream(opts,cb){if(!(this instanceof ConcatStream))return new ConcatStream(opts,cb);if(typeof opts==="function"){cb=opts;opts={}}if(!opts)opts={};var encoding=opts.encoding;var shouldInferEncoding=false;if(!encoding){shouldInferEncoding=true}else{encoding=String(encoding).toLowerCase();if(encoding==="u8"||encoding==="uint8"){encoding="uint8array"}}Writable.call(this,{objectMode:true});this.encoding=encoding;this.shouldInferEncoding=shouldInferEncoding;if(cb)this.on("finish",function(){cb(this.getBody())});this.body=[]}module.exports=ConcatStream;inherits(ConcatStream,Writable);ConcatStream.prototype._write=function(chunk,enc,next){this.body.push(chunk);next()};ConcatStream.prototype.inferEncoding=function(buff){var firstBuffer=buff===undefined?this.body[0]:buff;if(Buffer.isBuffer(firstBuffer))return"buffer";if(typeof Uint8Array!=="undefined"&&firstBuffer instanceof Uint8Array)return"uint8array";if(Array.isArray(firstBuffer))return"array";if(typeof firstBuffer==="string")return"string";if(Object.prototype.toString.call(firstBuffer)==="[object Object]")return"object";return"buffer"};ConcatStream.prototype.getBody=function(){if(!this.encoding&&this.body.length===0)return[];if(this.shouldInferEncoding)this.encoding=this.inferEncoding();if(this.encoding==="array")return arrayConcat(this.body);if(this.encoding==="string")return stringConcat(this.body);if(this.encoding==="buffer")return bufferConcat(this.body);if(this.encoding==="uint8array")return u8Concat(this.body);return this.body};var isArray=Array.isArray||function(arr){return Object.prototype.toString.call(arr)=="[object Array]"};function isArrayish(arr){return/Array\]$/.test(Object.prototype.toString.call(arr))}function stringConcat(parts){var strings=[];var needsToString=false;for(var i=0;i<parts.length;i++){var p=parts[i];if(typeof p==="string"){strings.push(p)}else if(Buffer.isBuffer(p)){strings.push(p)}else{strings.push(Buffer(p))}}if(Buffer.isBuffer(parts[0])){strings=Buffer.concat(strings);strings=strings.toString("utf8")}else{strings=strings.join("")}return strings}function bufferConcat(parts){var bufs=[];for(var i=0;i<parts.length;i++){var p=parts[i];if(Buffer.isBuffer(p)){bufs.push(p)}else if(typeof p==="string"||isArrayish(p)||p&&typeof p.subarray==="function"){bufs.push(Buffer(p))}else bufs.push(Buffer(String(p)))}return Buffer.concat(bufs)}function arrayConcat(parts){var res=[];for(var i=0;i<parts.length;i++){res.push.apply(res,parts[i])}return res}function u8Concat(parts){var len=0;for(var i=0;i<parts.length;i++){if(typeof parts[i]==="string"){parts[i]=Buffer(parts[i])}len+=parts[i].length}var u8=new U8(len);for(var i=0,offset=0;i<parts.length;i++){var part=parts[i];for(var j=0;j<part.length;j++){u8[offset++]=part[j]}}return u8}}).call(this,require("buffer").Buffer)},{buffer:19,inherits:142,"readable-stream":151,typedarray:152}],142:[function(require,module,exports){module.exports=require(41)},{}],143:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{"./_stream_readable":145,"./_stream_writable":147,_process:44,"core-util-is":148,inherits:142}],144:[function(require,module,exports){arguments[4][51][0].apply(exports,arguments)},{"./_stream_transform":146,"core-util-is":148,inherits:142}],145:[function(require,module,exports){module.exports=require(131)},{"./_stream_duplex":143,_process:44,buffer:19,"core-util-is":148,events:35,inherits:142,isarray:149,stream:61,"string_decoder/":150,util:5}],146:[function(require,module,exports){module.exports=require(132)},{"./_stream_duplex":143,"core-util-is":148,inherits:142}],147:[function(require,module,exports){module.exports=require(133)},{"./_stream_duplex":143,_process:44,buffer:19,"core-util-is":148,inherits:142,stream:61}],148:[function(require,module,exports){module.exports=require(55)},{buffer:19}],149:[function(require,module,exports){module.exports=require(42)},{}],150:[function(require,module,exports){module.exports=require(137)},{buffer:19}],151:[function(require,module,exports){module.exports=require(138)},{"./lib/_stream_duplex.js":143,"./lib/_stream_passthrough.js":144,"./lib/_stream_readable.js":145,"./lib/_stream_transform.js":146,"./lib/_stream_writable.js":147,stream:61}],152:[function(require,module,exports){var undefined=void 0;var MAX_ARRAY_LENGTH=1e5;var ECMAScript=function(){var opts=Object.prototype.toString,ophop=Object.prototype.hasOwnProperty;return{Class:function(v){return opts.call(v).replace(/^\[object *|\]$/g,"")},HasProperty:function(o,p){return p in o},HasOwnProperty:function(o,p){return ophop.call(o,p)},IsCallable:function(o){return typeof o==="function"},ToInt32:function(v){return v>>0},ToUint32:function(v){return v>>>0}}}();var LN2=Math.LN2,abs=Math.abs,floor=Math.floor,log=Math.log,min=Math.min,pow=Math.pow,round=Math.round;function configureProperties(obj){if(getOwnPropNames&&defineProp){var props=getOwnPropNames(obj),i;for(i=0;i<props.length;i+=1){defineProp(obj,props[i],{value:obj[props[i]],writable:false,enumerable:false,configurable:false})}}}var defineProp;if(Object.defineProperty&&function(){try{Object.defineProperty({},"x",{});return true}catch(e){return false}}()){defineProp=Object.defineProperty}else{defineProp=function(o,p,desc){if(!o===Object(o))throw new TypeError("Object.defineProperty called on non-object");if(ECMAScript.HasProperty(desc,"get")&&Object.prototype.__defineGetter__){Object.prototype.__defineGetter__.call(o,p,desc.get)}if(ECMAScript.HasProperty(desc,"set")&&Object.prototype.__defineSetter__){Object.prototype.__defineSetter__.call(o,p,desc.set)}if(ECMAScript.HasProperty(desc,"value")){o[p]=desc.value}return o}}var getOwnPropNames=Object.getOwnPropertyNames||function(o){if(o!==Object(o))throw new TypeError("Object.getOwnPropertyNames called on non-object");var props=[],p;for(p in o){if(ECMAScript.HasOwnProperty(o,p)){props.push(p)}}return props};function makeArrayAccessors(obj){if(!defineProp){return}if(obj.length>MAX_ARRAY_LENGTH)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(index){defineProp(obj,index,{get:function(){return obj._getter(index)},set:function(v){obj._setter(index,v)},enumerable:true,configurable:false})}var i;for(i=0;i<obj.length;i+=1){makeArrayAccessor(i)}}function as_signed(value,bits){var s=32-bits;return value<<s>>s}function as_unsigned(value,bits){var s=32-bits;return value<<s>>>s}function packI8(n){return[n&255]}function unpackI8(bytes){return as_signed(bytes[0],8)}function packU8(n){return[n&255]}function unpackU8(bytes){return as_unsigned(bytes[0],8)}function packU8Clamped(n){n=round(Number(n));return[n<0?0:n>255?255:n&255]}function packI16(n){return[n>>8&255,n&255]}function unpackI16(bytes){return as_signed(bytes[0]<<8|bytes[1],16)}function packU16(n){return[n>>8&255,n&255]}function unpackU16(bytes){return as_unsigned(bytes[0]<<8|bytes[1],16)}function packI32(n){return[n>>24&255,n>>16&255,n>>8&255,n&255]}function unpackI32(bytes){return as_signed(bytes[0]<<24|bytes[1]<<16|bytes[2]<<8|bytes[3],32)}function packU32(n){return[n>>24&255,n>>16&255,n>>8&255,n&255]}function unpackU32(bytes){return as_unsigned(bytes[0]<<24|bytes[1]<<16|bytes[2]<<8|bytes[3],32)}function packIEEE754(v,ebits,fbits){var bias=(1<<ebits-1)-1,s,e,f,ln,i,bits,str,bytes;function roundToEven(n){var w=floor(n),f=n-w;if(f<.5)return w;if(f>.5)return w+1;return w%2?w+1:w}if(v!==v){e=(1<<ebits)-1;f=pow(2,fbits-1);s=0}else if(v===Infinity||v===-Infinity){e=(1<<ebits)-1;f=0;s=v<0?1:0}else if(v===0){e=0;f=0;s=1/v===-Infinity?1:0}else{s=v<0;v=abs(v);if(v>=pow(2,1-bias)){e=min(floor(log(v)/LN2),1023);f=roundToEven(v/pow(2,e)*pow(2,fbits));if(f/pow(2,fbits)>=2){e=e+1;f=1}if(e>bias){e=(1<<ebits)-1;f=0}else{e=e+bias;f=f-pow(2,fbits)}}else{e=0;f=roundToEven(v/pow(2,1-bias-fbits))}}bits=[];for(i=fbits;i;i-=1){bits.push(f%2?1:0);f=floor(f/2)}for(i=ebits;i;i-=1){bits.push(e%2?1:0);e=floor(e/2)}bits.push(s?1:0);bits.reverse();str=bits.join("");bytes=[];while(str.length){bytes.push(parseInt(str.substring(0,8),2));str=str.substring(8)}return bytes}function unpackIEEE754(bytes,ebits,fbits){var bits=[],i,j,b,str,bias,s,e,f;for(i=bytes.length;i;i-=1){b=bytes[i-1];for(j=8;j;j-=1){bits.push(b%2?1:0);b=b>>1}}bits.reverse();str=bits.join("");bias=(1<<ebits-1)-1;s=parseInt(str.substring(0,1),2)?-1:1;e=parseInt(str.substring(1,1+ebits),2);f=parseInt(str.substring(1+ebits),2);if(e===(1<<ebits)-1){return f!==0?NaN:s*Infinity}else if(e>0){return s*pow(2,e-bias)*(1+f/pow(2,fbits))}else if(f!==0){return s*pow(2,-(bias-1))*(f/pow(2,fbits))}else{return s<0?-0:0}}function unpackF64(b){return unpackIEEE754(b,11,52)}function packF64(v){return packIEEE754(v,11,52)}function unpackF32(b){return unpackIEEE754(b,8,23)}function packF32(v){return packIEEE754(v,8,23)}(function(){var ArrayBuffer=function ArrayBuffer(length){length=ECMAScript.ToInt32(length);if(length<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=length;this._bytes=[];this._bytes.length=length;var i;for(i=0;i<this.byteLength;i+=1){this._bytes[i]=0}configureProperties(this)};exports.ArrayBuffer=exports.ArrayBuffer||ArrayBuffer;var ArrayBufferView=function ArrayBufferView(){};function makeConstructor(bytesPerElement,pack,unpack){var ctor;ctor=function(buffer,byteOffset,length){var array,sequence,i,s;if(!arguments.length||typeof arguments[0]==="number"){this.length=ECMAScript.ToInt32(arguments[0]);if(length<0)throw new RangeError("ArrayBufferView size is not a small enough positive integer");this.byteLength=this.length*this.BYTES_PER_ELEMENT;this.buffer=new ArrayBuffer(this.byteLength);this.byteOffset=0}else if(typeof arguments[0]==="object"&&arguments[0].constructor===ctor){array=arguments[0];this.length=array.length;this.byteLength=this.length*this.BYTES_PER_ELEMENT;this.buffer=new ArrayBuffer(this.byteLength);this.byteOffset=0;for(i=0;i<this.length;i+=1){this._setter(i,array._getter(i))}}else if(typeof arguments[0]==="object"&&!(arguments[0]instanceof ArrayBuffer||ECMAScript.Class(arguments[0])==="ArrayBuffer")){sequence=arguments[0];this.length=ECMAScript.ToUint32(sequence.length);this.byteLength=this.length*this.BYTES_PER_ELEMENT;this.buffer=new ArrayBuffer(this.byteLength);this.byteOffset=0;for(i=0;i<this.length;i+=1){s=sequence[i];this._setter(i,Number(s))}}else if(typeof arguments[0]==="object"&&(arguments[0]instanceof ArrayBuffer||ECMAScript.Class(arguments[0])==="ArrayBuffer")){this.buffer=buffer;this.byteOffset=ECMAScript.ToUint32(byteOffset);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=ECMAScript.ToUint32(length);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=ctor;configureProperties(this);makeArrayAccessors(this)};ctor.prototype=new ArrayBufferView;ctor.prototype.BYTES_PER_ELEMENT=bytesPerElement;ctor.prototype._pack=pack;ctor.prototype._unpack=unpack;ctor.BYTES_PER_ELEMENT=bytesPerElement;ctor.prototype._getter=function(index){if(arguments.length<1)throw new SyntaxError("Not enough arguments");index=ECMAScript.ToUint32(index);if(index>=this.length){return undefined}var bytes=[],i,o;for(i=0,o=this.byteOffset+index*this.BYTES_PER_ELEMENT;i<this.BYTES_PER_ELEMENT;i+=1,o+=1){bytes.push(this.buffer._bytes[o])}return this._unpack(bytes)};ctor.prototype.get=ctor.prototype._getter;ctor.prototype._setter=function(index,value){if(arguments.length<2)throw new SyntaxError("Not enough arguments");index=ECMAScript.ToUint32(index);if(index>=this.length){return undefined}var bytes=this._pack(value),i,o;for(i=0,o=this.byteOffset+index*this.BYTES_PER_ELEMENT;i<this.BYTES_PER_ELEMENT;i+=1,o+=1){this.buffer._bytes[o]=bytes[i]}};ctor.prototype.set=function(index,value){if(arguments.length<1)throw new SyntaxError("Not enough arguments");var array,sequence,offset,len,i,s,d,byteOffset,byteLength,tmp;if(typeof arguments[0]==="object"&&arguments[0].constructor===this.constructor){array=arguments[0];offset=ECMAScript.ToUint32(arguments[1]);if(offset+array.length>this.length){throw new RangeError("Offset plus length of array is out of range")}byteOffset=this.byteOffset+offset*this.BYTES_PER_ELEMENT;byteLength=array.length*this.BYTES_PER_ELEMENT;if(array.buffer===this.buffer){tmp=[];for(i=0,s=array.byteOffset;i<byteLength;i+=1,s+=1){tmp[i]=array.buffer._bytes[s]}for(i=0,d=byteOffset;i<byteLength;i+=1,d+=1){this.buffer._bytes[d]=tmp[i]}}else{for(i=0,s=array.byteOffset,d=byteOffset;i<byteLength;i+=1,s+=1,d+=1){this.buffer._bytes[d]=array.buffer._bytes[s]}}}else if(typeof arguments[0]==="object"&&typeof arguments[0].length!=="undefined"){sequence=arguments[0];len=ECMAScript.ToUint32(sequence.length);offset=ECMAScript.ToUint32(arguments[1]);if(offset+len>this.length){throw new RangeError("Offset plus length of array is out of range")}for(i=0;i<len;i+=1){s=sequence[i];this._setter(offset+i,Number(s))}}else{throw new TypeError("Unexpected argument type(s)")}};ctor.prototype.subarray=function(start,end){function clamp(v,min,max){return v<min?min:v>max?max:v}start=ECMAScript.ToInt32(start);end=ECMAScript.ToInt32(end);if(arguments.length<1){start=0}if(arguments.length<2){end=this.length}if(start<0){start=this.length+start}if(end<0){end=this.length+end}start=clamp(start,0,this.length);end=clamp(end,0,this.length);var len=end-start;if(len<0){len=0}return new this.constructor(this.buffer,this.byteOffset+start*this.BYTES_PER_ELEMENT,len)};return ctor}var Int8Array=makeConstructor(1,packI8,unpackI8);var Uint8Array=makeConstructor(1,packU8,unpackU8);var Uint8ClampedArray=makeConstructor(1,packU8Clamped,unpackU8);var Int16Array=makeConstructor(2,packI16,unpackI16);var Uint16Array=makeConstructor(2,packU16,unpackU16);var Int32Array=makeConstructor(4,packI32,unpackI32);var Uint32Array=makeConstructor(4,packU32,unpackU32);var Float32Array=makeConstructor(4,packF32,unpackF32);var Float64Array=makeConstructor(8,packF64,unpackF64);exports.Int8Array=exports.Int8Array||Int8Array;exports.Uint8Array=exports.Uint8Array||Uint8Array;exports.Uint8ClampedArray=exports.Uint8ClampedArray||Uint8ClampedArray;exports.Int16Array=exports.Int16Array||Int16Array;exports.Uint16Array=exports.Uint16Array||Uint16Array;exports.Int32Array=exports.Int32Array||Int32Array;exports.Uint32Array=exports.Uint32Array||Uint32Array;exports.Float32Array=exports.Float32Array||Float32Array;exports.Float64Array=exports.Float64Array||Float64Array})();(function(){function r(array,index){return ECMAScript.IsCallable(array.get)?array.get(index):array[index]}var IS_BIG_ENDIAN=function(){var u16array=new exports.Uint16Array([4660]),u8array=new exports.Uint8Array(u16array.buffer);return r(u8array,0)===18}();var DataView=function DataView(buffer,byteOffset,byteLength){if(arguments.length===0){buffer=new exports.ArrayBuffer(0)}else if(!(buffer instanceof exports.ArrayBuffer||ECMAScript.Class(buffer)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=buffer||new exports.ArrayBuffer(0);this.byteOffset=ECMAScript.ToUint32(byteOffset);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=ECMAScript.ToUint32(byteLength)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(arrayType){return function(byteOffset,littleEndian){byteOffset=ECMAScript.ToUint32(byteOffset);if(byteOffset+arrayType.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}byteOffset+=this.byteOffset;var uint8Array=new exports.Uint8Array(this.buffer,byteOffset,arrayType.BYTES_PER_ELEMENT),bytes=[],i;for(i=0;i<arrayType.BYTES_PER_ELEMENT;i+=1){bytes.push(r(uint8Array,i))}if(Boolean(littleEndian)===Boolean(IS_BIG_ENDIAN)){bytes.reverse()}return r(new arrayType(new exports.Uint8Array(bytes).buffer),0)}}DataView.prototype.getUint8=makeGetter(exports.Uint8Array);DataView.prototype.getInt8=makeGetter(exports.Int8Array);DataView.prototype.getUint16=makeGetter(exports.Uint16Array);DataView.prototype.getInt16=makeGetter(exports.Int16Array);DataView.prototype.getUint32=makeGetter(exports.Uint32Array);DataView.prototype.getInt32=makeGetter(exports.Int32Array);DataView.prototype.getFloat32=makeGetter(exports.Float32Array);DataView.prototype.getFloat64=makeGetter(exports.Float64Array);function makeSetter(arrayType){return function(byteOffset,value,littleEndian){byteOffset=ECMAScript.ToUint32(byteOffset);if(byteOffset+arrayType.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}var typeArray=new arrayType([value]),byteArray=new exports.Uint8Array(typeArray.buffer),bytes=[],i,byteView;for(i=0;i<arrayType.BYTES_PER_ELEMENT;i+=1){bytes.push(r(byteArray,i))}if(Boolean(littleEndian)===Boolean(IS_BIG_ENDIAN)){bytes.reverse()}byteView=new exports.Uint8Array(this.buffer,byteOffset,arrayType.BYTES_PER_ELEMENT);byteView.set(bytes)}}DataView.prototype.setUint8=makeSetter(exports.Uint8Array);DataView.prototype.setInt8=makeSetter(exports.Int8Array);DataView.prototype.setUint16=makeSetter(exports.Uint16Array);DataView.prototype.setInt16=makeSetter(exports.Int16Array);DataView.prototype.setUint32=makeSetter(exports.Uint32Array);DataView.prototype.setInt32=makeSetter(exports.Int32Array);DataView.prototype.setFloat32=makeSetter(exports.Float32Array);DataView.prototype.setFloat64=makeSetter(exports.Float64Array);exports.DataView=exports.DataView||DataView})()},{}],153:[function(require,module,exports){exports=module.exports=require("./debug");exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function useColors(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}exports.formatters.j=function(v){return JSON.stringify(v)};function formatArgs(){var args=arguments;var useColors=this.useColors;args[0]=(useColors?"%c":"")+this.namespace+(useColors?" %c":" ")+args[0]+(useColors?"%c ":" ")+"+"+exports.humanize(this.diff);if(!useColors)return args;var c="color: "+this.color;args=[args[0],c,"color: inherit"].concat(Array.prototype.slice.call(args,1));var index=0;var lastC=0;args[0].replace(/%[a-z%]/g,function(match){if("%%"===match)return;index++;if("%c"===match){lastC=index}});args.splice(lastC,0,c);return args}function log(){return"object"==typeof console&&"function"==typeof console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(namespaces){try{if(null==namespaces){localStorage.removeItem("debug")}else{localStorage.debug=namespaces}}catch(e){}}function load(){var r;try{r=localStorage.debug}catch(e){}return r}exports.enable(load())},{"./debug":154}],154:[function(require,module,exports){exports=module.exports=debug;exports.coerce=coerce;exports.disable=disable;exports.enable=enable;exports.enabled=enabled;exports.humanize=require("ms");exports.names=[];exports.skips=[];exports.formatters={};var prevColor=0;var prevTime;function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(namespace){function disabled(){}disabled.enabled=false;function enabled(){var self=enabled;var curr=+new Date;var ms=curr-(prevTime||curr);self.diff=ms;self.prev=prevTime;self.curr=curr;prevTime=curr;if(null==self.useColors)self.useColors=exports.useColors();if(null==self.color&&self.useColors)self.color=selectColor();var args=Array.prototype.slice.call(arguments);args[0]=exports.coerce(args[0]);if("string"!==typeof args[0]){args=["%o"].concat(args)}var index=0;args[0]=args[0].replace(/%([a-z%])/g,function(match,format){if(match==="%%")return match;index++;var formatter=exports.formatters[format];if("function"===typeof formatter){var val=args[index];match=formatter.call(self,val);args.splice(index,1);index--}return match});if("function"===typeof exports.formatArgs){args=exports.formatArgs.apply(self,args)}var logFn=enabled.log||exports.log||console.log.bind(console);logFn.apply(self,args)}enabled.enabled=true;var fn=exports.enabled(namespace)?enabled:disabled;fn.namespace=namespace;return fn}function enable(namespaces){exports.save(namespaces);var split=(namespaces||"").split(/[\s,]+/);var len=split.length;for(var i=0;i<len;i++){if(!split[i])continue;namespaces=split[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){exports.skips.push(new RegExp("^"+namespaces.substr(1)+"$"))}else{exports.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){exports.enable("")}function enabled(name){var i,len;for(i=0,len=exports.skips.length;i<len;i++){if(exports.skips[i].test(name)){return false}}for(i=0,len=exports.names.length;i<len;i++){if(exports.names[i].test(name)){return true}}return false}function coerce(val){if(val instanceof Error)return val.stack||val.message;return val}},{ms:155}],155:[function(require,module,exports){var s=1e3;var m=s*60;var h=m*60;var d=h*24;var y=d*365.25;module.exports=function(val,options){options=options||{};if("string"==typeof val)return parse(val);return options.long?long(val):short(val)};function parse(str){var match=/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(str);if(!match)return;var n=parseFloat(match[1]);var type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"y":return n*y;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"h":return n*h;case"minutes":case"minute":case"m":return n*m;case"seconds":case"second":case"s":return n*s;case"ms":return n}}function short(ms){if(ms>=d)return Math.round(ms/d)+"d";if(ms>=h)return Math.round(ms/h)+"h";if(ms>=m)return Math.round(ms/m)+"m";if(ms>=s)return Math.round(ms/s)+"s";return ms+"ms"}function long(ms){return plural(ms,d,"day")||plural(ms,h,"hour")||plural(ms,m,"minute")||plural(ms,s,"second")||ms+" ms"}function plural(ms,n,name){if(ms<n)return;if(ms<n*1.5)return Math.floor(ms/n)+" "+name;return Math.ceil(ms/n)+" "+name+"s"}},{}],156:[function(require,module,exports){var request=require("request"),async=require("async"),fs=require("fs"),url=require("url"),events=require("events");var dld=function(uri,output_path,chunk_size){var ee=new events.EventEmitter;var _getHeaders=function(uri,cb){request({uri:uri,method:"HEAD"},function(err,res){cb(res.headers)})};var _getChunk=function(uri,from,size,cb){request({uri:uri,headers:{Range:"bytes="+from+"-"+parseInt(from+size-1)},encoding:null},function(err,res,body){cb(body)})};var _getPosition=function(filename,cb){fs.exists(filename+".dld",function(exists){if(exists){fs.stat(filename+".dld",function(err,stat){cb(stat.size)})}else{cb(0)}})};_getHeaders(uri,function(headers){if(!headers["accept-ranges"]){throw new Error("Server not accept ranges")}var file_size=headers["content-length"];var output_filename=url.parse(uri).path.split("/").slice(-1)[0];if(output_path){output_filename=output_path+output_filename}var output_file=fs.createWriteStream(output_filename+".dld",{flags:"a"});_getPosition(output_filename,function(position){async.whilst(function(){return position<file_size-1},function(cb){_getChunk(uri,position,chunk_size,function(chunk){position+=chunk.length;output_file.write(chunk);ee.emit("data",position,file_size);cb()})},function(err){fs.rename(output_filename+".dld",output_filename,function(){ee.emit("end")})})})});return ee};module.exports=dld},{async:70,events:35,fs:1,request:176,url:63}],157:[function(require,module,exports){(function(process){var path=require("path");var fs=require("fs");module.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(p,opts,f,made){if(typeof opts==="function"){f=opts;opts={}}else if(!opts||typeof opts!=="object"){opts={mode:opts}}var mode=opts.mode;var xfs=opts.fs||fs;if(mode===undefined){mode=511&~process.umask()}if(!made)made=null;var cb=f||function(){};p=path.resolve(p);xfs.mkdir(p,mode,function(er){if(!er){made=made||p;return cb(null,made)}switch(er.code){case"ENOENT":mkdirP(path.dirname(p),opts,function(er,made){if(er)cb(er,made);else mkdirP(p,opts,cb,made)});break;default:xfs.stat(p,function(er2,stat){if(er2||!stat.isDirectory())cb(er,made);else cb(null,made)});break}})}mkdirP.sync=function sync(p,opts,made){if(!opts||typeof opts!=="object"){opts={mode:opts}}var mode=opts.mode;var xfs=opts.fs||fs;if(mode===undefined){mode=511&~process.umask()}if(!made)made=null;p=path.resolve(p);try{xfs.mkdirSync(p,mode);made=made||p}catch(err0){switch(err0.code){case"ENOENT":made=sync(path.dirname(p),opts,made);sync(p,opts,made);break;default:var stat;try{stat=xfs.statSync(p)}catch(err1){throw err0}if(!stat.isDirectory())throw err0;break}}return made}}).call(this,require("_process"))},{_process:44,fs:1,path:43}],158:[function(require,module,exports){var pump=require("pump");var util=require("util");var Duplexify=require("duplexify");var toArray=function(arguments){if(!arguments.length)return[];return Array.isArray(arguments[0])?arguments[0]:Array.prototype.slice.call(arguments)};var define=function(opts){var Pumpify=function(){var streams=toArray(arguments);if(!(this instanceof Pumpify))return new Pumpify(streams);Duplexify.call(this,null,null,opts);if(streams.length)this.setPipeline(streams)};util.inherits(Pumpify,Duplexify);Pumpify.prototype.setPipeline=function(){var streams=toArray(arguments);var self=this;var ended=false;var w=streams[0];var r=streams[streams.length-1];r=r.readable?r:null;w=w.writable?w:null;var onclose=function(){streams[0].emit("error",new Error("stream was destroyed"))};this.on("close",onclose);this.on("prefinish",function(){if(!ended)self.cork()});pump(streams,function(err){self.removeListener("close",onclose);if(err)return self.destroy(err);ended=true;self.uncork()});if(this.destroyed)return onclose();this.setWritable(w);this.setReadable(r)};return Pumpify};module.exports=define({destroy:false});module.exports.obj=define({destroy:false,objectMode:true,highWaterMark:16})},{duplexify:159,pump:172,util:65}],159:[function(require,module,exports){(function(process,Buffer){var stream=require("readable-stream");var eos=require("end-of-stream");var util=require("util");var SIGNAL_FLUSH=new Buffer([0]);var onuncork=function(self,fn){if(self._corked)self.once("uncork",fn);else fn()};var destroyer=function(self,end){return function(err){if(err)self.destroy(err.message==="premature close"?null:err);else if(end&&!self._ended)self.end()}};var end=function(ws,fn){if(!ws)return fn();if(ws._writableState&&ws._writableState.finished)return fn();if(ws._writableState)return ws.end(fn);ws.end();fn()};var toStreams2=function(rs){return new stream.Readable({objectMode:true,highWaterMark:16}).wrap(rs)};var Duplexify=function(writable,readable,opts){if(!(this instanceof Duplexify))return new Duplexify(writable,readable,opts);stream.Duplex.call(this,opts);this._writable=null;this._readable=null;this._readable2=null;this._forwardDestroy=!opts||opts.destroy!==false;this._corked=1;this._ondrain=null;this._drained=false;this._forwarding=false;this._unwrite=null;this._unread=null;this._ended=false;this.destroyed=false;if(writable)this.setWritable(writable);if(readable)this.setReadable(readable)};util.inherits(Duplexify,stream.Duplex);Duplexify.obj=function(writable,readable,opts){if(!opts)opts={};opts.objectMode=true;opts.highWaterMark=16;return new Duplexify(writable,readable,opts)};Duplexify.prototype.cork=function(){if(++this._corked===1)this.emit("cork")};Duplexify.prototype.uncork=function(){if(this._corked&&--this._corked===0)this.emit("uncork")};Duplexify.prototype.setWritable=function(writable){if(this._unwrite)this._unwrite();if(this.destroyed){if(writable&&writable.destroy)writable.destroy();return}if(writable===null||writable===false){this.end();return}var self=this;var unend=eos(writable,{writable:true,readable:false},destroyer(this,true));var ondrain=function(){var ondrain=self._ondrain;self._ondrain=null;if(ondrain)ondrain()};var clear=function(){self._writable.removeListener("drain",ondrain);unend()};if(this._unwrite)process.nextTick(ondrain);this._writable=writable;this._writable.on("drain",ondrain);this._unwrite=clear;this.uncork()};Duplexify.prototype.setReadable=function(readable){if(this._unread)this._unread();if(this.destroyed){if(readable&&readable.destroy)readable.destroy();return}if(readable===null||readable===false){this.push(null);this.resume();return}var self=this;var unend=eos(readable,{writable:false,readable:true},destroyer(this));var onreadable=function(){self._forward()};var onend=function(){self.push(null)};var clear=function(){self._readable2.removeListener("readable",onreadable);self._readable2.removeListener("end",onend);unend()};this._drained=true;this._readable=readable;this._readable2=readable._readableState?readable:toStreams2(readable);this._readable2.on("readable",onreadable);this._readable2.on("end",onend);this._unread=clear;this._forward()};Duplexify.prototype._read=function(){this._drained=true;this._forward()};Duplexify.prototype._forward=function(){if(this._forwarding||!this._readable2||!this._drained)return;this._forwarding=true;var data;while((data=this._readable2.read())!==null){this._drained=this.push(data)}this._forwarding=false};Duplexify.prototype.destroy=function(err){if(this.destroyed)return;this.destroyed=true;var self=this;process.nextTick(function(){self._destroy(err)})};Duplexify.prototype._destroy=function(err){if(err){var ondrain=this._ondrain;this._ondrain=null;if(ondrain)ondrain(err);else this.emit("error",err)}if(this._forwardDestroy){if(this._readable&&this._readable.destroy)this._readable.destroy();if(this._writable&&this._writable.destroy)this._writable.destroy()}this.emit("close")};Duplexify.prototype._write=function(data,enc,cb){if(this.destroyed)return cb();if(this._corked)return onuncork(this,this._write.bind(this,data,enc,cb));if(data===SIGNAL_FLUSH)return this._finish(cb);if(!this._writable)return cb();if(this._writable.write(data)===false)this._ondrain=cb;else cb()};Duplexify.prototype._finish=function(cb){var self=this;this.emit("preend");onuncork(this,function(){end(self._writable,function(){self.emit("prefinish");onuncork(self,cb)})})};Duplexify.prototype.end=function(data,enc,cb){if(typeof data==="function")return this.end(null,null,data);if(typeof enc==="function")return this.end(data,null,enc);this._ended=true;if(data)this.write(data);if(!this._writableState.ending)this.write(SIGNAL_FLUSH);return stream.Writable.prototype.end.call(this,cb)};module.exports=Duplexify}).call(this,require("_process"),require("buffer").Buffer)},{_process:44,buffer:19,"end-of-stream":160,"readable-stream":171,util:65}],160:[function(require,module,exports){var once=require("once");var noop=function(){};var isRequest=function(stream){return stream.setHeader&&typeof stream.abort==="function"};var eos=function(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var ws=stream._writableState;var rs=stream._readableState;var readable=opts.readable||opts.readable!==false&&stream.readable;
var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function(){if(!stream.writable)onfinish()};var onfinish=function(){writable=false;if(!readable)callback()};var onend=function(){readable=false;if(!writable)callback()};var onclose=function(){if(readable&&!(rs&&rs.ended))return callback(new Error("premature close"));if(writable&&!(ws&&ws.ended))return callback(new Error("premature close"))};var onrequest=function(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!ws){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",callback);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",callback);stream.removeListener("close",onclose)}};module.exports=eos},{once:161}],161:[function(require,module,exports){module.exports=once;once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true})});function once(fn){var f=function(){if(f.called)return f.value;f.called=true;return f.value=fn.apply(this,arguments)};f.called=false;return f}},{}],162:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{"./_stream_readable":164,"./_stream_writable":166,_process:44,"core-util-is":167,inherits:168}],163:[function(require,module,exports){module.exports=require(51)},{"./_stream_transform":165,"core-util-is":167,inherits:168}],164:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{_process:44,buffer:19,"core-util-is":167,events:35,inherits:168,isarray:169,stream:61,"string_decoder/":170}],165:[function(require,module,exports){module.exports=require(53)},{"./_stream_duplex":162,"core-util-is":167,inherits:168}],166:[function(require,module,exports){module.exports=require(54)},{"./_stream_duplex":162,_process:44,buffer:19,"core-util-is":167,inherits:168,stream:61}],167:[function(require,module,exports){module.exports=require(55)},{buffer:19}],168:[function(require,module,exports){module.exports=require(41)},{}],169:[function(require,module,exports){module.exports=require(42)},{}],170:[function(require,module,exports){module.exports=require(137)},{buffer:19}],171:[function(require,module,exports){arguments[4][58][0].apply(exports,arguments)},{"./lib/_stream_duplex.js":162,"./lib/_stream_passthrough.js":163,"./lib/_stream_readable.js":164,"./lib/_stream_transform.js":165,"./lib/_stream_writable.js":166}],172:[function(require,module,exports){var once=require("once");var eos=require("end-of-stream");var fs=require("fs");var noop=function(){};var isFn=function(fn){return typeof fn==="function"};var isFS=function(stream){return(stream instanceof(fs.ReadStream||noop)||stream instanceof(fs.WriteStream||noop))&&isFn(stream.close)};var isRequest=function(stream){return stream.setHeader&&isFn(stream.abort)};var destroyer=function(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",function(){closed=true});eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback()});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isFS(stream))return stream.close();if(isRequest(stream))return stream.abort();if(isFn(stream.destroy))return stream.destroy();callback(err||new Error("stream was destroyed"))}};var call=function(fn){fn()};var pipe=function(from,to){return from.pipe(to)};var pump=function(){var streams=Array.prototype.slice.call(arguments);var callback=isFn(streams[streams.length-1]||noop)&&streams.pop()||noop;if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2)throw new Error("pump requires two streams per minimum");var error;var destroys=streams.map(function(stream,i){var reading=i<streams.length-1;var writing=i>0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)})});return streams.reduce(pipe)};module.exports=pump},{"end-of-stream":173,fs:1,once:175}],173:[function(require,module,exports){module.exports=require(160)},{once:174}],174:[function(require,module,exports){module.exports=require(161)},{}],175:[function(require,module,exports){module.exports=once;once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true})});function once(fn){var f=function(){if(f.called)return;f.called=true;return fn.apply(this,arguments)};f.called=false;return f}},{}],176:[function(require,module,exports){(function(process){var cookies=require("./lib/cookies"),copy=require("./lib/copy"),Request=require("./request"),util=require("util");function initParams(uri,options,callback){var opts;if(typeof options==="function"&&!callback)callback=options;if(options&&typeof options==="object"){opts=util._extend({},options);opts.uri=uri}else if(typeof uri==="string"){opts={uri:uri}}else{opts=util._extend({},uri);uri=opts.uri}return{uri:uri,options:opts,callback:callback}}function request(uri,options,callback){var opts;if(typeof uri==="undefined")throw new Error("undefined is not a valid uri or options object.");if(typeof options==="function"&&!callback)callback=options;if(options&&typeof options==="object"){opts=util._extend({},options);opts.uri=uri}else if(typeof uri==="string"){opts={uri:uri}}else{opts=util._extend({},uri)}if(callback)opts.callback=callback;var r=new Request(opts);return r}module.exports=request;request.Request=Request;request.debug=process.env.NODE_DEBUG&&/request/.test(process.env.NODE_DEBUG);request.initParams=initParams;request.defaults=function(options,requester){var def=function(method){var d=function(uri,opts,callback){var params=initParams(uri,opts,callback);Object.keys(options).forEach(function(key){if(key!=="headers"&&params.options[key]===undefined){params.options[key]=options[key]}});if(options.headers){var headers={};util._extend(headers,options.headers);util._extend(headers,params.options.headers);params.options.headers=headers}if(typeof requester==="function"){if(method===request){method=requester}else{params.options._requester=requester}}return method(params.options,params.callback)};return d};var de=def(request);de.get=def(request.get);de.patch=def(request.patch);de.post=def(request.post);de.put=def(request.put);de.head=def(request.head);de.del=def(request.del);de.cookie=def(request.cookie);de.jar=request.jar;return de};function requester(params){if(typeof params.options._requester==="function"){return params.options._requester}else{return request}}request.forever=function(agentOptions,optionsArg){var options={};if(optionsArg){for(var option in optionsArg){options[option]=optionsArg[option]}}if(agentOptions)options.agentOptions=agentOptions;options.forever=true;return request.defaults(options)};request.get=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="GET";return requester(params)(params.uri||null,params.options,params.callback)};request.post=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="POST";return requester(params)(params.uri||null,params.options,params.callback)};request.put=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="PUT";return requester(params)(params.uri||null,params.options,params.callback)};request.patch=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="PATCH";return requester(params)(params.uri||null,params.options,params.callback)};request.head=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="HEAD";if(params.options.body||params.options.requestBodyStream||params.options.json&&typeof params.options.json!=="boolean"||params.options.multipart){throw new Error("HTTP HEAD requests MUST NOT include a request body.")}return requester(params)(params.uri||null,params.options,params.callback)};request.del=function(uri,options,callback){var params=initParams(uri,options,callback);params.options.method="DELETE";return requester(params)(params.uri||null,params.options,params.callback)};request.jar=function(){return cookies.jar()};request.cookie=function(str){return cookies.parse(str)}}).call(this,require("_process"))},{"./lib/cookies":177,"./lib/copy":178,"./request":194,_process:44,util:65}],177:[function(require,module,exports){var optional=require("./optional"),tough=optional("tough-cookie"),Cookie=tough&&tough.Cookie,CookieJar=tough&&tough.CookieJar;exports.parse=function(str){if(str&&str.uri)str=str.uri;if(typeof str!=="string")throw new Error("The cookie function only accepts STRING as param");if(!Cookie){return null}return Cookie.parse(str)};function RequestJar(){this._jar=new CookieJar}RequestJar.prototype.setCookie=function(cookieOrStr,uri,options){return this._jar.setCookieSync(cookieOrStr,uri,options||{})};RequestJar.prototype.getCookieString=function(uri){return this._jar.getCookieStringSync(uri)};RequestJar.prototype.getCookies=function(uri){return this._jar.getCookiesSync(uri)};exports.jar=function(){if(!CookieJar){return{setCookie:function(){},getCookieString:function(){},getCookies:function(){}}}return new RequestJar}},{"./optional":181}],178:[function(require,module,exports){module.exports=function copy(obj){var o={};Object.keys(obj).forEach(function(i){o[i]=obj[i]});return o}},{}],179:[function(require,module,exports){(function(process){var util=require("util");module.exports=function debug(){if(/\brequest\b/.test(process.env.NODE_DEBUG))console.error("REQUEST %s",util.format.apply(util,arguments))}}).call(this,require("_process"))},{_process:44,util:65}],180:[function(require,module,exports){module.exports=function getSafe(self,uuid){if(typeof self==="object"||typeof self==="function")var safe={};if(Array.isArray(self))var safe=[];var recurse=[];Object.defineProperty(self,uuid,{});var attrs=Object.keys(self).filter(function(i){if(i===uuid)return false;if(typeof self[i]!=="object"&&typeof self[i]!=="function"||self[i]===null)return true;return!Object.getOwnPropertyDescriptor(self[i],uuid)});for(var i=0;i<attrs.length;i++){if(typeof self[attrs[i]]!=="object"&&typeof self[attrs[i]]!=="function"||self[attrs[i]]===null){safe[attrs[i]]=self[attrs[i]]}else{recurse.push(attrs[i]);Object.defineProperty(self[attrs[i]],uuid,{})}}for(var i=0;i<recurse.length;i++){safe[recurse[i]]=getSafe(self[recurse[i]],uuid)}return safe}},{}],181:[function(require,module,exports){module.exports=function(moduleName){try{return module.parent.require(moduleName)}catch(e){}}},{}],182:[function(require,module,exports){module.exports=ForeverAgent;ForeverAgent.SSL=ForeverAgentSSL;var util=require("util"),Agent=require("http").Agent,net=require("net"),tls=require("tls"),AgentSSL=require("https").Agent;function ForeverAgent(options){var self=this;self.options=options||{};self.requests={};self.sockets={};self.freeSockets={};self.maxSockets=self.options.maxSockets||Agent.defaultMaxSockets;self.minSockets=self.options.minSockets||ForeverAgent.defaultMinSockets;self.on("free",function(socket,host,port){var name=host+":"+port;if(self.requests[name]&&self.requests[name].length){self.requests[name].shift().onSocket(socket)}else if(self.sockets[name].length<self.minSockets){if(!self.freeSockets[name])self.freeSockets[name]=[];self.freeSockets[name].push(socket);var onIdleError=function(){socket.destroy()};socket._onIdleError=onIdleError;socket.on("error",onIdleError)}else{socket.destroy()}})}util.inherits(ForeverAgent,Agent);ForeverAgent.defaultMinSockets=5;ForeverAgent.prototype.createConnection=net.createConnection;ForeverAgent.prototype.addRequestNoreuse=Agent.prototype.addRequest;ForeverAgent.prototype.addRequest=function(req,host,port){var name=host+":"+port;if(this.freeSockets[name]&&this.freeSockets[name].length>0&&!req.useChunkedEncodingByDefault){var idleSocket=this.freeSockets[name].pop();idleSocket.removeListener("error",idleSocket._onIdleError);delete idleSocket._onIdleError;req._reusedSocket=true;req.onSocket(idleSocket)}else{this.addRequestNoreuse(req,host,port)}};ForeverAgent.prototype.removeSocket=function(s,name,host,port){if(this.sockets[name]){var index=this.sockets[name].indexOf(s);if(index!==-1){this.sockets[name].splice(index,1)}}else if(this.sockets[name]&&this.sockets[name].length===0){delete this.sockets[name];delete this.requests[name]}if(this.freeSockets[name]){var index=this.freeSockets[name].indexOf(s);if(index!==-1){this.freeSockets[name].splice(index,1);if(this.freeSockets[name].length===0){delete this.freeSockets[name]}}}if(this.requests[name]&&this.requests[name].length){this.createSocket(name,host,port).emit("free")}};function ForeverAgentSSL(options){ForeverAgent.call(this,options)}util.inherits(ForeverAgentSSL,ForeverAgent);ForeverAgentSSL.prototype.createConnection=createConnectionSSL;ForeverAgentSSL.prototype.addRequestNoreuse=AgentSSL.prototype.addRequest;function createConnectionSSL(port,host,options){if(typeof port==="object"){options=port}else if(typeof host==="object"){options=host}else if(typeof options==="object"){options=options}else{options={}}if(typeof port==="number"){options.port=port}if(typeof host==="string"){options.host=host}return tls.connect(options)}},{http:36,https:40,net:1,tls:1,util:65}],183:[function(require,module,exports){module.exports=stringify;function getSerialize(fn,decycle){var seen=[],keys=[];decycle=decycle||function(key,value){return"[Circular "+getPath(value,seen,keys)+"]"};return function(key,value){var ret=value;if(typeof value==="object"&&value){if(seen.indexOf(value)!==-1)ret=decycle(key,value);else{seen.push(value);keys.push(key)}}if(fn)ret=fn(key,ret);return ret}}function getPath(value,seen,keys){var index=seen.indexOf(value);var path=[keys[index]];for(index--;index>=0;index--){if(seen[index][path[0]]===value){value=seen[index];path.unshift(keys[index])}}return"~"+path.join(".")}function stringify(obj,fn,spaces,decycle){return JSON.stringify(obj,getSerialize(fn,decycle),spaces)}stringify.getSerialize=getSerialize},{}],184:[function(require,module,exports){module.exports={"text/jade":["jade"],"text/stylus":["stylus","styl"],"text/less":["less"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/coffeescript":["coffee"],"text/x-handlebars-template":["hbs"],"text/jsx":["jsx"]}},{}],185:[function(require,module,exports){exports.types=Object.create(null);exports.extensions=Object.create(null);exports.define=define;exports.json={mime:require("./mime.json"),node:require("./node.json"),custom:require("./custom.json")};exports.lookup=function(string){if(!string||typeof string!=="string")return false;string=string.replace(/.*[\.\/\\]/,"").toLowerCase();if(!string)return false;return exports.types[string]||false};exports.extension=function(type){if(!type||typeof type!=="string")return false;type=type.match(/^\s*([^;\s]*)(?:;|\s|$)/);if(!type)return false;var exts=exports.extensions[type[1].toLowerCase()];if(!exts||!exts.length)return false;return exts[0]};exports.charset=function(type){switch(type){case"application/json":return"UTF-8";case"application/javascript":return"UTF-8"}if(/^text\//.test(type))return"UTF-8";return false};exports.charsets={lookup:exports.charset};exports.contentType=function(type){if(!type||typeof type!=="string")return false;if(!~type.indexOf("/"))type=exports.lookup(type);if(!type)return false;if(!~type.indexOf("charset")){var charset=exports.charset(type);if(charset)type+="; charset="+charset.toLowerCase()}return type};define(exports.json.mime);define(exports.json.node);define(exports.json.custom);function define(json){Object.keys(json).forEach(function(type){var exts=json[type]||[];exports.extensions[type]=exports.extensions[type]||[];exts.forEach(function(ext){if(!~exports.extensions[type].indexOf(ext))exports.extensions[type].push(ext);exports.types[ext]=type})})}},{"./custom.json":184,"./mime.json":186,"./node.json":187}],186:[function(require,module,exports){module.exports={"application/1d-interleaved-parityfec":[],"application/3gpp-ims+xml":[],"application/activemessage":[],"application/andrew-inset":["ez"],"application/applefile":[],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomicmail":[],"application/atomsvc+xml":["atomsvc"],"application/auth-policy+xml":[],"application/batch-smtp":[],"application/beep+xml":[],"application/calendar+xml":[],"application/cals-1840":[],"application/ccmp+xml":[],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cea-2018+xml":[],"application/cellml+xml":[],"application/cfw":[],"application/cnrp+xml":[],"application/commonground":[],"application/conference-info+xml":[],"application/cpl+xml":[],"application/csta+xml":[],"application/cstadata+xml":[],"application/cu-seeme":["cu"],"application/cybercash":[],"application/davmount+xml":["davmount"],"application/dca-rft":[],"application/dec-dx":[],"application/dialog-info+xml":[],"application/dicom":[],"application/dns":[],"application/docbook+xml":["dbk"],"application/dskpp+xml":[],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/dvcs":[],"application/ecmascript":["ecma"],"application/edi-consent":[],"application/edi-x12":[],"application/edifact":[],"application/emma+xml":["emma"],"application/epp+xml":[],"application/epub+zip":["epub"],"application/eshop":[],"application/example":[],"application/exi":["exi"],"application/fastinfoset":[],"application/fastsoap":[],"application/fits":[],"application/font-tdpfr":["pfr"],"application/framework-attributes+xml":[],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/h224":[],"application/held+xml":[],"application/http":[],"application/hyperstudio":["stk"],"application/ibe-key-request+xml":[],"application/ibe-pkg-reply+xml":[],"application/ibe-pp-data":[],"application/iges":[],"application/im-iscomposing+xml":[],"application/index":[],"application/index.cmd":[],"application/index.obj":[],"application/index.response":[],"application/index.vnd":[],"application/inkml+xml":["ink","inkml"],"application/iotp":[],"application/ipfix":["ipfix"],"application/ipp":[],"application/isup":[],"application/java-archive":["jar"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js"],"application/json":["json"],"application/jsonml+json":["jsonml"],"application/kpml-request+xml":[],"application/kpml-response+xml":[],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/macwriteii":[],"application/mads+xml":["mads"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml-content+xml":[],"application/mathml-presentation+xml":[],"application/mathml+xml":["mathml"],"application/mbms-associated-procedure-description+xml":[],"application/mbms-deregister+xml":[],"application/mbms-envelope+xml":[],"application/mbms-msk+xml":[],"application/mbms-msk-response+xml":[],"application/mbms-protection-description+xml":[],"application/mbms-reception-report+xml":[],"application/mbms-register+xml":[],"application/mbms-register-response+xml":[],"application/mbms-user-service-description+xml":[],"application/mbox":["mbox"],"application/media_control+xml":[],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mikey":[],"application/mods+xml":["mods"],"application/moss-keys":[],"application/moss-signature":[],"application/mosskey-data":[],"application/mosskey-request":[],"application/mp21":["m21","mp21"],"application/mp4":["mp4s"],"application/mpeg4-generic":[],"application/mpeg4-iod":[],"application/mpeg4-iod-xmt":[],"application/msc-ivr+xml":[],"application/msc-mixer+xml":[],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/nasdata":[],"application/news-checkgroups":[],"application/news-groupinfo":[],"application/news-transmission":[],"application/nss":[],"application/ocsp-request":[],"application/ocsp-response":[],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/parityfec":[],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":[],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pidf+xml":[],"application/pidf-diff+xml":[],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/poc-settings+xml":[],"application/postscript":["ai","eps","ps"],"application/prs.alvestrand.titrax-sheet":[],"application/prs.cww":["cww"],"application/prs.nprend":[],"application/prs.plucker":[],"application/prs.rdf-xml-crypt":[],"application/prs.xsf+xml":[],"application/pskc+xml":["pskcxml"],"application/qsig":[],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/remote-printing":[],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/riscos":[],"application/rlmi+xml":[],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rpki-updown":[],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/rtx":[],"application/samlassertion+xml":[],"application/samlmetadata+xml":[],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment":[],"application/set-payment-initiation":["setpay"],"application/set-registration":[],"application/set-registration-initiation":["setreg"],"application/sgml":[],"application/sgml-open-catalog":[],"application/shf+xml":["shf"],"application/sieve":[],"application/simple-filter+xml":[],"application/simple-message-summary":[],"application/simplesymbolcontainer":[],"application/slate":[],"application/smil":[],"application/smil+xml":["smi","smil"],"application/soap+fastinfoset":[],"application/soap+xml":[],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/spirits-event+xml":[],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tamp-apex-update":[],"application/tamp-apex-update-confirm":[],"application/tamp-community-update":[],"application/tamp-community-update-confirm":[],"application/tamp-error":[],"application/tamp-sequence-adjust":[],"application/tamp-sequence-adjust-confirm":[],"application/tamp-status-query":[],"application/tamp-status-response":[],"application/tamp-update":[],"application/tamp-update-confirm":[],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamp-query":[],"application/timestamp-reply":[],"application/timestamped-data":["tsd"],"application/tve-trigger":[],"application/ulpfec":[],"application/vcard+xml":[],"application/vemmi":[],"application/vividence.scriptfile":[],"application/vnd.3gpp.bsf+xml":[],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp.sms":[],"application/vnd.3gpp2.bcmcsinfo+xml":[],"application/vnd.3gpp2.sms":[],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.partial-upload":[],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.aether.imp":[],"application/vnd.ah-barcode":[],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.amundsen.maze+xml":[],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.arastra.swi":[],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autopackage":[],"application/vnd.avistar+xml":[],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bluetooth.ep.oob":[],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.cab-jscript":[],"application/vnd.canon-cpdl":[],"application/vnd.canon-lips":[],"application/vnd.cendio.thinlinc.clientconf":[],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.cirpack.isdn-ext":[],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.collection+json":[],"application/vnd.commerce-battelle":[],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.ctct.ws+xml":[],"application/vnd.cups-pdf":[],"application/vnd.cups-postscript":[],"application/vnd.cups-ppd":["ppd"],"application/vnd.cups-raster":[],"application/vnd.cups-raw":[],"application/vnd.curl":[],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.cybank":[],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dir-bi.plate-dl-nosuffix":[],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dolby.mobile.1":[],"application/vnd.dolby.mobile.2":[],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.dvbj":[],"application/vnd.dvb.esgcontainer":[],"application/vnd.dvb.ipdcdftnotifaccess":[],"application/vnd.dvb.ipdcesgaccess":[],"application/vnd.dvb.ipdcesgaccess2":[],"application/vnd.dvb.ipdcesgpdd":[],"application/vnd.dvb.ipdcroaming":[],"application/vnd.dvb.iptv.alfec-base":[],"application/vnd.dvb.iptv.alfec-enhancement":[],"application/vnd.dvb.notif-aggregate-root+xml":[],"application/vnd.dvb.notif-container+xml":[],"application/vnd.dvb.notif-generic+xml":[],"application/vnd.dvb.notif-ia-msglist+xml":[],"application/vnd.dvb.notif-ia-registration-request+xml":[],"application/vnd.dvb.notif-ia-registration-response+xml":[],"application/vnd.dvb.notif-init+xml":[],"application/vnd.dvb.pfr":[],"application/vnd.dvb.service":["svc"],"application/vnd.dxr":[],"application/vnd.dynageo":["geo"],"application/vnd.easykaraoke.cdgdownload":[],"application/vnd.ecdis-update":[],"application/vnd.ecowin.chart":["mag"],"application/vnd.ecowin.filerequest":[],"application/vnd.ecowin.fileupdate":[],"application/vnd.ecowin.series":[],"application/vnd.ecowin.seriesrequest":[],"application/vnd.ecowin.seriesupdate":[],"application/vnd.emclient.accessrequest+xml":[],"application/vnd.enliven":["nml"],"application/vnd.eprints.data+xml":[],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.ericsson.quickcall":[],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.etsi.aoc+xml":[],"application/vnd.etsi.cug+xml":[],"application/vnd.etsi.iptvcommand+xml":[],"application/vnd.etsi.iptvdiscovery+xml":[],"application/vnd.etsi.iptvprofile+xml":[],"application/vnd.etsi.iptvsad-bc+xml":[],"application/vnd.etsi.iptvsad-cod+xml":[],"application/vnd.etsi.iptvsad-npvr+xml":[],"application/vnd.etsi.iptvservice+xml":[],"application/vnd.etsi.iptvsync+xml":[],"application/vnd.etsi.iptvueprofile+xml":[],"application/vnd.etsi.mcid+xml":[],"application/vnd.etsi.overload-control-policy-dataset+xml":[],"application/vnd.etsi.sci+xml":[],"application/vnd.etsi.simservs+xml":[],"application/vnd.etsi.tsl+xml":[],"application/vnd.etsi.tsl.der":[],"application/vnd.eudora.data":[],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.f-secure.mobile":[],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.ffsns":[],"application/vnd.fints":[],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.font-fontforge-sfd":[],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.art-ex":[],"application/vnd.fujixerox.art4":[],"application/vnd.fujixerox.hbpl":[],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fut-misnet":[],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geocube+xml":[],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.globalplatform.card-content-mgt":[],"application/vnd.globalplatform.card-content-mgt-response":[],"application/vnd.gmx":["gmx"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.gridmp":[],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+json":[],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hcl-bireports":[],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.httphone":[],"application/vnd.hzn-3d-crossword":[],"application/vnd.ibm.afplinedata":[],"application/vnd.ibm.electronic-media":[],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.informedcontrol.rms+xml":[],"application/vnd.informix-visionary":[],"application/vnd.infotech.project":[],"application/vnd.infotech.project+xml":[],"application/vnd.innopath.wamp.notification":[],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intertrust.digibox":[],"application/vnd.intertrust.nncp":[],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.iptc.g2.conceptitem+xml":[],"application/vnd.iptc.g2.knowledgeitem+xml":[],"application/vnd.iptc.g2.newsitem+xml":[],"application/vnd.iptc.g2.newsmessage+xml":[],"application/vnd.iptc.g2.packageitem+xml":[],"application/vnd.iptc.g2.planningitem+xml":[],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.japannet-directory-service":[],"application/vnd.japannet-jpnstore-wakeup":[],"application/vnd.japannet-payment-wakeup":[],"application/vnd.japannet-registration":[],"application/vnd.japannet-registration-wakeup":[],"application/vnd.japannet-setstore-wakeup":[],"application/vnd.japannet-verification":[],"application/vnd.japannet-verification-wakeup":[],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.liberty-request+xml":[],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.marlin.drm.actiontoken+xml":[],"application/vnd.marlin.drm.conftoken+xml":[],"application/vnd.marlin.drm.license+xml":[],"application/vnd.marlin.drm.mdcf":[],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.meridian-slingshot":[],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.minisoft-hp3000-save":[],"application/vnd.mitsubishi.misty-guard.trustweb":[],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.motorola.flexsuite":[],"application/vnd.motorola.flexsuite.adsi":[],"application/vnd.motorola.flexsuite.fis":[],"application/vnd.motorola.flexsuite.gotap":[],"application/vnd.motorola.flexsuite.kmr":[],"application/vnd.motorola.flexsuite.ttc":[],"application/vnd.motorola.flexsuite.wem":[],"application/vnd.motorola.iprm":[],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-asf":[],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-color.iccprofile":[],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-office.activex+xml":[],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-opentype":[],"application/vnd.ms-package.obfuscated-opentype":[],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-playready.initiator+xml":[],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-printing.printticket+xml":[],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-tnef":[],"application/vnd.ms-wmdrm.lic-chlg-req":[],"application/vnd.ms-wmdrm.lic-resp":[],"application/vnd.ms-wmdrm.meter-chlg-req":[],"application/vnd.ms-wmdrm.meter-resp":[],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.msign":[],"application/vnd.multiad.creator":[],"application/vnd.multiad.creator.cif":[],"application/vnd.music-niff":[],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.ncd.control":[],"application/vnd.ncd.reference":[],"application/vnd.nervana":[],"application/vnd.netfpx":[],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.catalogs":[],"application/vnd.nokia.conml+wbxml":[],"application/vnd.nokia.conml+xml":[],"application/vnd.nokia.isds-radio-presets":[],"application/vnd.nokia.iptv.config+xml":[],"application/vnd.nokia.landmark+wbxml":[],"application/vnd.nokia.landmark+xml":[],"application/vnd.nokia.landmarkcollection+xml":[],"application/vnd.nokia.n-gage.ac+xml":[],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.ncd":[],"application/vnd.nokia.pcd+wbxml":[],"application/vnd.nokia.pcd+xml":[],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.ntt-local.file-transfer":[],"application/vnd.ntt-local.sip-ta_remote":[],"application/vnd.ntt-local.sip-ta_tcp_stream":[],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.obn":[],"application/vnd.oftn.l10n+json":[],"application/vnd.oipf.contentaccessdownload+xml":[],"application/vnd.oipf.contentaccessstreaming+xml":[],"application/vnd.oipf.cspg-hexbinary":[],"application/vnd.oipf.dae.svg+xml":[],"application/vnd.oipf.dae.xhtml+xml":[],"application/vnd.oipf.mippvcontrolmessage+xml":[],"application/vnd.oipf.pae.gem":[],"application/vnd.oipf.spdiscovery+xml":[],"application/vnd.oipf.spdlist+xml":[],"application/vnd.oipf.ueprofile+xml":[],"application/vnd.oipf.userprofile+xml":[],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma-scws-config":[],"application/vnd.oma-scws-http-request":[],"application/vnd.oma-scws-http-response":[],"application/vnd.oma.bcast.associated-procedure-parameter+xml":[],"application/vnd.oma.bcast.drm-trigger+xml":[],"application/vnd.oma.bcast.imd+xml":[],"application/vnd.oma.bcast.ltkm":[],"application/vnd.oma.bcast.notification+xml":[],"application/vnd.oma.bcast.provisioningtrigger":[],"application/vnd.oma.bcast.sgboot":[],"application/vnd.oma.bcast.sgdd+xml":[],"application/vnd.oma.bcast.sgdu":[],"application/vnd.oma.bcast.simple-symbol-container":[],"application/vnd.oma.bcast.smartcard-trigger+xml":[],"application/vnd.oma.bcast.sprov+xml":[],"application/vnd.oma.bcast.stkm":[],"application/vnd.oma.cab-address-book+xml":[],"application/vnd.oma.cab-feature-handler+xml":[],"application/vnd.oma.cab-pcc+xml":[],"application/vnd.oma.cab-user-prefs+xml":[],"application/vnd.oma.dcd":[],"application/vnd.oma.dcdc":[],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.oma.drm.risd+xml":[],"application/vnd.oma.group-usage-list+xml":[],"application/vnd.oma.pal+xml":[],"application/vnd.oma.poc.detailed-progress-report+xml":[],"application/vnd.oma.poc.final-report+xml":[],"application/vnd.oma.poc.groups+xml":[],"application/vnd.oma.poc.invocation-descriptor+xml":[],"application/vnd.oma.poc.optimized-progress-report+xml":[],"application/vnd.oma.push":[],"application/vnd.oma.scidm.messages+xml":[],"application/vnd.oma.xcap-directory+xml":[],"application/vnd.omads-email+xml":[],"application/vnd.omads-file+xml":[],"application/vnd.omads-folder+xml":[],"application/vnd.omaloc-supl-init":[],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.custom-properties+xml":[],"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":[],"application/vnd.openxmlformats-officedocument.drawing+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":[],"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":[],"application/vnd.openxmlformats-officedocument.extended-properties+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":[],"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":[],"application/vnd.openxmlformats-officedocument.theme+xml":[],"application/vnd.openxmlformats-officedocument.themeoverride+xml":[],"application/vnd.openxmlformats-officedocument.vmldrawing":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":[],"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":[],"application/vnd.openxmlformats-package.core-properties+xml":[],"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":[],"application/vnd.openxmlformats-package.relationships+xml":[],"application/vnd.quobject-quoxdocument":[],"application/vnd.osa.netdeploy":[],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.bundle":[],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.otps.ct-kip+xml":[],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.paos.xml":[],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.piaccess.application-licence":[],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.poc.group-advertisement+xml":[],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.powerbuilder6-s":[],"application/vnd.powerbuilder7":[],"application/vnd.powerbuilder7-s":[],"application/vnd.powerbuilder75":[],"application/vnd.powerbuilder75-s":[],"application/vnd.preminet":[],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-multiplexed":[],"application/vnd.pwg-xhtml-print+xml":[],"application/vnd.qualcomm.brew-app-res":[],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.radisys.moml+xml":[],"application/vnd.radisys.msml+xml":[],"application/vnd.radisys.msml-audit+xml":[],"application/vnd.radisys.msml-audit-conf+xml":[],"application/vnd.radisys.msml-audit-conn+xml":[],"application/vnd.radisys.msml-audit-dialog+xml":[],"application/vnd.radisys.msml-audit-stream+xml":[],"application/vnd.radisys.msml-conf+xml":[],"application/vnd.radisys.msml-dialog+xml":[],"application/vnd.radisys.msml-dialog-base+xml":[],"application/vnd.radisys.msml-dialog-fax-detect+xml":[],"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":[],"application/vnd.radisys.msml-dialog-group+xml":[],"application/vnd.radisys.msml-dialog-speech+xml":[],"application/vnd.radisys.msml-dialog-transform+xml":[],"application/vnd.rainstor.data":[],"application/vnd.rapid":[],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.renlearn.rlprint":[],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.rs-274x":[],"application/vnd.ruckus.download":[],"application/vnd.s3sms":[],"application/vnd.sailingtracker.track":["st"],"application/vnd.sbm.cid":[],"application/vnd.sbm.mid2":[],"application/vnd.scribus":[],"application/vnd.sealed.3df":[],"application/vnd.sealed.csf":[],"application/vnd.sealed.doc":[],"application/vnd.sealed.eml":[],"application/vnd.sealed.mht":[],"application/vnd.sealed.net":[],"application/vnd.sealed.ppt":[],"application/vnd.sealed.tiff":[],"application/vnd.sealed.xls":[],"application/vnd.sealedmedia.softseal.html":[],"application/vnd.sealedmedia.softseal.pdf":[],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.notebook":[],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":[],"application/vnd.software602.filler.form-xml-zip":[],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.sss-cod":[],"application/vnd.sss-dtf":[],"application/vnd.sss-ntf":[],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.street-stream":[],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sun.wadl+xml":[],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.swiftview-ics":[],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dm.notification":[],"application/vnd.syncml.ds.notification":[],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.truedoc":[],"application/vnd.ubisoft.webplayer":[],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.uplanet.alert":[],"application/vnd.uplanet.alert-wbxml":[],"application/vnd.uplanet.bearer-choice":[],"application/vnd.uplanet.bearer-choice-wbxml":[],"application/vnd.uplanet.cacheop":[],"application/vnd.uplanet.cacheop-wbxml":[],"application/vnd.uplanet.channel":[],"application/vnd.uplanet.channel-wbxml":[],"application/vnd.uplanet.list":[],"application/vnd.uplanet.list-wbxml":[],"application/vnd.uplanet.listcmd":[],"application/vnd.uplanet.listcmd-wbxml":[],"application/vnd.uplanet.signal":[],"application/vnd.vcx":["vcx"],"application/vnd.vd-study":[],"application/vnd.vectorworks":[],"application/vnd.verimatrix.vcas":[],"application/vnd.vidsoft.vidconference":[],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vividence.scriptfile":[],"application/vnd.vsf":["vsf"],"application/vnd.wap.sic":[],"application/vnd.wap.slc":[],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wfa.wsc":[],"application/vnd.wmc":[],"application/vnd.wmf.bootstrap":[],"application/vnd.wolfram.mathematica":[],"application/vnd.wolfram.mathematica.package":[],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wrq-hp3000-labelled":[],"application/vnd.wt.stf":["stf"],"application/vnd.wv.csp+wbxml":[],"application/vnd.wv.csp+xml":[],"application/vnd.wv.ssp+xml":[],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.xfdl.webform":[],"application/vnd.xmi+xml":[],"application/vnd.xmpie.cpkg":[],"application/vnd.xmpie.dpkg":[],"application/vnd.xmpie.plan":[],"application/vnd.xmpie.ppkg":[],"application/vnd.xmpie.xlim":[],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.remote-setup":[],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yamaha.through-ngn":[],"application/vnd.yamaha.tunnel-udpencap":[],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/vq-rtcpxr":[],"application/watcherinfo+xml":[],"application/whoispp-query":[],"application/whoispp-response":[],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wita":[],"application/wordperfect5.1":[],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-amf":[],"application/x-apple-diskimage":["dmg"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-conference":["nsc"],"application/x-compress":[],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-dos":[],"application/x-font-framemaker":[],"application/x-font-ghostscript":["gsf"],"application/x-font-libgrx":[],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-speedo":[],"application/x-font-sunos-news":[],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/font-woff":["woff"],"application/x-font-vfont":[],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-gzip":[],"application/x-hdf":["hdf"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lzh-compressed":["lzh","lha"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-nzb":["nzb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-research-info-systems":["ris"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-wais-source":["src"],"application/x-x509-ca-cert":["der","crt"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/x400-bp":[],"application/xaml+xml":["xaml"],"application/xcap-att+xml":[],"application/xcap-caps+xml":[],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":[],"application/xcap-error+xml":[],"application/xcap-ns+xml":[],"application/xcon-conference-info-diff+xml":[],"application/xcon-conference-info+xml":[],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xhtml-voice+xml":[],"application/xml":["xml","xsl"],"application/xml-dtd":["dtd"],"application/xml-external-parsed-entity":[],"application/xmpp+xml":[],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/1d-interleaved-parityfec":[],"audio/32kadpcm":[],"audio/3gpp":[],"audio/3gpp2":[],"audio/ac3":[],"audio/adpcm":["adp"],"audio/amr":[],"audio/amr-wb":[],"audio/amr-wb+":[],"audio/asc":[],"audio/atrac-advanced-lossless":[],"audio/atrac-x":[],"audio/atrac3":[],"audio/basic":["au","snd"],"audio/bv16":[],"audio/bv32":[],"audio/clearmode":[],"audio/cn":[],"audio/dat12":[],"audio/dls":[],"audio/dsr-es201108":[],"audio/dsr-es202050":[],"audio/dsr-es202211":[],"audio/dsr-es202212":[],"audio/dv":[],"audio/dvi4":[],"audio/eac3":[],"audio/evrc":[],"audio/evrc-qcp":[],"audio/evrc0":[],"audio/evrc1":[],"audio/evrcb":[],"audio/evrcb0":[],"audio/evrcb1":[],"audio/evrcwb":[],"audio/evrcwb0":[],"audio/evrcwb1":[],"audio/example":[],"audio/fwdred":[],"audio/g719":[],"audio/g722":[],"audio/g7221":[],"audio/g723":[],"audio/g726-16":[],"audio/g726-24":[],"audio/g726-32":[],"audio/g726-40":[],"audio/g728":[],"audio/g729":[],"audio/g7291":[],"audio/g729d":[],"audio/g729e":[],"audio/gsm":[],"audio/gsm-efr":[],"audio/gsm-hr-08":[],"audio/ilbc":[],"audio/ip-mr_v2.5":[],"audio/isac":[],"audio/l16":[],"audio/l20":[],"audio/l24":[],"audio/l8":[],"audio/lpc":[],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":[],"audio/mp4":["mp4a"],"audio/mp4a-latm":[],"audio/mpa":[],"audio/mpa-robust":[],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/mpeg4-generic":[],"audio/musepack":[],"audio/ogg":["oga","ogg","spx"],"audio/opus":[],"audio/parityfec":[],"audio/pcma":[],"audio/pcma-wb":[],"audio/pcmu-wb":[],"audio/pcmu":[],"audio/prs.sid":[],"audio/qcelp":[],"audio/red":[],"audio/rtp-enc-aescm128":[],"audio/rtp-midi":[],"audio/rtx":[],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/smv":[],"audio/smv0":[],"audio/smv-qcp":[],"audio/sp-midi":[],"audio/speex":[],"audio/t140c":[],"audio/t38":[],"audio/telephone-event":[],"audio/tone":[],"audio/uemclip":[],"audio/ulpfec":[],"audio/vdvi":[],"audio/vmr-wb":[],"audio/vnd.3gpp.iufp":[],"audio/vnd.4sb":[],"audio/vnd.audiokoz":[],"audio/vnd.celp":[],"audio/vnd.cisco.nse":[],"audio/vnd.cmles.radio-events":[],"audio/vnd.cns.anp1":[],"audio/vnd.cns.inf1":[],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dlna.adts":[],"audio/vnd.dolby.heaac.1":[],"audio/vnd.dolby.heaac.2":[],"audio/vnd.dolby.mlp":[],"audio/vnd.dolby.mps":[],"audio/vnd.dolby.pl2":[],"audio/vnd.dolby.pl2x":[],"audio/vnd.dolby.pl2z":[],"audio/vnd.dolby.pulse.1":[],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.dvb.file":[],"audio/vnd.everad.plj":[],"audio/vnd.hns.audio":[],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nokia.mobile-xmf":[],"audio/vnd.nortel.vbk":[],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.octel.sbc":[],"audio/vnd.qcelp":[],"audio/vnd.rhetorex.32kadpcm":[],"audio/vnd.rip":["rip"],"audio/vnd.sealedmedia.softseal.mpeg":[],"audio/vnd.vmx.cvsd":[],"audio/vorbis":[],"audio/vorbis-config":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-tta":[],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-pdb":[],"chemical/x-xyz":["xyz"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/example":[],"image/fits":[],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":[],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":[],"image/jpx":[],"image/ktx":["ktx"],"image/naplps":[],"image/png":["png"],"image/prs.btif":["btif"],"image/prs.pti":[],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":[],"image/tiff":["tiff","tif"],"image/tiff-fx":[],"image/vnd.adobe.photoshop":["psd"],"image/vnd.cns.inf2":[],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.globalgraphics.pgb":[],"image/vnd.microsoft.icon":[],"image/vnd.mix":[],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.radiance":[],"image/vnd.sealed.png":[],"image/vnd.sealedmedia.softseal.gif":[],"image/vnd.sealedmedia.softseal.jpg":[],"image/vnd.svf":[],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-mrsid-image":["sid"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/cpim":[],"message/delivery-status":[],"message/disposition-notification":[],"message/example":[],"message/external-body":[],"message/feedback-report":[],"message/global":[],"message/global-delivery-status":[],"message/global-disposition-notification":[],"message/global-headers":[],"message/http":[],"message/imdn+xml":[],"message/news":[],"message/partial":[],"message/rfc822":["eml","mime"],"message/s-http":[],"message/sip":[],"message/sipfrag":[],"message/tracking-status":[],"message/vnd.si.simp":[],"model/example":[],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.flatland.3dml":[],"model/vnd.gdl":["gdl"],"model/vnd.gs-gdl":[],"model/vnd.gs.gdl":[],"model/vnd.gtw":["gtw"],"model/vnd.moml+xml":[],"model/vnd.mts":["mts"],"model/vnd.parasolid.transmit.binary":[],"model/vnd.parasolid.transmit.text":[],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"multipart/alternative":[],"multipart/appledouble":[],"multipart/byteranges":[],"multipart/digest":[],"multipart/encrypted":[],"multipart/example":[],"multipart/form-data":[],"multipart/header-set":[],"multipart/mixed":[],"multipart/parallel":[],"multipart/related":[],"multipart/report":[],"multipart/signed":[],"multipart/voice-message":[],"text/1d-interleaved-parityfec":[],"text/cache-manifest":["appcache"],"text/calendar":["ics","ifb"],"text/css":["css"],"text/csv":["csv"],"text/directory":[],"text/dns":[],"text/ecmascript":[],"text/enriched":[],"text/example":[],"text/fwdred":[],"text/html":["html","htm"],"text/javascript":[],"text/n3":["n3"],"text/parityfec":[],"text/plain":["txt","text","conf","def","list","log","in"],"text/prs.fallenstein.rst":[],"text/prs.lines.tag":["dsc"],"text/vnd.radisys.msml-basic-layout":[],"text/red":[],"text/rfc822-headers":[],"text/richtext":["rtx"],"text/rtf":[],"text/rtp-enc-aescm128":[],"text/rtx":[],"text/sgml":["sgml","sgm"],"text/t140":[],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/ulpfec":[],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.abc":[],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.dmclientscript":[],"text/vnd.dvb.subtitle":["sub"],"text/vnd.esmertec.theme-descriptor":[],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.iptc.newsml":[],"text/vnd.iptc.nitf":[],"text/vnd.latex-z":[],"text/vnd.motorola.reflex":[],"text/vnd.ms-mediapackage":[],"text/vnd.net2phone.commcenter.command":[],"text/vnd.si.uricatalogue":[],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.trolltech.linguist":[],"text/vnd.wap.si":[],"text/vnd.wap.sl":[],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-fortran":["f","for","f77","f90"],"text/x-java-source":["java"],"text/x-opml":["opml"],"text/x-pascal":["p","pas"],"text/x-nfo":["nfo"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/xml-external-parsed-entity":[],"video/1d-interleaved-parityfec":[],"video/3gpp":["3gp"],"video/3gpp-tt":[],"video/3gpp2":["3g2"],"video/bmpeg":[],"video/bt656":[],"video/celb":[],"video/dv":[],"video/example":[],"video/h261":["h261"],"video/h263":["h263"],"video/h263-1998":[],"video/h263-2000":[],"video/h264":["h264"],"video/h264-rcdo":[],"video/h264-svc":[],"video/jpeg":["jpgv"],"video/jpeg2000":[],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp1s":[],"video/mp2p":[],"video/mp2t":[],"video/mp4":["mp4","mp4v","mpg4"],"video/mp4v-es":[],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/mpeg4-generic":[],"video/mpv":[],"video/nv":[],"video/ogg":["ogv"],"video/parityfec":[],"video/pointer":[],"video/quicktime":["qt","mov"],"video/raw":[],"video/rtp-enc-aescm128":[],"video/rtx":[],"video/smpte292m":[],"video/ulpfec":[],"video/vc1":[],"video/vnd.cctv":[],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.mp4":[],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.directv.mpeg":[],"video/vnd.directv.mpeg-tts":[],"video/vnd.dlna.mpeg-tts":[],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.hns.video":[],"video/vnd.iptvforum.1dparityfec-1010":[],"video/vnd.iptvforum.1dparityfec-2005":[],"video/vnd.iptvforum.2dparityfec-1010":[],"video/vnd.iptvforum.2dparityfec-2005":[],"video/vnd.iptvforum.ttsavc":[],"video/vnd.iptvforum.ttsmpeg2":[],"video/vnd.motorola.video":[],"video/vnd.motorola.videop":[],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.nokia.interleaved-multimedia":[],"video/vnd.nokia.videovoip":[],"video/vnd.objectvideo":[],"video/vnd.sealed.mpeg1":[],"video/vnd.sealed.mpeg4":[],"video/vnd.sealed.swf":[],"video/vnd.sealedmedia.softseal.mov":[],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}
},{}],187:[function(require,module,exports){module.exports={"text/vtt":["vtt"],"application/x-chrome-extension":["crx"],"text/x-component":["htc"],"text/cache-manifest":["manifest"],"application/octet-stream":["buffer"],"application/mp4":["m4p"],"audio/mp4":["m4a"],"video/MP2T":["ts"],"application/x-web-app-manifest+json":["webapp"],"text/x-lua":["lua"],"application/x-lua-bytecode":["luac"],"text/x-markdown":["markdown","md","mkd"],"text/plain":["ini"],"application/dash+xml":["mdp"],"font/opentype":["otf"],"application/json":["map"],"application/xml":["xsd"]}},{}],188:[function(require,module,exports){(function(Buffer){(function(){var _global=this;var _rng;if(typeof require=="function"){try{var _rb=require("crypto").randomBytes;_rng=_rb&&function(){return _rb(16)}}catch(e){}}if(!_rng&&_global.crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);_rng=function whatwgRNG(){crypto.getRandomValues(_rnds8);return _rnds8}}if(!_rng){var _rnds=new Array(16);_rng=function(){for(var i=0,r;i<16;i++){if((i&3)===0)r=Math.random()*4294967296;_rnds[i]=r>>>((i&3)<<3)&255}return _rnds}}var BufferClass=typeof Buffer=="function"?Buffer:Array;var _byteToHex=[];var _hexToByte={};for(var i=0;i<256;i++){_byteToHex[i]=(i+256).toString(16).substr(1);_hexToByte[_byteToHex[i]]=i}function parse(s,buf,offset){var i=buf&&offset||0,ii=0;buf=buf||[];s.toLowerCase().replace(/[0-9a-f]{2}/g,function(oct){if(ii<16){buf[i+ii++]=_hexToByte[oct]}});while(ii<16){buf[i+ii++]=0}return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}var _seedBytes=_rng();var _nodeId=[_seedBytes[0]|1,_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]];var _clockseq=(_seedBytes[6]<<8|_seedBytes[7])&16383;var _lastMSecs=0,_lastNSecs=0;function v1(options,buf,offset){var i=buf&&offset||0;var b=buf||[];options=options||{};var clockseq=options.clockseq!=null?options.clockseq:_clockseq;var msecs=options.msecs!=null?options.msecs:(new Date).getTime();var nsecs=options.nsecs!=null?options.nsecs:_lastNSecs+1;var dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&options.clockseq==null){clockseq=clockseq+1&16383}if((dt<0||msecs>_lastMSecs)&&options.nsecs==null){nsecs=0}if(nsecs>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}_lastMSecs=msecs;_lastNSecs=nsecs;_clockseq=clockseq;msecs+=122192928e5;var tl=((msecs&268435455)*1e4+nsecs)%4294967296;b[i++]=tl>>>24&255;b[i++]=tl>>>16&255;b[i++]=tl>>>8&255;b[i++]=tl&255;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255;b[i++]=tmh&255;b[i++]=tmh>>>24&15|16;b[i++]=tmh>>>16&255;b[i++]=clockseq>>>8|128;b[i++]=clockseq&255;var node=options.node||_nodeId;for(var n=0;n<6;n++){b[i+n]=node[n]}return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;if(typeof options=="string"){buf=options=="binary"?new BufferClass(16):null;options=null}options=options||{};var rnds=options.random||(options.rng||_rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){for(var ii=0;ii<16;ii++){buf[i+ii]=rnds[ii]}}return buf||unparse(rnds)}var uuid=v4;uuid.v1=v1;uuid.v4=v4;uuid.parse=parse;uuid.unparse=unparse;uuid.BufferClass=BufferClass;if(typeof define==="function"&&define.amd){define(function(){return uuid})}else if(typeof module!="undefined"&&module.exports){module.exports=uuid}else{var _previousRoot=_global.uuid;uuid.noConflict=function(){_global.uuid=_previousRoot;return uuid};_global.uuid=uuid}}).call(this)}).call(this,require("buffer").Buffer)},{buffer:19,crypto:25}],189:[function(require,module,exports){module.exports=require("./lib")},{"./lib":190}],190:[function(require,module,exports){var Stringify=require("./stringify");var Parse=require("./parse");var internals={};module.exports={stringify:Stringify,parse:Parse}},{"./parse":191,"./stringify":192}],191:[function(require,module,exports){var Utils=require("./utils");var internals={depth:5,arrayLimit:20,parametersLimit:1e3};internals.parseValues=function(str){var obj={};var parts=str.split("&").slice(0,internals.parametersLimit);for(var i=0,il=parts.length;i<il;++i){var part=parts[i];var pos=part.indexOf("]=")===-1?part.indexOf("="):part.indexOf("]=")+1;if(pos===-1){obj[Utils.decode(part)]=""}else{var key=Utils.decode(part.slice(0,pos));var val=Utils.decode(part.slice(pos+1));if(!obj[key]){obj[key]=val}else{obj[key]=[].concat(obj[key]).concat(val)}}}return obj};internals.parseObject=function(chain,val){if(!chain.length){return val}var root=chain.shift();var obj={};if(root==="[]"){obj=[];obj=obj.concat(internals.parseObject(chain,val))}else{var cleanRoot=root[0]==="["&&root[root.length-1]==="]"?root.slice(1,root.length-1):root;var index=parseInt(cleanRoot,10);if(!isNaN(index)&&root!==cleanRoot&&index<=internals.arrayLimit){obj=[];obj[index]=internals.parseObject(chain,val)}else{obj[cleanRoot]=internals.parseObject(chain,val)}}return obj};internals.parseKeys=function(key,val,depth){if(!key){return}depth=typeof depth==="undefined"?internals.depth:depth;var parent=/^([^\[\]]*)/;var child=/(\[[^\[\]]*\])/g;var segment=parent.exec(key);if(Object.prototype.hasOwnProperty(segment[1])){return}var keys=[];if(segment[1]){keys.push(segment[1])}var i=0;while((segment=child.exec(key))!==null&&i<depth){++i;if(!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g,""))){keys.push(segment[1])}}if(segment){keys.push("["+key.slice(segment.index)+"]")}return internals.parseObject(keys,val)};module.exports=function(str,depth){if(str===""||str===null||typeof str==="undefined"){return{}}var tempObj=typeof str==="string"?internals.parseValues(str):Utils.clone(str);var obj={};for(var key in tempObj){if(tempObj.hasOwnProperty(key)){var newObj=internals.parseKeys(key,tempObj[key],depth);obj=Utils.merge(obj,newObj)}}return Utils.compact(obj)}},{"./utils":193}],192:[function(require,module,exports){(function(Buffer){var internals={};internals.stringify=function(obj,prefix){if(Buffer.isBuffer(obj)){obj=obj.toString()}else if(obj instanceof Date){obj=obj.toISOString()}if(typeof obj==="string"||typeof obj==="number"||typeof obj==="boolean"){return[prefix+"="+encodeURIComponent(obj)]}if(obj===null){return[prefix]}var values=[];for(var key in obj){if(obj.hasOwnProperty(key)){values=values.concat(internals.stringify(obj[key],prefix+"["+encodeURIComponent(key)+"]"))}}return values};module.exports=function(obj){var keys=[];for(var key in obj){if(obj.hasOwnProperty(key)){keys=keys.concat(internals.stringify(obj[key],encodeURIComponent(key)))}}return keys.join("&")}}).call(this,require("buffer").Buffer)},{buffer:19}],193:[function(require,module,exports){(function(Buffer){var internals={};exports.arrayToObject=function(source){var obj={};for(var i=0,il=source.length;i<il;++i){if(source[i]!==undefined&&source[i]!==null){obj[i]=source[i]}}return obj};exports.clone=function(source){if(typeof source!=="object"||source===null){return source}if(Buffer.isBuffer(source)){return source.toString()}var obj=Array.isArray(source)?[]:{};for(var i in source){if(source.hasOwnProperty(i)){obj[i]=exports.clone(source[i])}}return obj};exports.merge=function(target,source){if(!source){return target}var obj=exports.clone(target);if(Array.isArray(source)){for(var i=0,il=source.length;i<il;++i){if(source[i]!==undefined){obj[i]=source[i]}}return obj}if(Array.isArray(obj)){obj=exports.arrayToObject(obj)}var keys=Object.keys(source);for(var k=0,kl=keys.length;k<kl;++k){var key=keys[k];var value=source[key];if(value&&typeof value==="object"){if(!obj[key]){obj[key]=exports.clone(value)}else{obj[key]=exports.merge(obj[key],value)}}else{obj[key]=value}}return obj};exports.decode=function(str){try{return decodeURIComponent(str.replace(/\+/g," "))}catch(e){return str}};exports.compact=function(obj){if(typeof obj!=="object"){return obj}var compacted={};for(var key in obj){if(obj.hasOwnProperty(key)){if(Array.isArray(obj[key])){compacted[key]=[];for(var i=0,l=obj[key].length;i<l;i++){if(obj[key].hasOwnProperty(i)&&obj[key][i]){compacted[key].push(obj[key][i])}}}else{compacted[key]=exports.compact(obj[key])}}}return compacted}}).call(this,require("buffer").Buffer)},{buffer:19}],194:[function(require,module,exports){(function(process,Buffer){var optional=require("./lib/optional"),http=require("http"),https=optional("https"),tls=optional("tls"),url=require("url"),util=require("util"),stream=require("stream"),qs=require("qs"),querystring=require("querystring"),crypto=require("crypto"),zlib=require("zlib"),oauth=optional("oauth-sign"),hawk=optional("hawk"),aws=optional("aws-sign2"),httpSignature=optional("http-signature"),uuid=require("node-uuid"),mime=require("mime-types"),tunnel=optional("tunnel-agent"),_safeStringify=require("json-stringify-safe"),stringstream=optional("stringstream"),ForeverAgent=require("forever-agent"),FormData=optional("form-data"),cookies=require("./lib/cookies"),globalCookieJar=cookies.jar(),copy=require("./lib/copy"),debug=require("./lib/debug"),getSafe=require("./lib/getSafe"),net=require("net");function safeStringify(obj){var ret;try{ret=JSON.stringify(obj)}catch(e){ret=_safeStringify(obj)}return ret}var globalPool={};var isUrl=/^https?:|^unix:/;if(https&&!https.Agent){https.Agent=function(options){http.Agent.call(this,options)};util.inherits(https.Agent,http.Agent);https.Agent.prototype._getConnection=function(host,port,cb){var s=tls.connect(port,host,this.options,function(){if(cb)cb()});return s}}function isReadStream(rs){return rs.readable&&rs.path&&rs.mode}function toBase64(str){return new Buffer(str||"","ascii").toString("base64")}function md5(str){return crypto.createHash("md5").update(str).digest("hex")}function Request(options){stream.Stream.call(this);this.readable=true;this.writable=true;if(typeof options==="string"){options={uri:options}}var reserved=Object.keys(Request.prototype);for(var i in options){if(reserved.indexOf(i)===-1){this[i]=options[i]}else{if(typeof options[i]==="function"){delete options[i]}}}if(options.method){this.explicitMethod=true}this.canTunnel=options.tunnel!==false&&tunnel;this.init(options)}util.inherits(Request,stream.Stream);Request.prototype.init=function(options){var self=this;if(!options)options={};if(!self.method)self.method=options.method||"GET";self.localAddress=options.localAddress;debug(options);if(!self.pool&&self.pool!==false)self.pool=globalPool;self.dests=self.dests||[];self.__isRequestRequest=true;if(!self._callback&&self.callback){self._callback=self.callback;self.callback=function(){if(self._callbackCalled)return;self._callbackCalled=true;self._callback.apply(self,arguments)};self.on("error",self.callback.bind());self.on("complete",self.callback.bind(self,null))}if(self.url&&!self.uri){self.uri=self.url;delete self.url}if(!self.uri){return self.emit("error",new Error("options.uri is a required argument"))}else{if(typeof self.uri=="string")self.uri=url.parse(self.uri)}if(self.strictSSL===false){self.rejectUnauthorized=false}if(!self.hasOwnProperty("proxy")){if(self.uri.protocol=="http:"){self.proxy=process.env.HTTP_PROXY||process.env.http_proxy||null}else if(self.uri.protocol=="https:"){self.proxy=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||null}}if(self.proxy){if(typeof self.proxy=="string")self.proxy=url.parse(self.proxy);if(http.globalAgent&&self.uri.protocol==="https:"&&self.canTunnel){var tunnelFn=self.proxy.protocol==="http:"?tunnel.httpsOverHttp:tunnel.httpsOverHttps;var tunnelOptions={proxy:{host:self.proxy.hostname,port:+self.proxy.port,proxyAuth:self.proxy.auth,headers:{Host:self.uri.hostname+":"+(self.uri.port||self.uri.protocol==="https:"?443:80)}},rejectUnauthorized:self.rejectUnauthorized,ca:this.ca,cert:this.cert,key:this.key};self.agent=tunnelFn(tunnelOptions);self.tunnel=true}}if(!self.uri.pathname){self.uri.pathname="/"}if(!self.uri.host&&!self.protocol=="unix:"){var faultyUri=url.format(self.uri);var message='Invalid URI "'+faultyUri+'"';if(Object.keys(options).length===0){message+=". This can be caused by a crappy redirection."}self.emit("error",new Error(message));return}self._redirectsFollowed=self._redirectsFollowed||0;self.maxRedirects=self.maxRedirects!==undefined?self.maxRedirects:10;self.followRedirect=self.followRedirect!==undefined?self.followRedirect:true;self.followAllRedirects=self.followAllRedirects!==undefined?self.followAllRedirects:false;if(self.followRedirect||self.followAllRedirects)self.redirects=self.redirects||[];self.headers=self.headers?copy(self.headers):{};self.setHost=false;if(!self.hasHeader("host")){self.setHeader("host",self.uri.hostname);if(self.uri.port){if(!(self.uri.port===80&&self.uri.protocol==="http:")&&!(self.uri.port===443&&self.uri.protocol==="https:"))self.setHeader("host",self.getHeader("host")+(":"+self.uri.port))}self.setHost=true}self.jar(self._jar||options.jar);if(!self.uri.port){if(self.uri.protocol=="http:"){self.uri.port=80}else if(self.uri.protocol=="https:"){self.uri.port=443}}if(self.proxy&&!self.tunnel){self.port=self.proxy.port;self.host=self.proxy.hostname}else{self.port=self.uri.port;self.host=self.uri.hostname}self.clientErrorHandler=function(error){if(self._aborted)return;if(self.req&&self.req._reusedSocket&&error.code==="ECONNRESET"&&self.agent.addRequestNoreuse){self.agent={addRequest:self.agent.addRequestNoreuse.bind(self.agent)};self.start();self.req.end();return}if(self.timeout&&self.timeoutTimer){clearTimeout(self.timeoutTimer);self.timeoutTimer=null}self.emit("error",error)};self._parserErrorHandler=function(error){if(this.res){if(this.res.request){this.res.request.emit("error",error)}else{this.res.emit("error",error)}}else{this._httpMessage.emit("error",error)}};self._buildRequest=function(){var self=this;if(options.form){self.form(options.form)}if(options.qs)self.qs(options.qs);if(self.uri.path){self.path=self.uri.path}else{self.path=self.uri.pathname+(self.uri.search||"")}if(self.path.length===0)self.path="/";if(options.oauth){self.oauth(options.oauth)}if(options.aws){self.aws(options.aws)}if(options.hawk){self.hawk(options.hawk)}if(options.httpSignature){self.httpSignature(options.httpSignature)}if(options.auth){if(Object.prototype.hasOwnProperty.call(options.auth,"username"))options.auth.user=options.auth.username;if(Object.prototype.hasOwnProperty.call(options.auth,"password"))options.auth.pass=options.auth.password;self.auth(options.auth.user,options.auth.pass,options.auth.sendImmediately,options.auth.bearer)}if(self.gzip&&!self.hasHeader("accept-encoding")){self.setHeader("accept-encoding","gzip")}if(self.uri.auth&&!self.hasHeader("authorization")){var authPieces=self.uri.auth.split(":").map(function(item){return querystring.unescape(item)});self.auth(authPieces[0],authPieces.slice(1).join(":"),true)}if(self.proxy&&self.proxy.auth&&!self.hasHeader("proxy-authorization")&&!self.tunnel){self.setHeader("proxy-authorization","Basic "+toBase64(self.proxy.auth.split(":").map(function(item){return querystring.unescape(item)}).join(":")))}if(self.proxy&&!self.tunnel)self.path=self.uri.protocol+"//"+self.uri.host+self.path;if(options.json){self.json(options.json)}else if(options.multipart){self.boundary=uuid();self.multipart(options.multipart)}if(self.body){var length=0;if(!Buffer.isBuffer(self.body)){if(Array.isArray(self.body)){for(var i=0;i<self.body.length;i++){length+=self.body[i].length}}else{self.body=new Buffer(self.body);length=self.body.length}}else{length=self.body.length}if(length){if(!self.hasHeader("content-length"))self.setHeader("content-length",length)}else{throw new Error("Argument error, options.body.")}}var protocol=self.proxy&&!self.tunnel?self.proxy.protocol:self.uri.protocol,defaultModules={"http:":http,"https:":https,"unix:":http},httpModules=self.httpModules||{};self.httpModule=httpModules[protocol]||defaultModules[protocol];if(!self.httpModule)return this.emit("error",new Error("Invalid protocol: "+protocol));if(options.ca)self.ca=options.ca;if(!self.agent){if(options.agentOptions)self.agentOptions=options.agentOptions;if(options.agentClass){self.agentClass=options.agentClass}else if(options.forever){self.agentClass=protocol==="http:"?ForeverAgent:ForeverAgent.SSL}else{self.agentClass=self.httpModule.Agent}}if(self.pool===false){self.agent=false}else{self.agent=self.agent||self.getAgent();if(self.maxSockets){self.agent.maxSockets=self.maxSockets}if(self.pool.maxSockets){self.agent.maxSockets=self.pool.maxSockets}}self.on("pipe",function(src){if(self.ntick&&self._started)throw new Error("You cannot pipe to this stream after the outbound request has started.");self.src=src;if(isReadStream(src)){if(!self.hasHeader("content-type"))self.setHeader("content-type",mime.lookup(src.path))}else{if(src.headers){for(var i in src.headers){if(!self.hasHeader(i)){self.setHeader(i,src.headers[i])}}}if(self._json&&!self.hasHeader("content-type"))self.setHeader("content-type","application/json");if(src.method&&!self.explicitMethod){self.method=src.method}}});process.nextTick(function(){if(self._aborted)return;var end=function(){if(self._form){self._form.pipe(self)}if(self.body){if(Array.isArray(self.body)){self.body.forEach(function(part){self.write(part)})}else{self.write(self.body)}self.end()}else if(self.requestBodyStream){console.warn("options.requestBodyStream is deprecated, please pass the request object to stream.pipe.");self.requestBodyStream.pipe(self)}else if(!self.src){if(self.method!=="GET"&&typeof self.method!=="undefined"){self.setHeader("content-length",0)}self.end()}};if(self._form&&!self.hasHeader("content-length")){self.setHeaders(self._form.getHeaders());self._form.getLength(function(err,length){if(!err){self.setHeader("content-length",length)}end()})}else{end()}self.ntick=true})};self._handleUnixSocketURI=function(self){self.unixsocket=true;var full_path=self.uri.href.replace(self.uri.protocol+"/","");var lookup=full_path.split("/");var error_connecting=true;var lookup_table={};do{lookup_table[lookup.join("/")]={}}while(lookup.pop());for(r in lookup_table){try_next(r)}function try_next(table_row){var client=net.connect(table_row);client.path=table_row;client.on("error",function(){lookup_table[this.path].error_connecting=true;this.end()});client.on("connect",function(){lookup_table[this.path].error_connecting=false;this.end()});table_row.client=client}wait_for_socket_response();response_counter=0;function wait_for_socket_response(){var detach;if("undefined"==typeof setImmediate)detach=process.nextTick;else detach=setImmediate;detach(function(){response_counter++;var trying=false;for(r in lookup_table){if("undefined"==typeof lookup_table[r].error_connecting)trying=true}if(trying&&response_counter<1e3)wait_for_socket_response();else set_socket_properties()})}function set_socket_properties(){var host;for(r in lookup_table){if(lookup_table[r].error_connecting===false){host=r}}if(!host){self.emit("error",new Error("Failed to connect to any socket in "+full_path))}var path=full_path.replace(host,"");self.socketPath=host;self.uri.pathname=path;self.uri.href=path;self.uri.path=path;self.host="";self.hostname="";delete self.host;delete self.hostname;self._buildRequest()}};if(/^unix:/.test(self.uri.protocol)){self._handleUnixSocketURI(self)}else{self._buildRequest()}};Request.prototype._updateProtocol=function(){var self=this;var protocol=self.uri.protocol;if(protocol==="https:"){if(self.proxy&&self.canTunnel){self.tunnel=true;var tunnelFn=self.proxy.protocol==="http:"?tunnel.httpsOverHttp:tunnel.httpsOverHttps;var tunnelOptions={proxy:{host:self.proxy.hostname,port:+self.proxy.port,proxyAuth:self.proxy.auth},rejectUnauthorized:self.rejectUnauthorized,ca:self.ca};self.agent=tunnelFn(tunnelOptions);return}self.httpModule=https;switch(self.agentClass){case ForeverAgent:self.agentClass=ForeverAgent.SSL;break;case http.Agent:self.agentClass=https.Agent;break;default:return}if(self.agent)self.agent=self.getAgent()}else{if(self.tunnel)self.tunnel=false;self.httpModule=http;switch(self.agentClass){case ForeverAgent.SSL:self.agentClass=ForeverAgent;break;case https.Agent:self.agentClass=http.Agent;break;default:return}if(self.agent){self.agent=null;self.agent=self.getAgent()}}};Request.prototype.getAgent=function(){var Agent=this.agentClass;var options={};if(this.agentOptions){for(var i in this.agentOptions){options[i]=this.agentOptions[i]}}if(this.ca)options.ca=this.ca;if(this.ciphers)options.ciphers=this.ciphers;if(this.secureProtocol)options.secureProtocol=this.secureProtocol;if(this.secureOptions)options.secureOptions=this.secureOptions;if(typeof this.rejectUnauthorized!=="undefined")options.rejectUnauthorized=this.rejectUnauthorized;if(this.cert&&this.key){options.key=this.key;options.cert=this.cert}var poolKey="";if(Agent!==this.httpModule.Agent){poolKey+=Agent.name}if(!this.httpModule.globalAgent){options.host=this.host;options.port=this.port;if(poolKey)poolKey+=":";poolKey+=this.host+":"+this.port}var proxy=this.proxy;if(typeof proxy==="string")proxy=url.parse(proxy);var isHttps=proxy&&proxy.protocol==="https:"||this.uri.protocol==="https:";if(isHttps){if(options.ca){if(poolKey)poolKey+=":";poolKey+=options.ca}if(typeof options.rejectUnauthorized!=="undefined"){if(poolKey)poolKey+=":";poolKey+=options.rejectUnauthorized}if(options.cert)poolKey+=options.cert.toString("ascii")+options.key.toString("ascii");if(options.ciphers){if(poolKey)poolKey+=":";poolKey+=options.ciphers}if(options.secureProtocol){if(poolKey)poolKey+=":";poolKey+=options.secureProtocol}if(options.secureOptions){if(poolKey)poolKey+=":";poolKey+=options.secureOptions}}if(this.pool===globalPool&&!poolKey&&Object.keys(options).length===0&&this.httpModule.globalAgent){return this.httpModule.globalAgent}poolKey=this.uri.protocol+poolKey;if(this.pool[poolKey])return this.pool[poolKey];return this.pool[poolKey]=new Agent(options)};Request.prototype.start=function(){var self=this;if(self._aborted)return;self._started=true;self.method=self.method||"GET";self.href=self.uri.href;if(self.src&&self.src.stat&&self.src.stat.size&&!self.hasHeader("content-length")){self.setHeader("content-length",self.src.stat.size)}if(self._aws){self.aws(self._aws,true)}var reqOptions=copy(self);delete reqOptions.auth;debug("make request",self.uri.href);self.req=self.httpModule.request(reqOptions,self.onResponse.bind(self));if(self.timeout&&!self.timeoutTimer){self.timeoutTimer=setTimeout(function(){self.req.abort();var e=new Error("ETIMEDOUT");e.code="ETIMEDOUT";self.emit("error",e)},self.timeout);if(self.req.setTimeout){self.req.setTimeout(self.timeout,function(){if(self.req){self.req.abort();var e=new Error("ESOCKETTIMEDOUT");e.code="ESOCKETTIMEDOUT";self.emit("error",e)}})}}self.req.on("error",self.clientErrorHandler);self.req.on("drain",function(){self.emit("drain")});self.on("end",function(){if(self.req.connection)self.req.connection.removeListener("error",self._parserErrorHandler)});self.emit("request",self.req)};Request.prototype.onResponse=function(response){var self=this;debug("onResponse",self.uri.href,response.statusCode,response.headers);response.on("end",function(){debug("response end",self.uri.href,response.statusCode,response.headers)});if(response.connection&&response.connection.listeners("error").indexOf(self._parserErrorHandler)===-1){response.connection.setMaxListeners(0);response.connection.once("error",self._parserErrorHandler)}if(self._aborted){debug("aborted",self.uri.href);response.resume();return}if(self._paused)response.pause();else response.resume&&response.resume();self.response=response;response.request=self;response.toJSON=toJSON;if(self.httpModule===https&&self.strictSSL&&!response.client.authorized){debug("strict ssl error",self.uri.href);var sslErr=response.client.authorizationError;self.emit("error",new Error("SSL Error: "+sslErr));return}if(self.setHost&&self.hasHeader("host"))delete self.headers[self.hasHeader("host")];if(self.timeout&&self.timeoutTimer){clearTimeout(self.timeoutTimer);self.timeoutTimer=null}var targetCookieJar=self._jar&&self._jar.setCookie?self._jar:globalCookieJar;var addCookie=function(cookie){try{targetCookieJar.setCookie(cookie,self.uri.href,{ignoreError:true})}catch(e){self.emit("error",e)}};if(hasHeader("set-cookie",response.headers)&&!self._disableCookies){var headerName=hasHeader("set-cookie",response.headers);if(Array.isArray(response.headers[headerName]))response.headers[headerName].forEach(addCookie);else addCookie(response.headers[headerName])}var redirectTo=null;if(response.statusCode>=300&&response.statusCode<400&&hasHeader("location",response.headers)){var location=response.headers[hasHeader("location",response.headers)];debug("redirect",location);if(self.followAllRedirects){redirectTo=location}else if(self.followRedirect){switch(self.method){case"PATCH":case"PUT":case"POST":case"DELETE":break;default:redirectTo=location;break}}}else if(response.statusCode==401&&self._hasAuth&&!self._sentAuth){var authHeader=response.headers[hasHeader("www-authenticate",response.headers)];var authVerb=authHeader&&authHeader.split(" ")[0].toLowerCase();debug("reauth",authVerb);switch(authVerb){case"basic":self.auth(self._user,self._pass,true);redirectTo=self.uri;break;case"bearer":self.auth(null,null,true,self._bearer);redirectTo=self.uri;break;case"digest":var challenge={};var re=/([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi;for(;;){var match=re.exec(authHeader);if(!match)break;challenge[match[1]]=match[2]||match[3]}var ha1=md5(self._user+":"+challenge.realm+":"+self._pass);var ha2=md5(self.method+":"+self.uri.path);var qop=/(^|,)\s*auth\s*($|,)/.test(challenge.qop)&&"auth";var nc=qop&&"00000001";var cnonce=qop&&uuid().replace(/-/g,"");var digestResponse=qop?md5(ha1+":"+challenge.nonce+":"+nc+":"+cnonce+":"+qop+":"+ha2):md5(ha1+":"+challenge.nonce+":"+ha2);var authValues={username:self._user,realm:challenge.realm,nonce:challenge.nonce,uri:self.uri.path,qop:qop,response:digestResponse,nc:nc,cnonce:cnonce,algorithm:challenge.algorithm,opaque:challenge.opaque};authHeader=[];for(var k in authValues){if(!authValues[k]){}else if(k==="qop"||k==="nc"||k==="algorithm"){authHeader.push(k+"="+authValues[k])}else{authHeader.push(k+'="'+authValues[k]+'"')}}authHeader="Digest "+authHeader.join(", ");self.setHeader("authorization",authHeader);self._sentAuth=true;redirectTo=self.uri;break}}if(redirectTo){debug("redirect to",redirectTo);if(self._paused)response.resume();if(self._redirectsFollowed>=self.maxRedirects){self.emit("error",new Error("Exceeded maxRedirects. Probably stuck in a redirect loop "+self.uri.href));return}self._redirectsFollowed+=1;if(!isUrl.test(redirectTo)){redirectTo=url.resolve(self.uri.href,redirectTo)}var uriPrev=self.uri;self.uri=url.parse(redirectTo);if(self.uri.protocol!==uriPrev.protocol){self._updateProtocol()}self.redirects.push({statusCode:response.statusCode,redirectUri:redirectTo});if(self.followAllRedirects&&response.statusCode!=401&&response.statusCode!=307)self.method="GET";delete self.src;delete self.req;delete self.agent;delete self._started;if(response.statusCode!=401&&response.statusCode!=307){delete self.body;delete self._form;if(self.headers){if(self.hasHeader("host"))delete self.headers[self.hasHeader("host")];if(self.hasHeader("content-type"))delete self.headers[self.hasHeader("content-type")];if(self.hasHeader("content-length"))delete self.headers[self.hasHeader("content-length")]}}self.emit("redirect");self.init();return}else{self._redirectsFollowed=self._redirectsFollowed||0;response.on("close",function(){if(!self._ended)self.response.emit("end")});var dataStream;if(self.gzip){var contentEncoding=response.headers["content-encoding"]||"identity";contentEncoding=contentEncoding.trim().toLowerCase();if(contentEncoding==="gzip"){dataStream=zlib.createGunzip();response.pipe(dataStream)}else{if(contentEncoding!=="identity"){debug("ignoring unrecognized Content-Encoding "+contentEncoding)}dataStream=response}}else{dataStream=response}if(self.encoding){if(self.dests.length!==0){console.error("Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.")}else if(dataStream.setEncoding){dataStream.setEncoding(self.encoding)}else{dataStream=dataStream.pipe(stringstream(self.encoding))}}self.emit("response",response);self.dests.forEach(function(dest){self.pipeDest(dest)});dataStream.on("data",function(chunk){self._destdata=true;self.emit("data",chunk)});dataStream.on("end",function(chunk){self._ended=true;self.emit("end",chunk)});dataStream.on("close",function(){self.emit("close")});if(self.callback){var buffer=[];var bodyLen=0;self.on("data",function(chunk){buffer.push(chunk);bodyLen+=chunk.length});self.on("end",function(){debug("end event",self.uri.href);if(self._aborted){debug("aborted",self.uri.href);return}if(buffer.length&&Buffer.isBuffer(buffer[0])){debug("has body",self.uri.href,bodyLen);var body=new Buffer(bodyLen);var i=0;buffer.forEach(function(chunk){chunk.copy(body,i,0,chunk.length);i+=chunk.length});if(self.encoding===null){response.body=body}else{response.body=body.toString(self.encoding)}}else if(buffer.length){if(self.encoding==="utf8"&&buffer[0].length>0&&buffer[0][0]===""){buffer[0]=buffer[0].substring(1)}response.body=buffer.join("")}if(self._json){try{response.body=JSON.parse(response.body)}catch(e){}}debug("emitting complete",self.uri.href);if(response.body==undefined&&!self._json){response.body=""}self.emit("complete",response,response.body)})}else{self.on("end",function(){if(self._aborted){debug("aborted",self.uri.href);return}self.emit("complete",response)})}}debug("finish init function",self.uri.href)};Request.prototype.abort=function(){this._aborted=true;if(this.req){this.req.abort()}else if(this.response){this.response.abort()}this.emit("abort")};Request.prototype.pipeDest=function(dest){var response=this.response;if(dest.headers&&!dest.headersSent){if(hasHeader("content-type",response.headers)){var ctname=hasHeader("content-type",response.headers);if(dest.setHeader)dest.setHeader(ctname,response.headers[ctname]);else dest.headers[ctname]=response.headers[ctname]}if(hasHeader("content-length",response.headers)){var clname=hasHeader("content-length",response.headers);if(dest.setHeader)dest.setHeader(clname,response.headers[clname]);else dest.headers[clname]=response.headers[clname]}}if(dest.setHeader&&!dest.headersSent){for(var i in response.headers){if(!this.gzip||i!=="content-encoding"){dest.setHeader(i,response.headers[i])}}dest.statusCode=response.statusCode}if(this.pipefilter)this.pipefilter(response,dest)};Request.prototype.setHeader=function(name,value,clobber){if(clobber===undefined)clobber=true;if(clobber||!this.hasHeader(name))this.headers[name]=value;else this.headers[this.hasHeader(name)]+=","+value;return this};Request.prototype.setHeaders=function(headers){for(var i in headers){this.setHeader(i,headers[i])}return this};Request.prototype.hasHeader=function(header,headers){var headers=Object.keys(headers||this.headers),lheaders=headers.map(function(h){return h.toLowerCase()});header=header.toLowerCase();for(var i=0;i<lheaders.length;i++){if(lheaders[i]===header)return headers[i]}return false};var hasHeader=Request.prototype.hasHeader;Request.prototype.qs=function(q,clobber){var base;if(!clobber&&this.uri.query)base=qs.parse(this.uri.query);else base={};for(var i in q){base[i]=q[i]}if(qs.stringify(base)===""){return this}this.uri=url.parse(this.uri.href.split("?")[0]+"?"+qs.stringify(base));this.url=this.uri;this.path=this.uri.path;return this};Request.prototype.form=function(form){if(form){this.setHeader("content-type","application/x-www-form-urlencoded; charset=utf-8");this.body=typeof form==="string"?form.toString("utf8"):qs.stringify(form).toString("utf8");return this}this._form=new FormData;return this._form};Request.prototype.multipart=function(multipart){var self=this;self.body=[];if(!self.hasHeader("content-type")){self.setHeader("content-type","multipart/related; boundary="+self.boundary)
}else{var headerName=self.hasHeader("content-type");self.setHeader(headerName,self.headers[headerName].split(";")[0]+"; boundary="+self.boundary)}if(!multipart.forEach)throw new Error("Argument error, options.multipart.");if(self.preambleCRLF){self.body.push(new Buffer("\r\n"))}multipart.forEach(function(part){var body=part.body;if(body==null)throw Error("Body attribute missing in multipart.");delete part.body;var preamble="--"+self.boundary+"\r\n";Object.keys(part).forEach(function(key){preamble+=key+": "+part[key]+"\r\n"});preamble+="\r\n";self.body.push(new Buffer(preamble));self.body.push(new Buffer(body));self.body.push(new Buffer("\r\n"))});self.body.push(new Buffer("--"+self.boundary+"--"));return self};Request.prototype.json=function(val){var self=this;if(!self.hasHeader("accept"))self.setHeader("accept","application/json");this._json=true;if(typeof val==="boolean"){if(typeof this.body==="object"){this.body=safeStringify(this.body);if(!self.hasHeader("content-type"))self.setHeader("content-type","application/json")}}else{this.body=safeStringify(val);if(!self.hasHeader("content-type"))self.setHeader("content-type","application/json")}return this};Request.prototype.getHeader=function(name,headers){var result,re,match;if(!headers)headers=this.headers;Object.keys(headers).forEach(function(key){if(key.length!==name.length)return;re=new RegExp(name,"i");match=key.match(re);if(match)result=headers[key]});return result};var getHeader=Request.prototype.getHeader;Request.prototype.auth=function(user,pass,sendImmediately,bearer){if(bearer!==undefined){this._bearer=bearer;this._hasAuth=true;if(sendImmediately||typeof sendImmediately=="undefined"){if(typeof bearer==="function"){bearer=bearer()}this.setHeader("authorization","Bearer "+bearer);this._sentAuth=true}return this}if(typeof user!=="string"||pass!==undefined&&typeof pass!=="string"){throw new Error("auth() received invalid user or password")}this._user=user;this._pass=pass;this._hasAuth=true;var header=typeof pass!=="undefined"?user+":"+pass:user;if(sendImmediately||typeof sendImmediately=="undefined"){this.setHeader("authorization","Basic "+toBase64(header));this._sentAuth=true}return this};Request.prototype.aws=function(opts,now){if(!now){this._aws=opts;return this}var date=new Date;this.setHeader("date",date.toUTCString());var auth={key:opts.key,secret:opts.secret,verb:this.method.toUpperCase(),date:date,contentType:this.getHeader("content-type")||"",md5:this.getHeader("content-md5")||"",amazonHeaders:aws.canonicalizeHeaders(this.headers)};if(opts.bucket&&this.path){auth.resource="/"+opts.bucket+this.path}else if(opts.bucket&&!this.path){auth.resource="/"+opts.bucket}else if(!opts.bucket&&this.path){auth.resource=this.path}else if(!opts.bucket&&!this.path){auth.resource="/"}auth.resource=aws.canonicalizeResource(auth.resource);this.setHeader("authorization",aws.authorization(auth));return this};Request.prototype.httpSignature=function(opts){var req=this;httpSignature.signRequest({getHeader:function(header){return getHeader(header,req.headers)},setHeader:function(header,value){req.setHeader(header,value)},method:this.method,path:this.path},opts);debug("httpSignature authorization",this.getHeader("authorization"));return this};Request.prototype.hawk=function(opts){this.setHeader("Authorization",hawk.client.header(this.uri,this.method,opts).field)};Request.prototype.oauth=function(_oauth){var form;if(this.hasHeader("content-type")&&this.getHeader("content-type").slice(0,"application/x-www-form-urlencoded".length)==="application/x-www-form-urlencoded"){form=qs.parse(this.body)}if(this.uri.query){form=qs.parse(this.uri.query)}if(!form)form={};var oa={};for(var i in form)oa[i]=form[i];for(var i in _oauth)oa["oauth_"+i]=_oauth[i];if(!oa.oauth_version)oa.oauth_version="1.0";if(!oa.oauth_timestamp)oa.oauth_timestamp=Math.floor(Date.now()/1e3).toString();if(!oa.oauth_nonce)oa.oauth_nonce=uuid().replace(/-/g,"");oa.oauth_signature_method="HMAC-SHA1";var consumer_secret=oa.oauth_consumer_secret;delete oa.oauth_consumer_secret;var token_secret=oa.oauth_token_secret;delete oa.oauth_token_secret;var timestamp=oa.oauth_timestamp;var baseurl=this.uri.protocol+"//"+this.uri.host+this.uri.pathname;var signature=oauth.hmacsign(this.method,baseurl,oa,consumer_secret,token_secret);for(var i in form){if(i.slice(0,"oauth_")in _oauth){}else{delete oa["oauth_"+i];if(i!=="x_auth_mode")delete oa[i]}}oa.oauth_timestamp=timestamp;var authHeader="OAuth "+Object.keys(oa).sort().map(function(i){return i+'="'+oauth.rfc3986(oa[i])+'"'}).join(",");authHeader+=',oauth_signature="'+oauth.rfc3986(signature)+'"';this.setHeader("Authorization",authHeader);return this};Request.prototype.jar=function(jar){var cookies;if(this._redirectsFollowed===0){this.originalCookieHeader=this.getHeader("cookie")}if(!jar){cookies=false;this._disableCookies=true}else{var targetCookieJar=jar&&jar.getCookieString?jar:globalCookieJar;var urihref=this.uri.href;if(targetCookieJar){cookies=targetCookieJar.getCookieString(urihref)}}if(cookies&&cookies.length){if(this.originalCookieHeader){this.setHeader("cookie",this.originalCookieHeader+"; "+cookies)}else{this.setHeader("cookie",cookies)}}this._jar=jar;return this};Request.prototype.pipe=function(dest,opts){if(this.response){if(this._destdata){throw new Error("You cannot pipe after data has been emitted from the response.")}else if(this._ended){throw new Error("You cannot pipe after the response has been ended.")}else{stream.Stream.prototype.pipe.call(this,dest,opts);this.pipeDest(dest);return dest}}else{this.dests.push(dest);stream.Stream.prototype.pipe.call(this,dest,opts);return dest}};Request.prototype.write=function(){if(!this._started)this.start();return this.req.write.apply(this.req,arguments)};Request.prototype.end=function(chunk){if(chunk)this.write(chunk);if(!this._started)this.start();this.req.end()};Request.prototype.pause=function(){if(!this.response)this._paused=true;else this.response.pause.apply(this.response,arguments)};Request.prototype.resume=function(){if(!this.response)this._paused=false;else this.response.resume.apply(this.response,arguments)};Request.prototype.destroy=function(){if(!this._ended)this.end();else if(this.response)this.response.destroy()};function toJSON(){return getSafe(this,"__"+((1+Math.random())*65536|0).toString(16))}Request.prototype.toJSON=toJSON;module.exports=Request}).call(this,require("_process"),require("buffer").Buffer)},{"./lib/cookies":177,"./lib/copy":178,"./lib/debug":179,"./lib/getSafe":180,"./lib/optional":181,_process:44,buffer:19,crypto:25,"forever-agent":182,http:36,"json-stringify-safe":183,"mime-types":185,net:1,"node-uuid":188,qs:189,querystring:48,stream:61,url:63,util:65,zlib:18}],195:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{"./_stream_readable":196,"./_stream_writable":198,_process:44,"core-util-is":199,inherits:200}],196:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{_process:44,buffer:19,"core-util-is":199,events:35,inherits:200,isarray:201,stream:61,"string_decoder/":202}],197:[function(require,module,exports){module.exports=require(53)},{"./_stream_duplex":195,"core-util-is":199,inherits:200}],198:[function(require,module,exports){module.exports=require(54)},{"./_stream_duplex":195,_process:44,buffer:19,"core-util-is":199,inherits:200,stream:61}],199:[function(require,module,exports){module.exports=require(55)},{buffer:19}],200:[function(require,module,exports){module.exports=require(41)},{}],201:[function(require,module,exports){module.exports=require(42)},{}],202:[function(require,module,exports){module.exports=require(137)},{buffer:19}],203:[function(require,module,exports){module.exports=require(59)},{"./lib/_stream_transform.js":197}],204:[function(require,module,exports){module.exports=extend;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(source.hasOwnProperty(key)){target[key]=source[key]}}}return target}},{}],205:[function(require,module,exports){var Transform=require("readable-stream/transform"),inherits=require("util").inherits,xtend=require("xtend");function noop(chunk,enc,callback){callback(null,chunk)}function through2(construct){return function(options,transform,flush){if(typeof options=="function"){flush=transform;transform=options;options={}}if(typeof transform!="function")transform=noop;if(typeof flush!="function")flush=null;return construct(options,transform,flush)}}module.exports=through2(function(options,transform,flush){var t2=new Transform(options);t2._transform=transform;if(flush)t2._flush=flush;return t2});module.exports.ctor=through2(function(options,transform,flush){function Through2(override){if(!(this instanceof Through2))return new Through2(override);this.options=xtend(options,override);Transform.call(this,this.options)}inherits(Through2,Transform);Through2.prototype._transform=transform;if(flush)Through2.prototype._flush=flush;return Through2});module.exports.obj=through2(function(options,transform,flush){var t2=new Transform(xtend({objectMode:true,highWaterMark:16},options));t2._transform=transform;if(flush)t2._flush=flush;return t2})},{"readable-stream/transform":203,util:65,xtend:204}],206:[function(require,module,exports){module.exports=require("./lib/tool-stream")},{"./lib/tool-stream":207}],207:[function(require,module,exports){var through=require("through2");var async=require("async");var bops=require("bops");var uniq=require("unique-stream");var flat=require("flat");var util=require("util");var nestedProperty=require("nested-property");var xml2jsParser=require("xml2js").Parser;var xml2js=new xml2jsParser({mergeAttrs:true,explicitArray:false,explicitRoot:false}).parseString;var xml2jsArray=new xml2jsParser({mergeAttrs:true,explicitArray:true,explicitRoot:false}).parseString;module.exports=exports=tool=new ToolStream;function ToolStream(){return this}ToolStream.prototype.arraySplit=function(){return through.obj(transform);function transform(obj,enc,next){var self=this;Object.keys(obj).forEach(pushValue);function pushValue(key){self.push(obj[key])}next()}};ToolStream.prototype.attachStoredValue=function(outsideObj,streamObjSrcProp,streamObjDestProp){return through.obj(cb);function cb(obj,enc,next){var outsideValue=outsideObj[obj[streamObjSrcProp]];obj[streamObjDestProp]=outsideValue;this.push(obj);next()}};ToolStream.prototype.attachToObject=function(object,property){return through.obj(cb);function cb(obj,enc,next){var extend=util._extend;var copy=extend(object);copy[property]=obj;this.push(copy);next()}};ToolStream.prototype.collectMatch=function(property,match){return through.obj(transform);function transform(obj,enc,next){var self=this;if(match===tool.getValue(obj,property)){self.push(obj)}next()}};ToolStream.prototype.createTriple=function(subjectKey,predicate,objectKey){return through.obj(cb);function cb(obj,enc,next){var subject=tool.getValue(obj,subjectKey);var object=tool.getValue(obj,objectKey);var triple={subject:subject,predicate:predicate,object:object};this.push(triple);next()}};ToolStream.prototype.deleteProperty=function(property){return through.obj(transform);function transform(obj,enc,next){delete obj[property];this.push(obj);next()}};ToolStream.prototype.ensureIsArray=function(property){return through.obj(cb);function cb(obj,enc,next){var value=nestedProperty.get(obj,property);if(!Array.isArray(value)){nestedProperty.set(obj,property,[value])}this.push(obj);next()}};ToolStream.prototype.extractProperty=function(property,unique){var uniqStream=uniq();var extractStream=through.obj(extract);var extractUniqueStream=through.obj(extractUnique);var attached=false;var stream=unique?extractUniqueStream:extractStream;return stream;function extractUnique(obj,enc,next){var self=this;extractStream.write(obj);if(!attached){extractStream.pipe(uniqStream);uniqStream.on("data",function(data){self.push(data)});attached=true}next()}function extract(obj,enc,next){var value=tool.getValue(obj,property);this.push(value);next()}};ToolStream.prototype.filterMatch=function(property,match){return through.obj(transform);function transform(obj,enc,next){var self=this;if(match!==tool.getValue(obj,property)){self.push(obj)}next()}};ToolStream.prototype.filterObjectsArray=function(property,match,path){return through.obj(transform);function transform(obj,enc,next){var self=this;var objectsArray=path?nestedProperty.get(obj,path):obj;objectsArray.forEach(filterMatch);function filterMatch(arrayObj,i){if(arrayObj[property]===match){objectsArray.splice(i,1)}}if(path){nestedProperty.set(obj,path,objectsArray)}self.push(obj);next()}};ToolStream.prototype.grepObject=function(regex,propertyToSave,data){var stream=through.obj(cb);if(data){stream.write(data)}return stream;function cb(obj,enc,next){var flatObj=flat.flatten(obj);var relevantData=[];Object.keys(flatObj).forEach(checkRelevant);function checkRelevant(key){var value=flatObj[key].toString();if(value.match(regex)){relevantData.push(value)}}uniqueRelevantData=relevantData.filter(function(elem,pos,self){return self.indexOf(elem)==pos});obj[propertyToSave]=uniqueRelevantData;this.push(obj);next()}};ToolStream.prototype.JSONToBuffer=function(){return through.obj(cb);function cb(obj,enc,next){this.push(bops.from(JSON.stringify(obj)+"\n"));next()}};ToolStream.prototype.storeToObject=function(storeObject,storeProperty,streamObjectValue){return through.obj(cb);function cb(obj,enc,next){var store=storeObject;var previous;var regexMatchDotsOutsideDoubleBrackets=/\.(?=(?:[^\}\}]|\{\{[^\}\}]*\}\})*$)/;var storePropertyArgs=storeProperty.split(regexMatchDotsOutsideDoubleBrackets);storePropertyArgs.forEach(setProperty);function setProperty(storeProperty){if(previous){store=store[previous]}if(tool.startsWith(storeProperty,"{{")&&tool.endsWith(storeProperty,"}}")){var storeKey=obj;var streamObjectProperty=storeProperty.slice(2,-2).split(".");streamObjectProperty.forEach(moveDeeper);function moveDeeper(streamObjectKey){storeKey=storeKey[streamObjectKey]}}else{storeKey=storeProperty}if(typeof store[storeKey]==="undefined"){store[storeKey]={}}previous=storeKey}var dataToStore=streamObjectValue?obj[streamObjectValue]:obj;if(Array.isArray(store[previous])){store[previous].push(dataToStore)}else if(store[previous]===""||typeof store[previous]==="object"&&Object.keys(store[previous]).length===0){store[previous]=dataToStore}else{var previousData=store[previous];store[previous]=[];store[previous].push(previousData);store[previous].push(dataToStore)}this.push(obj);next()}};ToolStream.prototype.splitObjectByArrayProperty=function(propertyToSplit,splitedPropertyName){return through.obj(cb);function cb(obj,enc,next){var self=this;var values=tool.getValue(obj,propertyToSplit);values.forEach(pushSplit);function pushSplit(value){obj[splitedPropertyName]=value;self.push(obj)}next()}};ToolStream.prototype.unflatTabularObject=function(){return through.obj(transform);function transform(obj,enc,next){Object.keys(obj).forEach(parse);function parse(key){var parsed;try{parsed=JSON.parse(obj[key])}catch(e){}if(parsed){obj[key]=parsed}}this.push(obj);next()}};ToolStream.prototype.XMLToJS=function(explicitArray){return through.obj(transform);function transform(obj,enc,next){var self=this;var parser=explicitArray?xml2jsArray:xml2js;parser(obj,gotStringParsed);function gotStringParsed(err,data){if(err){return self.emit("error",err)}self.push(data);next()}}};ToolStream.prototype.XMLToJSProperties=function(properties){return through.obj(parser);function parser(obj,enc,next){var self=this;async.forEach(properties,parseXMLProperty,gotAllParsed);function gotAllParsed(err){if(err){return self.emit("error",err)}self.push(obj);next()}function parseXMLProperty(property,callback){parseXMLString(obj[property],gotPropertyParsed);function gotPropertyParsed(js){obj[property]=js;callback()}}}function parseXMLString(xmlString,callback){var xml="<root>"+xmlString.replace(/&lt;/g,"<").replace(/&gt;/g,">")+"</root>";xml2js(xml,gotStringParsed);function gotStringParsed(err,js){if(err){return self.emit("error",err)}callback(js)}}};ToolStream.prototype.startsWith=function(str,prefix){return str.indexOf(prefix)===0};ToolStream.prototype.endsWith=function(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1};ToolStream.prototype.getValue=function(obj,path){var value=obj;path.split(".").forEach(moveDeeper);function moveDeeper(key){if(typeof value==="string"){value=JSON.parse(value)}value=value[key]}return value};ToolStream.prototype.setValue=function(obj,path,value){var value=obj;var parent;path.split(".").forEach(moveDeeper);function moveDeeper(key){if(typeof value==="string"){value=JSON.parse(value)}parent;value=value[key]}return value}},{async:70,bops:208,flat:221,"nested-property":222,through2:238,"unique-stream":239,util:65,xml2js:242}],208:[function(require,module,exports){var proto={};module.exports=proto;proto.from=require("./from.js");proto.to=require("./to.js");proto.is=require("./is.js");proto.subarray=require("./subarray.js");proto.join=require("./join.js");proto.copy=require("./copy.js");proto.create=require("./create.js");mix(require("./read.js"),proto);mix(require("./write.js"),proto);function mix(from,into){for(var key in from){into[key]=from[key]}}},{"./copy.js":211,"./create.js":212,"./from.js":213,"./is.js":214,"./join.js":215,"./read.js":217,"./subarray.js":218,"./to.js":219,"./write.js":220}],209:[function(require,module,exports){(function(exports){"use strict";var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function b64ToByteArray(b64){var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0){throw"Invalid string. Length must be a multiple of 4"}placeHolders=b64.indexOf("=");placeHolders=placeHolders>0?b64.length-placeHolders:0;arr=[];l=placeHolders>0?b64.length-4:b64.length;for(i=0,j=0;i<l;i+=4,j+=3){tmp=lookup.indexOf(b64[i])<<18|lookup.indexOf(b64[i+1])<<12|lookup.indexOf(b64[i+2])<<6|lookup.indexOf(b64[i+3]);arr.push((tmp&16711680)>>16);arr.push((tmp&65280)>>8);arr.push(tmp&255)}if(placeHolders===2){tmp=lookup.indexOf(b64[i])<<2|lookup.indexOf(b64[i+1])>>4;arr.push(tmp&255)}else if(placeHolders===1){tmp=lookup.indexOf(b64[i])<<10|lookup.indexOf(b64[i+1])<<4|lookup.indexOf(b64[i+2])>>2;arr.push(tmp>>8&255);arr.push(tmp&255)}return arr}function uint8ToBase64(uint8){var i,extraBytes=uint8.length%3,output="",temp,length;function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}for(i=0,length=uint8.length-extraBytes;i<length;i+=3){temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2];output+=tripletToBase64(temp)}switch(extraBytes){case 1:temp=uint8[uint8.length-1];output+=lookup[temp>>2];output+=lookup[temp<<4&63];output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1];output+=lookup[temp>>10];output+=lookup[temp>>4&63];output+=lookup[temp<<2&63];output+="=";break}return output}module.exports.toByteArray=b64ToByteArray;module.exports.fromByteArray=uint8ToBase64})()},{}],210:[function(require,module,exports){module.exports=to_utf8;var out=[],col=[],fcc=String.fromCharCode,mask=[64,32,16,8,4,2,1],unmask=[0,1,2|1,4|2|1,8|4|2|1,16|8|4|2|1,32|16|8|4|2|1,64|32|16|8|4|2|1];function to_utf8(bytes,start,end){start=start===undefined?0:start;end=end===undefined?bytes.length:end;var idx=0,hi=128,collecting=0,pos,by;col.length=out.length=0;while(idx<bytes.length){by=bytes[idx];if(!collecting&&by&hi){pos=find_pad_position(by);collecting+=pos;if(pos<8){col[col.length]=by&unmask[6-pos]}}else if(collecting){col[col.length]=by&unmask[6];--collecting;if(!collecting&&col.length){out[out.length]=fcc(reduced(col,pos));col.length=0}}else{out[out.length]=fcc(by)}++idx}if(col.length&&!collecting){out[out.length]=fcc(reduced(col,pos));col.length=0}return out.join("")}function find_pad_position(byt){for(var i=0;i<7;++i){if(!(byt&mask[i])){break}}return i}function reduced(list){var out=0;for(var i=0,len=list.length;i<len;++i){out|=list[i]<<(len-i-1)*6}return out}},{}],211:[function(require,module,exports){module.exports=copy;var slice=[].slice;function copy(source,target,target_start,source_start,source_end){target_start=arguments.length<3?0:target_start;source_start=arguments.length<4?0:source_start;source_end=arguments.length<5?source.length:source_end;if(source_end===source_start){return}if(target.length===0||source.length===0){return}if(source_end>source.length){source_end=source.length}if(target.length-target_start<source_end-source_start){source_end=target.length-target_start+source_start}if(source.buffer!==target.buffer){return fast_copy(source,target,target_start,source_start,source_end)}return slow_copy(source,target,target_start,source_start,source_end)}function fast_copy(source,target,target_start,source_start,source_end){var len=source_end-source_start+target_start;for(var i=target_start,j=source_start;i<len;++i,++j){target[i]=source[j]}}function slow_copy(from,to,j,i,jend){var iend=jend+i,tmp=new Uint8Array(slice.call(from,i,iend)),x=0;for(;i<iend;++i,++x){to[j++]=tmp[x]}}},{}],212:[function(require,module,exports){module.exports=function(size){return new Uint8Array(size)}},{}],213:[function(require,module,exports){module.exports=from;var base64=require("base64-js");var decoders={hex:from_hex,utf8:from_utf,base64:from_base64};function from(source,encoding){if(Array.isArray(source)){return new Uint8Array(source)}return decoders[encoding||"utf8"](source)}function from_hex(str){var size=str.length/2,buf=new Uint8Array(size),character="";for(var i=0,len=str.length;i<len;++i){character+=str.charAt(i);if(i>0&&i%2===1){buf[i>>>1]=parseInt(character,16);character=""}}return buf}function from_utf(str){var arr=[],code;for(var i=0,len=str.length;i<len;++i){code=fixed_cca(str,i);if(code===false){continue}if(code<128){arr[arr.length]=code;continue}codepoint_to_bytes(arr,code)}return new Uint8Array(arr)}function codepoint_to_bytes(arr,code){var copy_code=code,bit_count=0,byte_count,prefix,_byte,pos;do{++bit_count}while(copy_code>>>=1);byte_count=Math.ceil((bit_count-1)/5)|0;prefix=[0,0,192,224,240,248,252][byte_count];pos=[0,0,3,4,5,6,7][byte_count];_byte|=prefix;bit_count=7-pos+6*(byte_count-1);while(bit_count){_byte|=+!!(code&1<<bit_count)<<7-pos;++pos;if(pos%8===0){arr[arr.length]=_byte;_byte=128;pos=2}--bit_count}if(pos){_byte|=+!!(code&1)<<7-pos;arr[arr.length]=_byte}}function pad(str){while(str.length<8){str="0"+str}return str}function fixed_cca(str,idx){idx=idx||0;var code=str.charCodeAt(idx),lo,hi;if(55296<=code&&code<=56319){lo=str.charCodeAt(idx+1);hi=code;if(isNaN(lo)){throw new Error("High surrogate not followed by low surrogate")}return(hi-55296)*1024+(lo-56320)+65536}if(56320<=code&&code<=57343){return false}return code}function from_base64(str){return new Uint8Array(base64.toByteArray(str))}},{"base64-js":209}],214:[function(require,module,exports){module.exports=function(buffer){return buffer instanceof Uint8Array}},{}],215:[function(require,module,exports){module.exports=join;function join(targets,hint){if(!targets.length){return new Uint8Array(0)}var len=hint!==undefined?hint:get_length(targets),out=new Uint8Array(len),cur=targets[0],curlen=cur.length,curidx=0,curoff=0,i=0;while(i<len){if(curoff===curlen){curoff=0;++curidx;cur=targets[curidx];curlen=cur&&cur.length;continue}out[i++]=cur[curoff++]}return out}function get_length(targets){var size=0;for(var i=0,len=targets.length;i<len;++i){size+=targets[i].byteLength}return size}},{}],216:[function(require,module,exports){var proto,map;module.exports=proto={};map=typeof WeakMap==="undefined"?null:new WeakMap;proto.get=!map?no_weakmap_get:get;function no_weakmap_get(target){return new DataView(target.buffer,0)}function get(target){var out=map.get(target.buffer);if(!out){map.set(target.buffer,out=new DataView(target.buffer,0))}return out}},{}],217:[function(require,module,exports){module.exports={readUInt8:read_uint8,readInt8:read_int8,readUInt16LE:read_uint16_le,readUInt32LE:read_uint32_le,readInt16LE:read_int16_le,readInt32LE:read_int32_le,readFloatLE:read_float_le,readDoubleLE:read_double_le,readUInt16BE:read_uint16_be,readUInt32BE:read_uint32_be,readInt16BE:read_int16_be,readInt32BE:read_int32_be,readFloatBE:read_float_be,readDoubleBE:read_double_be};var map=require("./mapped.js");function read_uint8(target,at){return target[at]}function read_int8(target,at){var v=target[at];return v<128?v:v-256}function read_uint16_le(target,at){var dv=map.get(target);return dv.getUint16(at+target.byteOffset,true)}function read_uint32_le(target,at){var dv=map.get(target);return dv.getUint32(at+target.byteOffset,true)}function read_int16_le(target,at){var dv=map.get(target);return dv.getInt16(at+target.byteOffset,true)}function read_int32_le(target,at){var dv=map.get(target);return dv.getInt32(at+target.byteOffset,true)}function read_float_le(target,at){var dv=map.get(target);return dv.getFloat32(at+target.byteOffset,true)}function read_double_le(target,at){var dv=map.get(target);return dv.getFloat64(at+target.byteOffset,true)}function read_uint16_be(target,at){var dv=map.get(target);return dv.getUint16(at+target.byteOffset,false)}function read_uint32_be(target,at){var dv=map.get(target);return dv.getUint32(at+target.byteOffset,false)}function read_int16_be(target,at){var dv=map.get(target);return dv.getInt16(at+target.byteOffset,false)}function read_int32_be(target,at){var dv=map.get(target);return dv.getInt32(at+target.byteOffset,false)}function read_float_be(target,at){var dv=map.get(target);return dv.getFloat32(at+target.byteOffset,false)}function read_double_be(target,at){var dv=map.get(target);return dv.getFloat64(at+target.byteOffset,false)}},{"./mapped.js":216}],218:[function(require,module,exports){module.exports=subarray;function subarray(buf,from,to){return buf.subarray(from||0,to||buf.length)}},{}],219:[function(require,module,exports){module.exports=to;var base64=require("base64-js"),toutf8=require("to-utf8");var encoders={hex:to_hex,utf8:to_utf,base64:to_base64};function to(buf,encoding){return encoders[encoding||"utf8"](buf)}function to_hex(buf){var str="",byt;for(var i=0,len=buf.length;i<len;++i){byt=buf[i];str+=((byt&240)>>>4).toString(16);str+=(byt&15).toString(16)}return str}function to_utf(buf){return toutf8(buf)}function to_base64(buf){return base64.fromByteArray(buf)}},{"base64-js":209,"to-utf8":210}],220:[function(require,module,exports){module.exports={writeUInt8:write_uint8,writeInt8:write_int8,writeUInt16LE:write_uint16_le,writeUInt32LE:write_uint32_le,writeInt16LE:write_int16_le,writeInt32LE:write_int32_le,writeFloatLE:write_float_le,writeDoubleLE:write_double_le,writeUInt16BE:write_uint16_be,writeUInt32BE:write_uint32_be,writeInt16BE:write_int16_be,writeInt32BE:write_int32_be,writeFloatBE:write_float_be,writeDoubleBE:write_double_be};var map=require("./mapped.js");function write_uint8(target,value,at){return target[at]=value}function write_int8(target,value,at){return target[at]=value<0?value+256:value}function write_uint16_le(target,value,at){var dv=map.get(target);return dv.setUint16(at+target.byteOffset,value,true)}function write_uint32_le(target,value,at){var dv=map.get(target);return dv.setUint32(at+target.byteOffset,value,true)}function write_int16_le(target,value,at){var dv=map.get(target);return dv.setInt16(at+target.byteOffset,value,true)}function write_int32_le(target,value,at){var dv=map.get(target);return dv.setInt32(at+target.byteOffset,value,true)}function write_float_le(target,value,at){var dv=map.get(target);return dv.setFloat32(at+target.byteOffset,value,true)}function write_double_le(target,value,at){var dv=map.get(target);return dv.setFloat64(at+target.byteOffset,value,true)}function write_uint16_be(target,value,at){var dv=map.get(target);return dv.setUint16(at+target.byteOffset,value,false)}function write_uint32_be(target,value,at){var dv=map.get(target);return dv.setUint32(at+target.byteOffset,value,false)}function write_int16_be(target,value,at){var dv=map.get(target);return dv.setInt16(at+target.byteOffset,value,false)}function write_int32_be(target,value,at){var dv=map.get(target);return dv.setInt32(at+target.byteOffset,value,false)}function write_float_be(target,value,at){var dv=map.get(target);return dv.setFloat32(at+target.byteOffset,value,false)}function write_double_be(target,value,at){var dv=map.get(target);return dv.setFloat64(at+target.byteOffset,value,false)}},{"./mapped.js":216}],221:[function(require,module,exports){var flat=module.exports={flatten:flatten,unflatten:unflatten};function flatten(target,opts){opts=opts||{};var delimiter=opts.delimiter||".";var output={};function step(object,prev){Object.keys(object).forEach(function(key){var value=object[key];var isarray=opts.safe&&Array.isArray(value);var type=Object.prototype.toString.call(value);var isobject=type==="[object Object]"||type==="[object Array]";var newKey=prev?prev+delimiter+key:key;if(!isarray&&isobject){return step(value,newKey)}output[newKey]=value})}step(target);return output}function unflatten(target,opts){opts=opts||{};var delimiter=opts.delimiter||".";var result={};if(Object.prototype.toString.call(target)!=="[object Object]"){return target}function getkey(key){var parsedKey=Number(key);return isNaN(parsedKey)||key.indexOf(".")!==-1?key:parsedKey}Object.keys(target).forEach(function(key){var split=key.split(delimiter);var key1=getkey(split.shift());var key2=getkey(split[0]);var recipient=result;while(key2!==undefined){if(recipient[key1]===undefined){recipient[key1]=typeof key2==="number"&&!opts.object?[]:{}}recipient=recipient[key1];if(split.length>0){key1=getkey(split.shift());key2=getkey(split[0])}}recipient[key1]=unflatten(target[key],opts)});return result}},{}],222:[function(require,module,exports){"use strict";var assert=require("assert");module.exports={set:setNestedProperty,get:getNestedProperty};function getNestedProperty(object,property){if(object&&typeof object=="object"){if(typeof property=="string"&&property!==""){var split=property.split(".");return split.reduce(function(obj,prop){return obj&&obj[prop]},object)}else if(typeof property=="number"){return object[property]}else{return object}}else{return object}}function setNestedProperty(object,property,value){if(object&&typeof object=="object"){if(typeof property=="string"&&property!==""){var split=property.split(".");return split.reduce(function(obj,prop,idx){obj[prop]=obj[prop]||{};if(split.length==idx+1){obj[prop]=value}return obj[prop]},object)}else if(typeof property=="number"){object[property]=value;return object[property]}else{return object}}else{return object}}},{assert:2}],223:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{"./_stream_readable":224,"./_stream_writable":226,_process:44,"core-util-is":227,inherits:228}],224:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{_process:44,buffer:19,"core-util-is":227,events:35,inherits:228,isarray:229,stream:61,"string_decoder/":230}],225:[function(require,module,exports){module.exports=require(53)},{"./_stream_duplex":223,"core-util-is":227,inherits:228}],226:[function(require,module,exports){module.exports=require(54)},{"./_stream_duplex":223,_process:44,buffer:19,"core-util-is":227,inherits:228,stream:61}],227:[function(require,module,exports){module.exports=require(55)},{buffer:19}],228:[function(require,module,exports){module.exports=require(41)},{}],229:[function(require,module,exports){module.exports=require(42)},{}],230:[function(require,module,exports){module.exports=require(137)},{buffer:19}],231:[function(require,module,exports){module.exports=require(59)},{"./lib/_stream_transform.js":225}],232:[function(require,module,exports){module.exports=hasKeys;function hasKeys(source){return source!==null&&(typeof source==="object"||typeof source==="function")}},{}],233:[function(require,module,exports){var Keys=require("object-keys");var hasKeys=require("./has-keys");module.exports=extend;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];
if(!hasKeys(source)){continue}var keys=Keys(source);for(var j=0;j<keys.length;j++){var name=keys[j];target[name]=source[name]}}return target}},{"./has-keys":232,"object-keys":235}],234:[function(require,module,exports){var hasOwn=Object.prototype.hasOwnProperty;var toString=Object.prototype.toString;var isFunction=function(fn){var isFunc=typeof fn==="function"&&!(fn instanceof RegExp)||toString.call(fn)==="[object Function]";if(!isFunc&&typeof window!=="undefined"){isFunc=fn===window.setTimeout||fn===window.alert||fn===window.confirm||fn===window.prompt}return isFunc};module.exports=function forEach(obj,fn){if(!isFunction(fn)){throw new TypeError("iterator must be a function")}var i,k,isString=typeof obj==="string",l=obj.length,context=arguments.length>2?arguments[2]:null;if(l===+l){for(i=0;i<l;i++){if(context===null){fn(isString?obj.charAt(i):obj[i],i,obj)}else{fn.call(context,isString?obj.charAt(i):obj[i],i,obj)}}}else{for(k in obj){if(hasOwn.call(obj,k)){if(context===null){fn(obj[k],k,obj)}else{fn.call(context,obj[k],k,obj)}}}}}},{}],235:[function(require,module,exports){module.exports=Object.keys||require("./shim")},{"./shim":237}],236:[function(require,module,exports){var toString=Object.prototype.toString;module.exports=function isArguments(value){var str=toString.call(value);var isArguments=str==="[object Arguments]";if(!isArguments){isArguments=str!=="[object Array]"&&value!==null&&typeof value==="object"&&typeof value.length==="number"&&value.length>=0&&toString.call(value.callee)==="[object Function]"}return isArguments}},{}],237:[function(require,module,exports){(function(){"use strict";var has=Object.prototype.hasOwnProperty,toString=Object.prototype.toString,forEach=require("./foreach"),isArgs=require("./isArguments"),hasDontEnumBug=!{toString:null}.propertyIsEnumerable("toString"),hasProtoEnumBug=function(){}.propertyIsEnumerable("prototype"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],keysShim;keysShim=function keys(object){var isObject=object!==null&&typeof object==="object",isFunction=toString.call(object)==="[object Function]",isArguments=isArgs(object),theKeys=[];if(!isObject&&!isFunction&&!isArguments){throw new TypeError("Object.keys called on a non-object")}if(isArguments){forEach(object,function(value){theKeys.push(value)})}else{var name,skipProto=hasProtoEnumBug&&isFunction;for(name in object){if(!(skipProto&&name==="prototype")&&has.call(object,name)){theKeys.push(name)}}}if(hasDontEnumBug){var ctor=object.constructor,skipConstructor=ctor&&ctor.prototype===object;forEach(dontEnums,function(dontEnum){if(!(skipConstructor&&dontEnum==="constructor")&&has.call(object,dontEnum)){theKeys.push(dontEnum)}})}return theKeys};module.exports=keysShim})()},{"./foreach":234,"./isArguments":236}],238:[function(require,module,exports){var Transform=require("readable-stream/transform"),inherits=require("util").inherits,xtend=require("xtend");function noop(chunk,enc,callback){callback(null,chunk)}function through2(construct){return function(options,transform,flush){if(typeof options=="function"){flush=transform;transform=options;options={}}if(typeof transform!="function")transform=noop;if(typeof flush!="function")flush=null;return construct(options,transform,flush)}}module.exports=through2(function(options,transform,flush){var t2=new Transform(options);t2._transform=transform;if(flush)t2._flush=flush;return t2});module.exports.ctor=through2(function(options,transform,flush){function Through2(override){if(!(this instanceof Through2))return new Through2(override);this.options=xtend(options,override);Transform.call(this,this.options)}inherits(Through2,Transform);Through2.prototype._transform=transform;if(flush)Through2.prototype._flush=flush;return Through2});module.exports.obj=through2(function(options,transform,flush){var t2=new Transform(xtend({objectMode:true},options));t2._transform=transform;if(flush)t2._flush=flush;return t2})},{"readable-stream/transform":231,util:65,xtend:233}],239:[function(require,module,exports){var Stream=require("stream");function prop(propName){return function(data){return data[propName]}}module.exports=unique;function unique(propName){var keyfn=JSON.stringify;if(typeof propName==="string"){keyfn=prop(propName)}else if(typeof propName==="function"){keyfn=propName}var seen={};var s=new Stream;s.readable=true;s.writable=true;var pipes=0;s.write=function(data){var key=keyfn(data);if(seen[key]===undefined){seen[key]=true;s.emit("data",data)}};var ended=0;s.end=function(data){if(arguments.length)s.write(data);ended++;if(ended===pipes||pipes===0){s.writable=false;s.emit("end")}};s.destroy=function(data){s.writable=false};s.on("pipe",function(){pipes++});s.on("unpipe",function(){pipes--});return s}},{stream:61}],240:[function(require,module,exports){(function(){var xml2js;xml2js=require("../lib/xml2js");exports.stripBOM=function(str){if(str[0]===""){return str.substring(1)}else{return str}}}).call(this)},{"../lib/xml2js":242}],241:[function(require,module,exports){(function(){var prefixMatch;prefixMatch=new RegExp(/(?!xmlns)^.*:/);exports.normalize=function(str){return str.toLowerCase()};exports.firstCharLowerCase=function(str){return str.charAt(0).toLowerCase()+str.slice(1)};exports.stripPrefix=function(str){return str.replace(prefixMatch,"")}}).call(this)},{}],242:[function(require,module,exports){(function(process){(function(){var bom,builder,events,isEmpty,processName,processors,sax,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};sax=require("sax");events=require("events");builder=require("xmlbuilder");bom=require("./bom");processors=require("./processors");isEmpty=function(thing){return typeof thing==="object"&&thing!=null&&Object.keys(thing).length===0};processName=function(processors,processedName){var process,_i,_len;for(_i=0,_len=processors.length;_i<_len;_i++){process=processors[_i];processedName=process(processedName)}return processedName};exports.processors=processors;exports.defaults={.1:{explicitCharkey:false,trim:true,normalize:true,normalizeTags:false,attrkey:"@",charkey:"#",explicitArray:false,ignoreAttrs:false,mergeAttrs:false,explicitRoot:false,validator:null,xmlns:false,explicitChildren:false,childkey:"@@",charsAsChildren:false,async:false,strict:true,attrNameProcessors:null,tagNameProcessors:null},.2:{explicitCharkey:false,trim:false,normalize:false,normalizeTags:false,attrkey:"$",charkey:"_",explicitArray:true,ignoreAttrs:false,mergeAttrs:false,explicitRoot:true,validator:null,xmlns:false,explicitChildren:false,childkey:"$$",charsAsChildren:false,async:false,strict:true,attrNameProcessors:null,tagNameProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:true},doctype:null,renderOpts:{pretty:true,indent:" ",newline:"\n"},headless:false}};exports.ValidationError=function(_super){__extends(ValidationError,_super);function ValidationError(message){this.message=message}return ValidationError}(Error);exports.Builder=function(){function Builder(opts){var key,value,_ref;this.options={};_ref=exports.defaults["0.2"];for(key in _ref){if(!__hasProp.call(_ref,key))continue;value=_ref[key];this.options[key]=value}for(key in opts){if(!__hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}}Builder.prototype.buildObject=function(rootObj){var attrkey,charkey,render,rootElement,rootName;attrkey=this.options.attrkey;charkey=this.options.charkey;if(Object.keys(rootObj).length===1&&this.options.rootName===exports.defaults["0.2"].rootName){rootName=Object.keys(rootObj)[0];rootObj=rootObj[rootName]}else{rootName=this.options.rootName}render=function(element,obj){var attr,child,entry,index,key,value,_ref,_ref1;if(typeof obj!=="object"){element.txt(obj)}else{for(key in obj){if(!__hasProp.call(obj,key))continue;child=obj[key];if(key===attrkey){if(typeof child==="object"){for(attr in child){value=child[attr];element=element.att(attr,value)}}}else if(key===charkey){element=element.txt(child)}else if(typeof child==="object"&&(child!=null?child.constructor:void 0)!=null&&(child!=null?(_ref=child.constructor)!=null?_ref.name:void 0:void 0)!=null&&(child!=null?(_ref1=child.constructor)!=null?_ref1.name:void 0:void 0)==="Array"){for(index in child){if(!__hasProp.call(child,index))continue;entry=child[index];if(typeof entry==="string"){element=element.ele(key,entry).up()}else{element=arguments.callee(element.ele(key),entry).up()}}}else if(typeof child==="object"){element=arguments.callee(element.ele(key),child).up()}else{element=element.ele(key,child.toString()).up()}}}return element};rootElement=builder.create(rootName,this.options.xmldec,this.options.doctype,{headless:this.options.headless});return render(rootElement,rootObj).end(this.options.renderOpts)};return Builder}();exports.Parser=function(_super){__extends(Parser,_super);function Parser(opts){this.parseString=__bind(this.parseString,this);this.reset=__bind(this.reset,this);this.assignOrPush=__bind(this.assignOrPush,this);var key,value,_ref;if(!(this instanceof exports.Parser)){return new exports.Parser(opts)}this.options={};_ref=exports.defaults["0.2"];for(key in _ref){if(!__hasProp.call(_ref,key))continue;value=_ref[key];this.options[key]=value}for(key in opts){if(!__hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}if(this.options.xmlns){this.options.xmlnskey=this.options.attrkey+"ns"}if(this.options.normalizeTags){if(!this.options.tagNameProcessors){this.options.tagNameProcessors=[]}this.options.tagNameProcessors.unshift(processors.normalize)}this.reset()}Parser.prototype.assignOrPush=function(obj,key,newValue){if(!(key in obj)){if(!this.options.explicitArray){return obj[key]=newValue}else{return obj[key]=[newValue]}}else{if(!(obj[key]instanceof Array)){obj[key]=[obj[key]]}return obj[key].push(newValue)}};Parser.prototype.reset=function(){var attrkey,charkey,ontext,stack;this.removeAllListeners();this.saxParser=sax.parser(this.options.strict,{trim:false,normalize:false,xmlns:this.options.xmlns});this.saxParser.errThrown=false;this.saxParser.onerror=function(_this){return function(error){_this.saxParser.resume();if(!_this.saxParser.errThrown){_this.saxParser.errThrown=true;return _this.emit("error",error)}}}(this);this.saxParser.ended=false;this.EXPLICIT_CHARKEY=this.options.explicitCharkey;this.resultObject=null;stack=[];attrkey=this.options.attrkey;charkey=this.options.charkey;this.saxParser.onopentag=function(_this){return function(node){var key,newValue,obj,processedKey,_ref;obj={};obj[charkey]="";if(!_this.options.ignoreAttrs){_ref=node.attributes;for(key in _ref){if(!__hasProp.call(_ref,key))continue;if(!(attrkey in obj)&&!_this.options.mergeAttrs){obj[attrkey]={}}newValue=node.attributes[key];processedKey=_this.options.attrNameProcessors?processName(_this.options.attrNameProcessors,key):key;if(_this.options.mergeAttrs){_this.assignOrPush(obj,processedKey,newValue)}else{obj[attrkey][processedKey]=newValue}}}obj["#name"]=_this.options.tagNameProcessors?processName(_this.options.tagNameProcessors,node.name):node.name;if(_this.options.xmlns){obj[_this.options.xmlnskey]={uri:node.uri,local:node.local}}return stack.push(obj)}}(this);this.saxParser.onclosetag=function(_this){return function(){var cdata,emptyStr,err,node,nodeName,obj,old,s,xpath;obj=stack.pop();nodeName=obj["#name"];delete obj["#name"];cdata=obj.cdata;delete obj.cdata;s=stack[stack.length-1];if(obj[charkey].match(/^\s*$/)&&!cdata){emptyStr=obj[charkey];delete obj[charkey]}else{if(_this.options.trim){obj[charkey]=obj[charkey].trim()}if(_this.options.normalize){obj[charkey]=obj[charkey].replace(/\s{2,}/g," ").trim()}if(Object.keys(obj).length===1&&charkey in obj&&!_this.EXPLICIT_CHARKEY){obj=obj[charkey]}}if(isEmpty(obj)){obj=_this.options.emptyTag!==void 0?_this.options.emptyTag:emptyStr}if(_this.options.validator!=null){xpath="/"+function(){var _i,_len,_results;_results=[];for(_i=0,_len=stack.length;_i<_len;_i++){node=stack[_i];_results.push(node["#name"])}return _results}().concat(nodeName).join("/");try{obj=_this.options.validator(xpath,s&&s[nodeName],obj)}catch(_error){err=_error;_this.emit("error",err)}}if(_this.options.explicitChildren&&!_this.options.mergeAttrs&&typeof obj==="object"){node={};if(_this.options.attrkey in obj){node[_this.options.attrkey]=obj[_this.options.attrkey];delete obj[_this.options.attrkey]}if(!_this.options.charsAsChildren&&_this.options.charkey in obj){node[_this.options.charkey]=obj[_this.options.charkey];delete obj[_this.options.charkey]}if(Object.getOwnPropertyNames(obj).length>0){node[_this.options.childkey]=obj}obj=node}if(stack.length>0){return _this.assignOrPush(s,nodeName,obj)}else{if(_this.options.explicitRoot){old=obj;obj={};obj[nodeName]=old}_this.resultObject=obj;_this.saxParser.ended=true;return _this.emit("end",_this.resultObject)}}}(this);ontext=function(_this){return function(text){var s;s=stack[stack.length-1];if(s){s[charkey]+=text;return s}}}(this);this.saxParser.ontext=ontext;return this.saxParser.oncdata=function(_this){return function(text){var s;s=ontext(text);if(s){return s.cdata=true}}}(this)};Parser.prototype.parseString=function(str,cb){var err;if(cb!=null&&typeof cb==="function"){this.on("end",function(result){this.reset();if(this.options.async){return process.nextTick(function(){return cb(null,result)})}else{return cb(null,result)}});this.on("error",function(err){this.reset();if(this.options.async){return process.nextTick(function(){return cb(err)})}else{return cb(err)}})}if(str.toString().trim()===""){this.emit("end",null);return true}try{return this.saxParser.write(bom.stripBOM(str.toString())).close()}catch(_error){err=_error;if(!(this.saxParser.errThrown||this.saxParser.ended)){this.emit("error",err);return this.saxParser.errThrown=true}}};return Parser}(events.EventEmitter);exports.parseString=function(str,a,b){var cb,options,parser;if(b!=null){if(typeof b==="function"){cb=b}if(typeof a==="object"){options=a}}else{if(typeof a==="function"){cb=a}options={}}parser=new exports.Parser(options);return parser.parseString(str,cb)}}).call(this)}).call(this,require("_process"))},{"./bom":240,"./processors":241,_process:44,events:35,sax:243,xmlbuilder:260}],243:[function(require,module,exports){(function(Buffer){(function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)};sax.SAXParser=SAXParser;sax.SAXStream=SAXStream;sax.createStream=createStream;sax.MAX_BUFFER_LENGTH=64*1024;var buffers=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];sax.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function SAXParser(strict,opt){if(!(this instanceof SAXParser))return new SAXParser(strict,opt);var parser=this;clearBuffers(parser);parser.q=parser.c="";parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH;parser.opt=opt||{};parser.opt.lowercase=parser.opt.lowercase||parser.opt.lowercasetags;parser.looseCase=parser.opt.lowercase?"toLowerCase":"toUpperCase";parser.tags=[];parser.closed=parser.closedRoot=parser.sawRoot=false;parser.tag=parser.error=null;parser.strict=!!strict;parser.noscript=!!(strict||parser.opt.noscript);parser.state=S.BEGIN;parser.ENTITIES=Object.create(sax.ENTITIES);parser.attribList=[];if(parser.opt.xmlns)parser.ns=Object.create(rootNS);parser.trackPosition=parser.opt.position!==false;if(parser.trackPosition){parser.position=parser.line=parser.column=0}emit(parser,"onready")}if(!Object.create)Object.create=function(o){function f(){this.__proto__=o}f.prototype=o;return new f};if(!Object.getPrototypeOf)Object.getPrototypeOf=function(o){return o.__proto__};if(!Object.keys)Object.keys=function(o){var a=[];for(var i in o)if(o.hasOwnProperty(i))a.push(i);return a};function checkBufferLength(parser){var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10),maxActual=0;for(var i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length;if(len>maxAllowed){switch(buffers[i]){case"textNode":closeText(parser);break;case"cdata":emitNode(parser,"oncdata",parser.cdata);parser.cdata="";break;case"script":emitNode(parser,"onscript",parser.script);parser.script="";break;default:error(parser,"Max buffer length exceeded: "+buffers[i])}}maxActual=Math.max(maxActual,len)}parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH-maxActual+parser.position}function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++){parser[buffers[i]]=""}}function flushBuffers(parser){closeText(parser);if(parser.cdata!==""){emitNode(parser,"oncdata",parser.cdata);parser.cdata=""}if(parser.script!==""){emitNode(parser,"onscript",parser.script);parser.script=""}}SAXParser.prototype={end:function(){end(this)},write:write,resume:function(){this.error=null;return this},close:function(){return this.write(null)},flush:function(){flushBuffers(this)}};try{var Stream=require("stream").Stream}catch(ex){var Stream=function(){}}var streamWraps=sax.EVENTS.filter(function(ev){return ev!=="error"&&ev!=="end"});function createStream(strict,opt){return new SAXStream(strict,opt)}function SAXStream(strict,opt){if(!(this instanceof SAXStream))return new SAXStream(strict,opt);Stream.apply(this);this._parser=new SAXParser(strict,opt);this.writable=true;this.readable=true;var me=this;this._parser.onend=function(){me.emit("end")};this._parser.onerror=function(er){me.emit("error",er);me._parser.error=null};this._decoder=null;streamWraps.forEach(function(ev){Object.defineProperty(me,"on"+ev,{get:function(){return me._parser["on"+ev]},set:function(h){if(!h){me.removeAllListeners(ev);return me._parser["on"+ev]=h}me.on(ev,h)},enumerable:true,configurable:false})})}SAXStream.prototype=Object.create(Stream.prototype,{constructor:{value:SAXStream}});SAXStream.prototype.write=function(data){if(typeof Buffer==="function"&&typeof Buffer.isBuffer==="function"&&Buffer.isBuffer(data)){if(!this._decoder){var SD=require("string_decoder").StringDecoder;this._decoder=new SD("utf8")}data=this._decoder.write(data)}this._parser.write(data.toString());this.emit("data",data);return true};SAXStream.prototype.end=function(chunk){if(chunk&&chunk.length)this.write(chunk);this._parser.end();return true};SAXStream.prototype.on=function(ev,handler){var me=this;if(!me._parser["on"+ev]&&streamWraps.indexOf(ev)!==-1){me._parser["on"+ev]=function(){var args=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);args.splice(0,0,ev);me.emit.apply(me,args)}}return Stream.prototype.on.call(me,ev,handler)};var whitespace="\r\n ",number="0124356789",letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",quote="'\"",entity=number+letter+"#",attribEnd=whitespace+">",CDATA="[CDATA[",DOCTYPE="DOCTYPE",XML_NAMESPACE="http://www.w3.org/XML/1998/namespace",XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/",rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE};whitespace=charClass(whitespace);number=charClass(number);letter=charClass(letter);var nameStart=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var nameBody=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/;quote=charClass(quote);entity=charClass(entity);attribEnd=charClass(attribEnd);function charClass(str){return str.split("").reduce(function(s,c){s[c]=true;return s},{})}function isRegExp(c){return Object.prototype.toString.call(c)==="[object RegExp]"}function is(charclass,c){return isRegExp(charclass)?!!c.match(charclass):charclass[c]}function not(charclass,c){return!is(charclass,c)}var S=0;sax.STATE={BEGIN:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++};sax.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(sax.ENTITIES).forEach(function(key){var e=sax.ENTITIES[key];var s=typeof e==="number"?String.fromCharCode(e):e;sax.ENTITIES[key]=s});for(var S in sax.STATE)sax.STATE[sax.STATE[S]]=S;S=sax.STATE;function emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){if(parser.textNode)closeText(parser);emit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode);if(parser.textNode)emit(parser,"ontext",parser.textNode);parser.textNode=""}function textopts(opt,text){if(opt.trim)text=text.trim();if(opt.normalize)text=text.replace(/\s+/g," ");return text}function error(parser,er){closeText(parser);if(parser.trackPosition){er+="\nLine: "+parser.line+"\nColumn: "+parser.column+"\nChar: "+parser.c}er=new Error(er);parser.error=er;emit(parser,"onerror",er);return parser}function end(parser){if(!parser.closedRoot)strictFail(parser,"Unclosed root tag");if(parser.state!==S.BEGIN&&parser.state!==S.TEXT)error(parser,"Unexpected end");closeText(parser);parser.c="";parser.closed=true;emit(parser,"onend");SAXParser.call(parser,parser.strict,parser.opt);return parser}function strictFail(parser,message){if(typeof parser!=="object"||!(parser instanceof SAXParser))throw new Error("bad call to strictFail");if(parser.strict)error(parser,message)}function newTag(parser){if(!parser.strict)parser.tagName=parser.tagName[parser.looseCase]();var parent=parser.tags[parser.tags.length-1]||parser,tag=parser.tag={name:parser.tagName,attributes:{}};if(parser.opt.xmlns)tag.ns=parent.ns;parser.attribList.length=0}function qname(name,attribute){var i=name.indexOf(":"),qualName=i<0?["",name]:name.split(":"),prefix=qualName[0],local=qualName[1];if(attribute&&name==="xmlns"){prefix="xmlns";local=""}return{prefix:prefix,local:local}}function attrib(parser){if(!parser.strict)parser.attribName=parser.attribName[parser.looseCase]();if(parser.attribList.indexOf(parser.attribName)!==-1||parser.tag.attributes.hasOwnProperty(parser.attribName)){return parser.attribName=parser.attribValue=""}if(parser.opt.xmlns){var qn=qname(parser.attribName,true),prefix=qn.prefix,local=qn.local;if(prefix==="xmlns"){if(local==="xml"&&parser.attribValue!==XML_NAMESPACE){strictFail(parser,"xml: prefix must be bound to "+XML_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else if(local==="xmlns"&&parser.attribValue!==XMLNS_NAMESPACE){strictFail(parser,"xmlns: prefix must be bound to "+XMLNS_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else{var tag=parser.tag,parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns===parent.ns){tag.ns=Object.create(parent.ns)}tag.ns[local]=parser.attribValue}}parser.attribList.push([parser.attribName,parser.attribValue])}else{parser.tag.attributes[parser.attribName]=parser.attribValue;emitNode(parser,"onattribute",{name:parser.attribName,value:parser.attribValue})}parser.attribName=parser.attribValue=""}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag;var qn=qname(parser.tagName);tag.prefix=qn.prefix;tag.local=qn.local;tag.uri=tag.ns[qn.prefix]||"";if(tag.prefix&&!tag.uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(parser.tagName));tag.uri=qn.prefix}var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns&&parent.ns!==tag.ns){Object.keys(tag.ns).forEach(function(p){emitNode(parser,"onopennamespace",{prefix:p,uri:tag.ns[p]})})}for(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i];var name=nv[0],value=nv[1],qualName=qname(name,true),prefix=qualName.prefix,local=qualName.local,uri=prefix==""?"":tag.ns[prefix]||"",a={name:name,value:value,prefix:prefix,local:local,uri:uri};if(prefix&&prefix!="xmlns"&&!uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(prefix));a.uri=prefix}parser.tag.attributes[name]=a;emitNode(parser,"onattribute",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing;parser.sawRoot=true;parser.tags.push(parser.tag);emitNode(parser,"onopentag",parser.tag);if(!selfClosing){if(!parser.noscript&&parser.tagName.toLowerCase()==="script"){parser.state=S.SCRIPT}else{parser.state=S.TEXT}parser.tag=null;parser.tagName=""}parser.attribName=parser.attribValue="";parser.attribList.length=0}function closeTag(parser){if(!parser.tagName){strictFail(parser,"Weird empty close tag.");parser.textNode+="</>";parser.state=S.TEXT;return}if(parser.script){if(parser.tagName!=="script"){parser.script+="</"+parser.tagName+">";parser.tagName="";parser.state=S.SCRIPT;return}emitNode(parser,"onscript",parser.script);parser.script=""}var t=parser.tags.length;var tagName=parser.tagName;if(!parser.strict)tagName=tagName[parser.looseCase]();var closeTo=tagName;while(t--){var close=parser.tags[t];if(close.name!==closeTo){strictFail(parser,"Unexpected close tag")}else break}if(t<0){strictFail(parser,"Unmatched closing tag: "+parser.tagName);parser.textNode+="</"+parser.tagName+">";parser.state=S.TEXT;return}parser.tagName=tagName;var s=parser.tags.length;while(s-->t){var tag=parser.tag=parser.tags.pop();parser.tagName=parser.tag.name;emitNode(parser,"onclosetag",parser.tagName);var x={};for(var i in tag.ns)x[i]=tag.ns[i];var parent=parser.tags[parser.tags.length-1]||parser;if(parser.opt.xmlns&&tag.ns!==parent.ns){Object.keys(tag.ns).forEach(function(p){var n=tag.ns[p];emitNode(parser,"onclosenamespace",{prefix:p,uri:n})})}}if(t===0)parser.closedRoot=true;parser.tagName=parser.attribValue=parser.attribName="";parser.attribList.length=0;parser.state=S.TEXT}function parseEntity(parser){var entity=parser.entity,entityLC=entity.toLowerCase(),num,numStr="";if(parser.ENTITIES[entity])return parser.ENTITIES[entity];if(parser.ENTITIES[entityLC])return parser.ENTITIES[entityLC];entity=entityLC;if(entity.charAt(0)==="#"){if(entity.charAt(1)==="x"){entity=entity.slice(2);num=parseInt(entity,16);numStr=num.toString(16)}else{entity=entity.slice(1);num=parseInt(entity,10);numStr=num.toString(10)}}entity=entity.replace(/^0+/,"");if(numStr.toLowerCase()!==entity){strictFail(parser,"Invalid character entity");return"&"+parser.entity+";"}return String.fromCodePoint(num)}function write(chunk){var parser=this;if(this.error)throw this.error;if(parser.closed)return error(parser,"Cannot write after close. Assign an onready handler.");if(chunk===null)return end(parser);var i=0,c="";while(parser.c=c=chunk.charAt(i++)){if(parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else parser.column++}switch(parser.state){case S.BEGIN:if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else if(not(whitespace,c)){strictFail(parser,"Non-whitespace before first tag.");parser.textNode=c;parser.state=S.TEXT}continue;case S.TEXT:if(parser.sawRoot&&!parser.closedRoot){var starti=i-1;while(c&&c!=="<"&&c!=="&"){c=chunk.charAt(i++);if(c&&parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else parser.column++}}parser.textNode+=chunk.substring(starti,i-1)}if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else{if(not(whitespace,c)&&(!parser.sawRoot||parser.closedRoot))strictFail(parser,"Text data outside of root node.");if(c==="&")parser.state=S.TEXT_ENTITY;else parser.textNode+=c}continue;case S.SCRIPT:if(c==="<"){parser.state=S.SCRIPT_ENDING}else parser.script+=c;continue;case S.SCRIPT_ENDING:if(c==="/"){parser.state=S.CLOSE_TAG}else{parser.script+="<"+c;parser.state=S.SCRIPT}continue;case S.OPEN_WAKA:if(c==="!"){parser.state=S.SGML_DECL;parser.sgmlDecl=""}else if(is(whitespace,c)){}else if(is(nameStart,c)){parser.state=S.OPEN_TAG;parser.tagName=c}else if(c==="/"){parser.state=S.CLOSE_TAG;parser.tagName=""}else if(c==="?"){parser.state=S.PROC_INST;parser.procInstName=parser.procInstBody=""}else{strictFail(parser,"Unencoded <");if(parser.startTagPosition+1<parser.position){var pad=parser.position-parser.startTagPosition;c=new Array(pad).join(" ")+c}parser.textNode+="<"+c;parser.state=S.TEXT}continue;case S.SGML_DECL:if((parser.sgmlDecl+c).toUpperCase()===CDATA){emitNode(parser,"onopencdata");parser.state=S.CDATA;parser.sgmlDecl="";parser.cdata=""}else if(parser.sgmlDecl+c==="--"){parser.state=S.COMMENT;parser.comment="";parser.sgmlDecl=""}else if((parser.sgmlDecl+c).toUpperCase()===DOCTYPE){parser.state=S.DOCTYPE;if(parser.doctype||parser.sawRoot)strictFail(parser,"Inappropriately located doctype declaration");parser.doctype="";parser.sgmlDecl=""}else if(c===">"){emitNode(parser,"onsgmldeclaration",parser.sgmlDecl);parser.sgmlDecl="";parser.state=S.TEXT}else if(is(quote,c)){parser.state=S.SGML_DECL_QUOTED;parser.sgmlDecl+=c}else parser.sgmlDecl+=c;continue;case S.SGML_DECL_QUOTED:if(c===parser.q){parser.state=S.SGML_DECL;parser.q=""}parser.sgmlDecl+=c;continue;case S.DOCTYPE:if(c===">"){parser.state=S.TEXT;
emitNode(parser,"ondoctype",parser.doctype);parser.doctype=true}else{parser.doctype+=c;if(c==="[")parser.state=S.DOCTYPE_DTD;else if(is(quote,c)){parser.state=S.DOCTYPE_QUOTED;parser.q=c}}continue;case S.DOCTYPE_QUOTED:parser.doctype+=c;if(c===parser.q){parser.q="";parser.state=S.DOCTYPE}continue;case S.DOCTYPE_DTD:parser.doctype+=c;if(c==="]")parser.state=S.DOCTYPE;else if(is(quote,c)){parser.state=S.DOCTYPE_DTD_QUOTED;parser.q=c}continue;case S.DOCTYPE_DTD_QUOTED:parser.doctype+=c;if(c===parser.q){parser.state=S.DOCTYPE_DTD;parser.q=""}continue;case S.COMMENT:if(c==="-")parser.state=S.COMMENT_ENDING;else parser.comment+=c;continue;case S.COMMENT_ENDING:if(c==="-"){parser.state=S.COMMENT_ENDED;parser.comment=textopts(parser.opt,parser.comment);if(parser.comment)emitNode(parser,"oncomment",parser.comment);parser.comment=""}else{parser.comment+="-"+c;parser.state=S.COMMENT}continue;case S.COMMENT_ENDED:if(c!==">"){strictFail(parser,"Malformed comment");parser.comment+="--"+c;parser.state=S.COMMENT}else parser.state=S.TEXT;continue;case S.CDATA:if(c==="]")parser.state=S.CDATA_ENDING;else parser.cdata+=c;continue;case S.CDATA_ENDING:if(c==="]")parser.state=S.CDATA_ENDING_2;else{parser.cdata+="]"+c;parser.state=S.CDATA}continue;case S.CDATA_ENDING_2:if(c===">"){if(parser.cdata)emitNode(parser,"oncdata",parser.cdata);emitNode(parser,"onclosecdata");parser.cdata="";parser.state=S.TEXT}else if(c==="]"){parser.cdata+="]"}else{parser.cdata+="]]"+c;parser.state=S.CDATA}continue;case S.PROC_INST:if(c==="?")parser.state=S.PROC_INST_ENDING;else if(is(whitespace,c))parser.state=S.PROC_INST_BODY;else parser.procInstName+=c;continue;case S.PROC_INST_BODY:if(!parser.procInstBody&&is(whitespace,c))continue;else if(c==="?")parser.state=S.PROC_INST_ENDING;else parser.procInstBody+=c;continue;case S.PROC_INST_ENDING:if(c===">"){emitNode(parser,"onprocessinginstruction",{name:parser.procInstName,body:parser.procInstBody});parser.procInstName=parser.procInstBody="";parser.state=S.TEXT}else{parser.procInstBody+="?"+c;parser.state=S.PROC_INST_BODY}continue;case S.OPEN_TAG:if(is(nameBody,c))parser.tagName+=c;else{newTag(parser);if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else{if(not(whitespace,c))strictFail(parser,"Invalid character in tag name");parser.state=S.ATTRIB}}continue;case S.OPEN_TAG_SLASH:if(c===">"){openTag(parser,true);closeTag(parser)}else{strictFail(parser,"Forward-slash in opening tag not followed by >");parser.state=S.ATTRIB}continue;case S.ATTRIB:if(is(whitespace,c))continue;else if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else if(is(nameStart,c)){parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_NAME:if(c==="=")parser.state=S.ATTRIB_VALUE;else if(c===">"){strictFail(parser,"Attribute without value");parser.attribValue=parser.attribName;attrib(parser);openTag(parser)}else if(is(whitespace,c))parser.state=S.ATTRIB_NAME_SAW_WHITE;else if(is(nameBody,c))parser.attribName+=c;else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if(c==="=")parser.state=S.ATTRIB_VALUE;else if(is(whitespace,c))continue;else{strictFail(parser,"Attribute without value");parser.tag.attributes[parser.attribName]="";parser.attribValue="";emitNode(parser,"onattribute",{name:parser.attribName,value:""});parser.attribName="";if(c===">")openTag(parser);else if(is(nameStart,c)){parser.attribName=c;parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name");parser.state=S.ATTRIB}}continue;case S.ATTRIB_VALUE:if(is(whitespace,c))continue;else if(is(quote,c)){parser.q=c;parser.state=S.ATTRIB_VALUE_QUOTED}else{strictFail(parser,"Unquoted attribute value");parser.state=S.ATTRIB_VALUE_UNQUOTED;parser.attribValue=c}continue;case S.ATTRIB_VALUE_QUOTED:if(c!==parser.q){if(c==="&")parser.state=S.ATTRIB_VALUE_ENTITY_Q;else parser.attribValue+=c;continue}attrib(parser);parser.q="";parser.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:if(is(whitespace,c)){parser.state=S.ATTRIB}else if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else if(is(nameStart,c)){strictFail(parser,"No whitespace between attributes");parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(not(attribEnd,c)){if(c==="&")parser.state=S.ATTRIB_VALUE_ENTITY_U;else parser.attribValue+=c;continue}attrib(parser);if(c===">")openTag(parser);else parser.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(!parser.tagName){if(is(whitespace,c))continue;else if(not(nameStart,c)){if(parser.script){parser.script+="</"+c;parser.state=S.SCRIPT}else{strictFail(parser,"Invalid tagname in closing tag.")}}else parser.tagName=c}else if(c===">")closeTag(parser);else if(is(nameBody,c))parser.tagName+=c;else if(parser.script){parser.script+="</"+parser.tagName;parser.tagName="";parser.state=S.SCRIPT}else{if(not(whitespace,c))strictFail(parser,"Invalid tagname in closing tag");parser.state=S.CLOSE_TAG_SAW_WHITE}continue;case S.CLOSE_TAG_SAW_WHITE:if(is(whitespace,c))continue;if(c===">")closeTag(parser);else strictFail(parser,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:switch(parser.state){case S.TEXT_ENTITY:var returnState=S.TEXT,buffer="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:var returnState=S.ATTRIB_VALUE_QUOTED,buffer="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:var returnState=S.ATTRIB_VALUE_UNQUOTED,buffer="attribValue";break}if(c===";"){parser[buffer]+=parseEntity(parser);parser.entity="";parser.state=returnState}else if(is(entity,c))parser.entity+=c;else{strictFail(parser,"Invalid character entity");parser[buffer]+="&"+parser.entity+c;parser.entity="";parser.state=returnState}continue;default:throw new Error(parser,"Unknown state: "+parser.state)}}if(parser.position>=parser.bufferCheckPosition)checkBufferLength(parser);return parser}if(!String.fromCodePoint){(function(){var stringFromCharCode=String.fromCharCode;var floor=Math.floor;var fromCodePoint=function(){var MAX_SIZE=16384;var codeUnits=[];var highSurrogate;var lowSurrogate;var index=-1;var length=arguments.length;if(!length){return""}var result="";while(++index<length){var codePoint=Number(arguments[index]);if(!isFinite(codePoint)||codePoint<0||codePoint>1114111||floor(codePoint)!=codePoint){throw RangeError("Invalid code point: "+codePoint)}if(codePoint<=65535){codeUnits.push(codePoint)}else{codePoint-=65536;highSurrogate=(codePoint>>10)+55296;lowSurrogate=codePoint%1024+56320;codeUnits.push(highSurrogate,lowSurrogate)}if(index+1==length||codeUnits.length>MAX_SIZE){result+=stringFromCharCode.apply(null,codeUnits);codeUnits.length=0}}return result};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(typeof exports==="undefined"?sax={}:exports)}).call(this,require("buffer").Buffer)},{buffer:19,stream:61,string_decoder:62}],244:[function(require,module,exports){(function(){var XMLAttribute,create;create=require("lodash-node/modern/objects/create");module.exports=XMLAttribute=function(){function XMLAttribute(parent,name,value){this.stringify=parent.stringify;if(name==null){throw new Error("Missing attribute name")}if(value==null){throw new Error("Missing attribute value")}this.name=this.stringify.attName(name);this.value=this.stringify.attValue(value)}XMLAttribute.prototype.clone=function(){return create(XMLAttribute.prototype,this)};XMLAttribute.prototype.toString=function(options,level){return" "+this.name+'="'+this.value+'"'};return XMLAttribute}()}).call(this)},{"lodash-node/modern/objects/create":273}],245:[function(require,module,exports){(function(){var XMLBuilder,XMLDeclaration,XMLDocType,XMLElement,XMLStringifier;XMLStringifier=require("./XMLStringifier");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLElement=require("./XMLElement");module.exports=XMLBuilder=function(){function XMLBuilder(name,options){var root,temp;if(name==null){throw new Error("Root element needs a name")}if(options==null){options={}}this.options=options;this.stringify=new XMLStringifier(options);temp=new XMLElement(this,"doc");root=temp.element(name);root.isRoot=true;root.documentObject=this;this.rootObject=root;if(!options.headless){root.declaration(options);if(options.pubID!=null||options.sysID!=null){root.doctype(options)}}}XMLBuilder.prototype.root=function(){return this.rootObject};XMLBuilder.prototype.end=function(options){return this.toString(options)};XMLBuilder.prototype.toString=function(options){var indent,newline,pretty,r,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";r="";if(this.xmldec!=null){r+=this.xmldec.toString(options)}if(this.doctype!=null){r+=this.doctype.toString(options)}r+=this.rootObject.toString(options);if(pretty&&r.slice(-newline.length)===newline){r=r.slice(0,-newline.length)}return r};return XMLBuilder}()}).call(this)},{"./XMLDeclaration":252,"./XMLDocType":253,"./XMLElement":254,"./XMLStringifier":258}],246:[function(require,module,exports){(function(){var XMLCData,XMLNode,create,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");XMLNode=require("./XMLNode");module.exports=XMLCData=function(_super){__extends(XMLCData,_super);function XMLCData(parent,text){XMLCData.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing CDATA text")}this.text=this.stringify.cdata(text)}XMLCData.prototype.clone=function(){return create(XMLCData.prototype,this)};XMLCData.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<![CDATA["+this.text+"]]>";if(pretty){r+=newline}return r};return XMLCData}(XMLNode)}).call(this)},{"./XMLNode":255,"lodash-node/modern/objects/create":273}],247:[function(require,module,exports){(function(){var XMLComment,XMLNode,create,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");XMLNode=require("./XMLNode");module.exports=XMLComment=function(_super){__extends(XMLComment,_super);function XMLComment(parent,text){XMLComment.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing comment text")}this.text=this.stringify.comment(text)}XMLComment.prototype.clone=function(){return create(XMLComment.prototype,this)};XMLComment.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!-- "+this.text+" -->";if(pretty){r+=newline}return r};return XMLComment}(XMLNode)}).call(this)},{"./XMLNode":255,"lodash-node/modern/objects/create":273}],248:[function(require,module,exports){(function(){var XMLDTDAttList,create;create=require("lodash-node/modern/objects/create");module.exports=XMLDTDAttList=function(){function XMLDTDAttList(parent,elementName,attributeName,attributeType,defaultValueType,defaultValue){this.stringify=parent.stringify;if(elementName==null){throw new Error("Missing DTD element name")}if(attributeName==null){throw new Error("Missing DTD attribute name")}if(!attributeType){throw new Error("Missing DTD attribute type")}if(!defaultValueType){throw new Error("Missing DTD attribute default")}if(defaultValueType.indexOf("#")!==0){defaultValueType="#"+defaultValueType}if(!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)){throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT")}if(defaultValue&&!defaultValueType.match(/^(#FIXED|#DEFAULT)$/)){throw new Error("Default value only applies to #FIXED or #DEFAULT")}this.elementName=this.stringify.eleName(elementName);this.attributeName=this.stringify.attName(attributeName);this.attributeType=this.stringify.dtdAttType(attributeType);this.defaultValue=this.stringify.dtdAttDefault(defaultValue);this.defaultValueType=defaultValueType}XMLDTDAttList.prototype.clone=function(){return create(XMLDTDAttList.prototype,this)};XMLDTDAttList.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!ATTLIST "+this.elementName+" "+this.attributeName+" "+this.attributeType;if(this.defaultValueType!=="#DEFAULT"){r+=" "+this.defaultValueType}if(this.defaultValue){r+=' "'+this.defaultValue+'"'}r+=">";if(pretty){r+=newline}return r};return XMLDTDAttList}()}).call(this)},{"lodash-node/modern/objects/create":273}],249:[function(require,module,exports){(function(){var XMLDTDElement,create,isArray;create=require("lodash-node/modern/objects/create");isArray=require("lodash-node/modern/objects/isArray");module.exports=XMLDTDElement=function(){function XMLDTDElement(parent,name,value){this.stringify=parent.stringify;if(name==null){throw new Error("Missing DTD element name")}if(!value){value="(#PCDATA)"}if(isArray(value)){value="("+value.join(",")+")"}this.name=this.stringify.eleName(name);this.value=this.stringify.dtdElementValue(value)}XMLDTDElement.prototype.clone=function(){return create(XMLDTDElement.prototype,this)};XMLDTDElement.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!ELEMENT "+this.name+" "+this.value+">";if(pretty){r+=newline}return r};return XMLDTDElement}()}).call(this)},{"lodash-node/modern/objects/create":273,"lodash-node/modern/objects/isArray":275}],250:[function(require,module,exports){(function(){var XMLDTDEntity,create,isObject;create=require("lodash-node/modern/objects/create");isObject=require("lodash-node/modern/objects/isObject");module.exports=XMLDTDEntity=function(){function XMLDTDEntity(parent,pe,name,value){this.stringify=parent.stringify;if(name==null){throw new Error("Missing entity name")}if(value==null){throw new Error("Missing entity value")}this.pe=!!pe;this.name=this.stringify.eleName(name);if(!isObject(value)){this.value=this.stringify.dtdEntityValue(value)}else{if(!value.pubID&&!value.sysID){throw new Error("Public and/or system identifiers are required for an external entity")}if(value.pubID&&!value.sysID){throw new Error("System identifier is required for a public external entity")}if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}if(value.nData!=null){this.nData=this.stringify.dtdNData(value.nData)}if(this.pe&&this.nData){throw new Error("Notation declaration is not allowed in a parameter entity")}}}XMLDTDEntity.prototype.clone=function(){return create(XMLDTDEntity.prototype,this)};XMLDTDEntity.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!ENTITY";if(this.pe){r+=" %"}r+=" "+this.name;if(this.value){r+=' "'+this.value+'"'}else{if(this.pubID&&this.sysID){r+=' PUBLIC "'+this.pubID+'" "'+this.sysID+'"'}else if(this.sysID){r+=' SYSTEM "'+this.sysID+'"'}if(this.nData){r+=" NDATA "+this.nData}}r+=">";if(pretty){r+=newline}return r};return XMLDTDEntity}()}).call(this)},{"lodash-node/modern/objects/create":273,"lodash-node/modern/objects/isObject":278}],251:[function(require,module,exports){(function(){var XMLDTDNotation,create;create=require("lodash-node/modern/objects/create");module.exports=XMLDTDNotation=function(){function XMLDTDNotation(parent,name,value){this.stringify=parent.stringify;if(name==null){throw new Error("Missing notation name")}if(!value.pubID&&!value.sysID){throw new Error("Public or system identifiers are required for an external entity")}this.name=this.stringify.eleName(name);if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}}XMLDTDNotation.prototype.clone=function(){return create(XMLDTDNotation.prototype,this)};XMLDTDNotation.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!NOTATION "+this.name;if(this.pubID&&this.sysID){r+=' PUBLIC "'+this.pubID+'" "'+this.sysID+'"'}else if(this.pubID){r+=' PUBLIC "'+this.pubID+'"'}else if(this.sysID){r+=' SYSTEM "'+this.sysID+'"'}r+=">";if(pretty){r+=newline}return r};return XMLDTDNotation}()}).call(this)},{"lodash-node/modern/objects/create":273}],252:[function(require,module,exports){(function(){var XMLDeclaration,XMLNode,create,isObject,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");isObject=require("lodash-node/modern/objects/isObject");XMLNode=require("./XMLNode");module.exports=XMLDeclaration=function(_super){__extends(XMLDeclaration,_super);function XMLDeclaration(parent,version,encoding,standalone){var _ref;XMLDeclaration.__super__.constructor.call(this,parent);if(isObject(version)){_ref=version,version=_ref.version,encoding=_ref.encoding,standalone=_ref.standalone}if(!version){version="1.0"}if(version!=null){this.version=this.stringify.xmlVersion(version)}if(encoding!=null){this.encoding=this.stringify.xmlEncoding(encoding)}if(standalone!=null){this.standalone=this.stringify.xmlStandalone(standalone)}}XMLDeclaration.prototype.clone=function(){return create(XMLDeclaration.prototype,this)};XMLDeclaration.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<?xml";if(this.version!=null){r+=' version="'+this.version+'"'}if(this.encoding!=null){r+=' encoding="'+this.encoding+'"'}if(this.standalone!=null){r+=' standalone="'+this.standalone+'"'}r+="?>";if(pretty){r+=newline}return r};return XMLDeclaration}(XMLNode)}).call(this)},{"./XMLNode":255,"lodash-node/modern/objects/create":273,"lodash-node/modern/objects/isObject":278}],253:[function(require,module,exports){(function(){var XMLDocType,create,isObject;create=require("lodash-node/modern/objects/create");isObject=require("lodash-node/modern/objects/isObject");module.exports=XMLDocType=function(){function XMLDocType(parent,pubID,sysID){var _ref,_ref1;this.documentObject=parent;this.stringify=this.documentObject.stringify;this.children=[];if(isObject(pubID)){_ref=pubID,pubID=_ref.pubID,sysID=_ref.sysID}if(sysID==null){_ref1=[pubID,sysID],sysID=_ref1[0],pubID=_ref1[1]}if(pubID!=null){this.pubID=this.stringify.dtdPubID(pubID)}if(sysID!=null){this.sysID=this.stringify.dtdSysID(sysID)}}XMLDocType.prototype.clone=function(){return create(XMLDocType.prototype,this)};XMLDocType.prototype.element=function(name,value){var XMLDTDElement,child;XMLDTDElement=require("./XMLDTDElement");child=new XMLDTDElement(this,name,value);this.children.push(child);return this};XMLDocType.prototype.attList=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){var XMLDTDAttList,child;XMLDTDAttList=require("./XMLDTDAttList");child=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue);this.children.push(child);return this};XMLDocType.prototype.entity=function(name,value){var XMLDTDEntity,child;XMLDTDEntity=require("./XMLDTDEntity");child=new XMLDTDEntity(this,false,name,value);this.children.push(child);return this};XMLDocType.prototype.pEntity=function(name,value){var XMLDTDEntity,child;XMLDTDEntity=require("./XMLDTDEntity");child=new XMLDTDEntity(this,true,name,value);this.children.push(child);return this};XMLDocType.prototype.notation=function(name,value){var XMLDTDNotation,child;XMLDTDNotation=require("./XMLDTDNotation");child=new XMLDTDNotation(this,name,value);this.children.push(child);return this};XMLDocType.prototype.cdata=function(value){var XMLCData,child;XMLCData=require("./XMLCData");child=new XMLCData(this,value);this.children.push(child);return this};XMLDocType.prototype.comment=function(value){var XMLComment,child;XMLComment=require("./XMLComment");child=new XMLComment(this,value);this.children.push(child);return this};XMLDocType.prototype.instruction=function(target,value){var XMLProcessingInstruction,child;XMLProcessingInstruction=require("./XMLProcessingInstruction");child=new XMLProcessingInstruction(this,target,value);this.children.push(child);return this};XMLDocType.prototype.root=function(){return this.documentObject.root()};XMLDocType.prototype.document=function(){return this.documentObject};XMLDocType.prototype.toString=function(options,level){var child,indent,newline,pretty,r,space,_i,_len,_ref,_ref1,_ref2;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<!DOCTYPE "+this.root().name;if(this.pubID&&this.sysID){r+=' PUBLIC "'+this.pubID+'" "'+this.sysID+'"'}else if(this.sysID){r+=' SYSTEM "'+this.sysID+'"'}if(this.children.length>0){r+=" [";if(pretty){r+=newline}_ref2=this.children;for(_i=0,_len=_ref2.length;_i<_len;_i++){child=_ref2[_i];r+=child.toString(options,level+1)}r+="]"}r+=">";if(pretty){r+=newline}return r};XMLDocType.prototype.ele=function(name,value){return this.element(name,value)};XMLDocType.prototype.att=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){return this.attList(elementName,attributeName,attributeType,defaultValueType,defaultValue)};XMLDocType.prototype.ent=function(name,value){return this.entity(name,value)};XMLDocType.prototype.pent=function(name,value){return this.pEntity(name,value)};XMLDocType.prototype.not=function(name,value){return this.notation(name,value)};XMLDocType.prototype.dat=function(value){return this.cdata(value)};XMLDocType.prototype.com=function(value){return this.comment(value)};XMLDocType.prototype.ins=function(target,value){return this.instruction(target,value)};XMLDocType.prototype.up=function(){return this.root()};XMLDocType.prototype.doc=function(){return this.document()};return XMLDocType}()}).call(this)},{"./XMLCData":246,"./XMLComment":247,"./XMLDTDAttList":248,"./XMLDTDElement":249,"./XMLDTDEntity":250,"./XMLDTDNotation":251,"./XMLProcessingInstruction":256,"lodash-node/modern/objects/create":273,"lodash-node/modern/objects/isObject":278}],254:[function(require,module,exports){(function(){var XMLAttribute,XMLElement,XMLNode,XMLProcessingInstruction,create,isArray,isFunction,isObject,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");isObject=require("lodash-node/modern/objects/isObject");isArray=require("lodash-node/modern/objects/isArray");isFunction=require("lodash-node/modern/objects/isFunction");XMLNode=require("./XMLNode");XMLAttribute=require("./XMLAttribute");XMLProcessingInstruction=require("./XMLProcessingInstruction");module.exports=XMLElement=function(_super){__extends(XMLElement,_super);function XMLElement(parent,name,attributes){XMLElement.__super__.constructor.call(this,parent);if(name==null){throw new Error("Missing element name")}this.name=this.stringify.eleName(name);this.children=[];this.instructions=[];this.attributes={};if(attributes!=null){this.attribute(attributes)}}XMLElement.prototype.clone=function(){var att,attName,clonedSelf,pi,_i,_len,_ref,_ref1;clonedSelf=create(XMLElement.prototype,this);clonedSelf.attributes={};_ref=this.attributes;for(attName in _ref){if(!__hasProp.call(_ref,attName))continue;att=_ref[attName];clonedSelf.attributes[attName]=att.clone()}clonedSelf.instructions=[];_ref1=this.instructions;for(_i=0,_len=_ref1.length;_i<_len;_i++){pi=_ref1[_i];clonedSelf.instructions.push(pi.clone())}clonedSelf.children=[];this.children.forEach(function(child){var clonedChild;clonedChild=child.clone();clonedChild.parent=clonedSelf;return clonedSelf.children.push(clonedChild)});return clonedSelf};XMLElement.prototype.attribute=function(name,value){var attName,attValue;if(name!=null){name=name.valueOf()}if(isObject(name)){for(attName in name){if(!__hasProp.call(name,attName))continue;attValue=name[attName];this.attribute(attName,attValue)}}else{if(isFunction(value)){value=value.apply()}if(!this.options.skipNullAttributes||value!=null){this.attributes[name]=new XMLAttribute(this,name,value)}}return this};XMLElement.prototype.removeAttribute=function(name){var attName,_i,_len;if(name==null){throw new Error("Missing attribute name")}name=name.valueOf();if(isArray(name)){for(_i=0,_len=name.length;_i<_len;_i++){attName=name[_i];delete this.attributes[attName]}}else{delete this.attributes[name]}return this};XMLElement.prototype.instruction=function(target,value){var insTarget,insValue,instruction,_i,_len;if(target!=null){target=target.valueOf()}if(value!=null){value=value.valueOf()}if(isArray(target)){for(_i=0,_len=target.length;_i<_len;_i++){insTarget=target[_i];this.instruction(insTarget)}}else if(isObject(target)){for(insTarget in target){if(!__hasProp.call(target,insTarget))continue;insValue=target[insTarget];this.instruction(insTarget,insValue)}}else{if(isFunction(value)){value=value.apply()}instruction=new XMLProcessingInstruction(this,target,value);this.instructions.push(instruction)}return this};XMLElement.prototype.toString=function(options,level){var att,child,indent,instruction,name,newline,pretty,r,space,_i,_j,_len,_len1,_ref,_ref1,_ref2,_ref3,_ref4;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";_ref2=this.instructions;for(_i=0,_len=_ref2.length;_i<_len;_i++){instruction=_ref2[_i];r+=instruction.toString(options,level+1)}if(pretty){r+=space}r+="<"+this.name;_ref3=this.attributes;for(name in _ref3){if(!__hasProp.call(_ref3,name))continue;att=_ref3[name];r+=att.toString(options)}if(this.children.length===0){r+="/>";if(pretty){r+=newline}}else if(pretty&&this.children.length===1&&this.children[0].value!=null){r+=">";r+=this.children[0].value;r+="</"+this.name+">";r+=newline}else{r+=">";if(pretty){r+=newline}_ref4=this.children;for(_j=0,_len1=_ref4.length;_j<_len1;_j++){child=_ref4[_j];r+=child.toString(options,level+1)}if(pretty){r+=space}r+="</"+this.name+">";if(pretty){r+=newline}}return r};XMLElement.prototype.att=function(name,value){return this.attribute(name,value)};XMLElement.prototype.ins=function(target,value){return this.instruction(target,value)};XMLElement.prototype.a=function(name,value){return this.attribute(name,value)};XMLElement.prototype.i=function(target,value){return this.instruction(target,value)};return XMLElement}(XMLNode)}).call(this)},{"./XMLAttribute":244,"./XMLNode":255,"./XMLProcessingInstruction":256,"lodash-node/modern/objects/create":273,"lodash-node/modern/objects/isArray":275,"lodash-node/modern/objects/isFunction":277,"lodash-node/modern/objects/isObject":278}],255:[function(require,module,exports){(function(){var XMLNode,isArray,isEmpty,isFunction,isObject,__hasProp={}.hasOwnProperty;isObject=require("lodash-node/modern/objects/isObject");isArray=require("lodash-node/modern/objects/isArray");isFunction=require("lodash-node/modern/objects/isFunction");isEmpty=require("lodash-node/modern/objects/isEmpty");module.exports=XMLNode=function(){function XMLNode(parent){this.parent=parent;this.options=this.parent.options;this.stringify=this.parent.stringify}XMLNode.prototype.clone=function(){throw new Error("Cannot clone generic XMLNode")};XMLNode.prototype.element=function(name,attributes,text){var item,key,lastChild,val,_i,_len,_ref;lastChild=null;if(attributes==null){attributes={}}attributes=attributes.valueOf();if(!isObject(attributes)){_ref=[attributes,text],text=_ref[0],attributes=_ref[1]}if(name!=null){name=name.valueOf()}if(isArray(name)){for(_i=0,_len=name.length;_i<_len;_i++){item=name[_i];lastChild=this.element(item)}}else if(isFunction(name)){lastChild=this.element(name.apply())}else if(isObject(name)){for(key in name){if(!__hasProp.call(name,key))continue;val=name[key];if(isFunction(val)){val=val.apply()}if(isObject(val)&&isEmpty(val)){val=null}if(!this.options.ignoreDecorators&&this.stringify.convertAttKey&&key.indexOf(this.stringify.convertAttKey)===0){lastChild=this.attribute(key.substr(this.stringify.convertAttKey.length),val)}else if(!this.options.ignoreDecorators&&this.stringify.convertPIKey&&key.indexOf(this.stringify.convertPIKey)===0){lastChild=this.instruction(key.substr(this.stringify.convertPIKey.length),val)}else if(isObject(val)){if(!this.options.ignoreDecorators&&this.stringify.convertListKey&&key.indexOf(this.stringify.convertListKey)===0&&isArray(val)){lastChild=this.element(val)}else{lastChild=this.element(key);lastChild.element(val)}}else{lastChild=this.element(key,val)}}}else{if(!this.options.ignoreDecorators&&this.stringify.convertTextKey&&name.indexOf(this.stringify.convertTextKey)===0){lastChild=this.text(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&name.indexOf(this.stringify.convertCDataKey)===0){lastChild=this.cdata(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&name.indexOf(this.stringify.convertCommentKey)===0){lastChild=this.comment(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertRawKey&&name.indexOf(this.stringify.convertRawKey)===0){lastChild=this.raw(text)
}else{lastChild=this.node(name,attributes,text)}}if(lastChild==null){throw new Error("Could not create any elements with: "+name)}return lastChild};XMLNode.prototype.insertBefore=function(name,attributes,text){var child,i,removed;if(this.isRoot){throw new Error("Cannot insert elements at root level")}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child};XMLNode.prototype.insertAfter=function(name,attributes,text){var child,i,removed;if(this.isRoot){throw new Error("Cannot insert elements at root level")}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child};XMLNode.prototype.remove=function(){var i,_ref;if(this.isRoot){throw new Error("Cannot remove the root element")}i=this.parent.children.indexOf(this);[].splice.apply(this.parent.children,[i,i-i+1].concat(_ref=[])),_ref;return this.parent};XMLNode.prototype.node=function(name,attributes,text){var XMLElement,child,_ref;if(name!=null){name=name.valueOf()}if(attributes==null){attributes={}}attributes=attributes.valueOf();if(!isObject(attributes)){_ref=[attributes,text],text=_ref[0],attributes=_ref[1]}XMLElement=require("./XMLElement");child=new XMLElement(this,name,attributes);if(text!=null){child.text(text)}this.children.push(child);return child};XMLNode.prototype.text=function(value){var XMLText,child;XMLText=require("./XMLText");child=new XMLText(this,value);this.children.push(child);return this};XMLNode.prototype.cdata=function(value){var XMLCData,child;XMLCData=require("./XMLCData");child=new XMLCData(this,value);this.children.push(child);return this};XMLNode.prototype.comment=function(value){var XMLComment,child;XMLComment=require("./XMLComment");child=new XMLComment(this,value);this.children.push(child);return this};XMLNode.prototype.raw=function(value){var XMLRaw,child;XMLRaw=require("./XMLRaw");child=new XMLRaw(this,value);this.children.push(child);return this};XMLNode.prototype.declaration=function(version,encoding,standalone){var XMLDeclaration,doc,xmldec;doc=this.document();XMLDeclaration=require("./XMLDeclaration");xmldec=new XMLDeclaration(doc,version,encoding,standalone);doc.xmldec=xmldec;return doc.root()};XMLNode.prototype.doctype=function(pubID,sysID){var XMLDocType,doc,doctype;doc=this.document();XMLDocType=require("./XMLDocType");doctype=new XMLDocType(doc,pubID,sysID);doc.doctype=doctype;return doctype};XMLNode.prototype.up=function(){if(this.isRoot){throw new Error("The root node has no parent. Use doc() if you need to get the document object.")}return this.parent};XMLNode.prototype.root=function(){var child;if(this.isRoot){return this}child=this.parent;while(!child.isRoot){child=child.parent}return child};XMLNode.prototype.document=function(){return this.root().documentObject};XMLNode.prototype.end=function(options){return this.document().toString(options)};XMLNode.prototype.prev=function(){var i;if(this.isRoot){throw new Error("Root node has no siblings")}i=this.parent.children.indexOf(this);if(i<1){throw new Error("Already at the first node")}return this.parent.children[i-1]};XMLNode.prototype.next=function(){var i;if(this.isRoot){throw new Error("Root node has no siblings")}i=this.parent.children.indexOf(this);if(i===-1||i===this.parent.children.length-1){throw new Error("Already at the last node")}return this.parent.children[i+1]};XMLNode.prototype.importXMLBuilder=function(xmlbuilder){var clonedRoot;clonedRoot=xmlbuilder.root().clone();clonedRoot.parent=this;clonedRoot.isRoot=false;this.children.push(clonedRoot);return this};XMLNode.prototype.ele=function(name,attributes,text){return this.element(name,attributes,text)};XMLNode.prototype.nod=function(name,attributes,text){return this.node(name,attributes,text)};XMLNode.prototype.txt=function(value){return this.text(value)};XMLNode.prototype.dat=function(value){return this.cdata(value)};XMLNode.prototype.com=function(value){return this.comment(value)};XMLNode.prototype.doc=function(){return this.document()};XMLNode.prototype.dec=function(version,encoding,standalone){return this.declaration(version,encoding,standalone)};XMLNode.prototype.dtd=function(pubID,sysID){return this.doctype(pubID,sysID)};XMLNode.prototype.e=function(name,attributes,text){return this.element(name,attributes,text)};XMLNode.prototype.n=function(name,attributes,text){return this.node(name,attributes,text)};XMLNode.prototype.t=function(value){return this.text(value)};XMLNode.prototype.d=function(value){return this.cdata(value)};XMLNode.prototype.c=function(value){return this.comment(value)};XMLNode.prototype.r=function(value){return this.raw(value)};XMLNode.prototype.u=function(){return this.up()};return XMLNode}()}).call(this)},{"./XMLCData":246,"./XMLComment":247,"./XMLDeclaration":252,"./XMLDocType":253,"./XMLElement":254,"./XMLRaw":257,"./XMLText":259,"lodash-node/modern/objects/isArray":275,"lodash-node/modern/objects/isEmpty":276,"lodash-node/modern/objects/isFunction":277,"lodash-node/modern/objects/isObject":278}],256:[function(require,module,exports){(function(){var XMLProcessingInstruction,create;create=require("lodash-node/modern/objects/create");module.exports=XMLProcessingInstruction=function(){function XMLProcessingInstruction(parent,target,value){this.stringify=parent.stringify;if(target==null){throw new Error("Missing instruction target")}this.target=this.stringify.insTarget(target);if(value){this.value=this.stringify.insValue(value)}}XMLProcessingInstruction.prototype.clone=function(){return create(XMLProcessingInstruction.prototype,this)};XMLProcessingInstruction.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+="<?";r+=this.target;if(this.value){r+=" "+this.value}r+="?>";if(pretty){r+=newline}return r};return XMLProcessingInstruction}()}).call(this)},{"lodash-node/modern/objects/create":273}],257:[function(require,module,exports){(function(){var XMLNode,XMLRaw,create,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");XMLNode=require("./XMLNode");module.exports=XMLRaw=function(_super){__extends(XMLRaw,_super);function XMLRaw(parent,text){XMLRaw.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing raw text")}this.value=this.stringify.raw(text)}XMLRaw.prototype.clone=function(){return create(XMLRaw.prototype,this)};XMLRaw.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+=this.value;if(pretty){r+=newline}return r};return XMLRaw}(XMLNode)}).call(this)},{"./XMLNode":255,"lodash-node/modern/objects/create":273}],258:[function(require,module,exports){(function(){var XMLStringifier,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__hasProp={}.hasOwnProperty;module.exports=XMLStringifier=function(){function XMLStringifier(options){this.assertLegalChar=__bind(this.assertLegalChar,this);var key,value,_ref;this.allowSurrogateChars=options!=null?options.allowSurrogateChars:void 0;_ref=(options!=null?options.stringify:void 0)||{};for(key in _ref){if(!__hasProp.call(_ref,key))continue;value=_ref[key];this[key]=value}}XMLStringifier.prototype.eleName=function(val){val=""+val||"";return this.assertLegalChar(val)};XMLStringifier.prototype.eleText=function(val){val=""+val||"";return this.assertLegalChar(this.elEscape(val))};XMLStringifier.prototype.cdata=function(val){val=""+val||"";if(val.match(/]]>/)){throw new Error("Invalid CDATA text: "+val)}return this.assertLegalChar(val)};XMLStringifier.prototype.comment=function(val){val=""+val||"";if(val.match(/--/)){throw new Error("Comment text cannot contain double-hypen: "+val)}return this.assertLegalChar(val)};XMLStringifier.prototype.raw=function(val){return""+val||""};XMLStringifier.prototype.attName=function(val){return""+val||""};XMLStringifier.prototype.attValue=function(val){val=""+val||"";return this.attEscape(val)};XMLStringifier.prototype.insTarget=function(val){return""+val||""};XMLStringifier.prototype.insValue=function(val){val=""+val||"";if(val.match(/\?>/)){throw new Error("Invalid processing instruction value: "+val)}return val};XMLStringifier.prototype.xmlVersion=function(val){val=""+val||"";if(!val.match(/1\.[0-9]+/)){throw new Error("Invalid version number: "+val)}return val};XMLStringifier.prototype.xmlEncoding=function(val){val=""+val||"";if(!val.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)){throw new Error("Invalid encoding: "+options.val)}return val};XMLStringifier.prototype.xmlStandalone=function(val){if(val){return"yes"}else{return"no"}};XMLStringifier.prototype.dtdPubID=function(val){return""+val||""};XMLStringifier.prototype.dtdSysID=function(val){return""+val||""};XMLStringifier.prototype.dtdElementValue=function(val){return""+val||""};XMLStringifier.prototype.dtdAttType=function(val){return""+val||""};XMLStringifier.prototype.dtdAttDefault=function(val){if(val!=null){return""+val||""}else{return val}};XMLStringifier.prototype.dtdEntityValue=function(val){return""+val||""};XMLStringifier.prototype.dtdNData=function(val){return""+val||""};XMLStringifier.prototype.convertAttKey="@";XMLStringifier.prototype.convertPIKey="?";XMLStringifier.prototype.convertTextKey="#text";XMLStringifier.prototype.convertCDataKey="#cdata";XMLStringifier.prototype.convertCommentKey="#comment";XMLStringifier.prototype.convertRawKey="#raw";XMLStringifier.prototype.convertListKey="#list";XMLStringifier.prototype.assertLegalChar=function(str){var chars,chr;if(this.allowSurrogateChars){chars=/[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/}else{chars=/[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/}chr=str.match(chars);if(chr){throw new Error("Invalid character ("+chr+") in string: "+str+" at index "+chr.index)}return str};XMLStringifier.prototype.elEscape=function(str){return str.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#xD;")};XMLStringifier.prototype.attEscape=function(str){return str.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")};return XMLStringifier}()}).call(this)},{}],259:[function(require,module,exports){(function(){var XMLNode,XMLText,create,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};create=require("lodash-node/modern/objects/create");XMLNode=require("./XMLNode");module.exports=XMLText=function(_super){__extends(XMLText,_super);function XMLText(parent,text){this.parent=parent;XMLText.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing element text")}this.value=this.stringify.eleText(text)}XMLText.prototype.clone=function(){return create(XMLText.prototype,this)};XMLText.prototype.toString=function(options,level){var indent,newline,pretty,r,space,_ref,_ref1;pretty=(options!=null?options.pretty:void 0)||false;indent=(_ref=options!=null?options.indent:void 0)!=null?_ref:" ";newline=(_ref1=options!=null?options.newline:void 0)!=null?_ref1:"\n";level||(level=0);space=new Array(level+1).join(indent);r="";if(pretty){r+=space}r+=this.value;if(pretty){r+=newline}return r};return XMLText}(XMLNode)}).call(this)},{"./XMLNode":255,"lodash-node/modern/objects/create":273}],260:[function(require,module,exports){(function(){var XMLBuilder,assign;assign=require("lodash-node/modern/objects/assign");XMLBuilder=require("./XMLBuilder");module.exports.create=function(name,xmldec,doctype,options){options=assign({},xmldec,doctype,options);return new XMLBuilder(name,options).root()}}).call(this)},{"./XMLBuilder":245,"lodash-node/modern/objects/assign":272}],261:[function(require,module,exports){var createWrapper=require("../internals/createWrapper"),slice=require("../internals/slice");function bind(func,thisArg){return arguments.length>2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}module.exports=bind},{"../internals/createWrapper":266,"../internals/slice":271}],262:[function(require,module,exports){var baseCreate=require("./baseCreate"),isObject=require("../objects/isObject"),setBindData=require("./setBindData"),slice=require("./slice");var arrayRef=[];var push=arrayRef.push;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}module.exports=baseBind},{"../objects/isObject":278,"./baseCreate":263,"./setBindData":269,"./slice":271}],263:[function(require,module,exports){(function(global){var isNative=require("./isNative"),isObject=require("../objects/isObject"),noop=require("../utilities/noop");var nativeCreate=isNative(nativeCreate=Object.create)&&nativeCreate;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||global.Object()}}()}module.exports=baseCreate}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"../objects/isObject":278,"../utilities/noop":282,"./isNative":267}],264:[function(require,module,exports){var bind=require("../functions/bind"),identity=require("../utilities/identity"),setBindData=require("./setBindData"),support=require("../support");var reFuncName=/^\s*function[ \n\r\t]+\w/;var reThis=/\bthis\b/;var fnToString=Function.prototype.toString;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)}module.exports=baseCreateCallback},{"../functions/bind":261,"../support":280,"../utilities/identity":281,"./setBindData":269}],265:[function(require,module,exports){var baseCreate=require("./baseCreate"),isObject=require("../objects/isObject"),setBindData=require("./setBindData"),slice=require("./slice");var arrayRef=[];var push=arrayRef.push;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}module.exports=baseCreateWrapper},{"../objects/isObject":278,"./baseCreate":263,"./setBindData":269,"./slice":271}],266:[function(require,module,exports){var baseBind=require("./baseBind"),baseCreateWrapper=require("./baseCreateWrapper"),isFunction=require("../objects/isFunction"),slice=require("./slice");var arrayRef=[];var push=arrayRef.push,unshift=arrayRef.unshift;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])}module.exports=createWrapper},{"../objects/isFunction":277,"./baseBind":262,"./baseCreateWrapper":265,"./slice":271}],267:[function(require,module,exports){var objectProto=Object.prototype;var toString=objectProto.toString;var reNative=RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$");function isNative(value){return typeof value=="function"&&reNative.test(value)}module.exports=isNative},{}],268:[function(require,module,exports){var objectTypes={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false};module.exports=objectTypes},{}],269:[function(require,module,exports){var isNative=require("./isNative"),noop=require("../utilities/noop");var descriptor={configurable:false,enumerable:false,value:null,writable:false};var defineProperty=function(){try{var o={},func=isNative(func=Object.defineProperty)&&func,result=func(o,o,o)&&func}catch(e){}return result}();var setBindData=!defineProperty?noop:function(func,value){descriptor.value=value;defineProperty(func,"__bindData__",descriptor)};module.exports=setBindData},{"../utilities/noop":282,"./isNative":267}],270:[function(require,module,exports){var objectTypes=require("./objectTypes");var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;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};module.exports=shimKeys},{"./objectTypes":268}],271:[function(require,module,exports){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}module.exports=slice},{}],272:[function(require,module,exports){var baseCreateCallback=require("../internals/baseCreateCallback"),keys=require("./keys"),objectTypes=require("../internals/objectTypes");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};module.exports=assign},{"../internals/baseCreateCallback":264,"../internals/objectTypes":268,"./keys":279}],273:[function(require,module,exports){var assign=require("./assign"),baseCreate=require("../internals/baseCreate");function create(prototype,properties){var result=baseCreate(prototype);return properties?assign(result,properties):result}module.exports=create},{"../internals/baseCreate":263,"./assign":272}],274:[function(require,module,exports){var baseCreateCallback=require("../internals/baseCreateCallback"),keys=require("./keys"),objectTypes=require("../internals/objectTypes");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};module.exports=forOwn},{"../internals/baseCreateCallback":264,"../internals/objectTypes":268,"./keys":279}],275:[function(require,module,exports){var isNative=require("../internals/isNative");var arrayClass="[object Array]";var objectProto=Object.prototype;var toString=objectProto.toString;var nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray;var isArray=nativeIsArray||function(value){return value&&typeof value=="object"&&typeof value.length=="number"&&toString.call(value)==arrayClass||false};module.exports=isArray},{"../internals/isNative":267}],276:[function(require,module,exports){var forOwn=require("./forOwn"),isFunction=require("./isFunction");var argsClass="[object Arguments]",arrayClass="[object Array]",objectClass="[object Object]",stringClass="[object String]";var objectProto=Object.prototype;var toString=objectProto.toString;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}module.exports=isEmpty},{"./forOwn":274,"./isFunction":277}],277:[function(require,module,exports){function isFunction(value){return typeof value=="function"}module.exports=isFunction},{}],278:[function(require,module,exports){var objectTypes=require("../internals/objectTypes");function isObject(value){return!!(value&&objectTypes[typeof value])}module.exports=isObject},{"../internals/objectTypes":268}],279:[function(require,module,exports){var isNative=require("../internals/isNative"),isObject=require("./isObject"),shimKeys=require("../internals/shimKeys");var nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys;var keys=!nativeKeys?shimKeys:function(object){if(!isObject(object)){return[]}return nativeKeys(object)};module.exports=keys},{"../internals/isNative":267,"../internals/shimKeys":270,"./isObject":278}],280:[function(require,module,exports){(function(global){var isNative=require("./internals/isNative");var reThis=/\bthis\b/;var support={};support.funcDecomp=!isNative(global.WinRTError)&&reThis.test(function(){return this});support.funcNames=typeof Function.name=="string";module.exports=support}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./internals/isNative":267}],281:[function(require,module,exports){function identity(value){return value}module.exports=identity},{}],282:[function(require,module,exports){function noop(){}module.exports=noop},{}],"bionode-ncbi":[function(require,module,exports){module.exports=require("./lib/bionode-ncbi")},{"./lib/bionode-ncbi":66}]},{},[]);var ncbi=require("bionode-ncbi");ncbi.search("assembly","Solenopsis invicta").on("data",function(data){document.write(JSON.stringify(data,null,2))});
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"bionode-ncbi": "0.6.0"
}
}
<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