UNPKG

roomrtc

Version:

RoomRTC enables quick development of webRTC

69 lines (68 loc) 169 kB
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.RoomRTC = f()}})(function(){var define,module,exports;return (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){ function after(o,n,t){function r(o,e){if(r.count<=0)throw new Error("after called too many times");--r.count,o?(u=!0,n(o),n=t):0!==r.count||u||n(null,e)}var u=!1;return t=t||noop,r.count=o,0===o?n():r}function noop(){}module.exports=after; },{}],2:[function(require,module,exports){ module.exports=function(r,e,n){var t=r.byteLength;if(e=e||0,n=n||t,r.slice)return r.slice(e,n);if(e<0&&(e+=t),n<0&&(n+=t),n>t&&(n=t),e>=t||e>=n||0===t)return new ArrayBuffer(0);for(var f=new Uint8Array(r),i=new Uint8Array(n-e),u=e,a=0;u<n;u++,a++)i[a]=f[u];return i.buffer}; },{}],3:[function(require,module,exports){ "use strict";function throwFirstError(){if(pendingErrors.length)throw pendingErrors.shift()}function asap(r){var s;s=freeTasks.length?freeTasks.pop():new RawTask,s.task=r,rawAsap(s)}function RawTask(){this.task=null}var rawAsap=require("./raw"),freeTasks=[],pendingErrors=[],requestErrorThrow=rawAsap.makeRequestCallFromTimer(throwFirstError);module.exports=asap,RawTask.prototype.call=function(){try{this.task.call()}catch(r){asap.onerror?asap.onerror(r):(pendingErrors.push(r),requestErrorThrow())}finally{this.task=null,freeTasks[freeTasks.length]=this}}; },{"./raw":4}],4:[function(require,module,exports){ (function (global){ "use strict";function rawAsap(e){queue.length||(requestFlush(),flushing=!0),queue[queue.length]=e}function flush(){for(;index<queue.length;){var e=index;if(index+=1,queue[e].call(),index>capacity){for(var u=0,t=queue.length-index;u<t;u++)queue[u]=queue[u+index];queue.length-=index,index=0}}queue.length=0,index=0,flushing=!1}function makeRequestCallFromMutationObserver(e){var u=1,t=new BrowserMutationObserver(e),r=document.createTextNode("");return t.observe(r,{characterData:!0}),function(){u=-u,r.data=u}}function makeRequestCallFromTimer(e){return function(){function u(){clearTimeout(t),clearInterval(r),e()}var t=setTimeout(u,0),r=setInterval(u,50)}}module.exports=rawAsap;var queue=[],flushing=!1,requestFlush,index=0,capacity=1024,scope="undefined"!=typeof global?global:self,BrowserMutationObserver=scope.MutationObserver||scope.WebKitMutationObserver;requestFlush="function"==typeof BrowserMutationObserver?makeRequestCallFromMutationObserver(flush):makeRequestCallFromTimer(flush),rawAsap.requestFlush=requestFlush,rawAsap.makeRequestCallFromTimer=makeRequestCallFromTimer; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],5:[function(require,module,exports){ function Backoff(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}module.exports=Backoff,Backoff.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var o=Math.random(),i=Math.floor(o*this.jitter*t);t=0==(1&Math.floor(10*o))?t-i:t+i}return 0|Math.min(t,this.max)},Backoff.prototype.reset=function(){this.attempts=0},Backoff.prototype.setMin=function(t){this.ms=t},Backoff.prototype.setMax=function(t){this.max=t},Backoff.prototype.setJitter=function(t){this.jitter=t}; },{}],6:[function(require,module,exports){ !function(){"use strict";for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=new Uint8Array(256),t=0;t<r.length;t++)e[r.charCodeAt(t)]=t;exports.encode=function(e){var t,n=new Uint8Array(e),o=n.length,a="";for(t=0;t<o;t+=3)a+=r[n[t]>>2],a+=r[(3&n[t])<<4|n[t+1]>>4],a+=r[(15&n[t+1])<<2|n[t+2]>>6],a+=r[63&n[t+2]];return o%3===2?a=a.substring(0,a.length-1)+"=":o%3===1&&(a=a.substring(0,a.length-2)+"=="),a},exports.decode=function(r){var t,n,o,a,h,c=.75*r.length,g=r.length,i=0;"="===r[r.length-1]&&(c--,"="===r[r.length-2]&&c--);var u=new ArrayBuffer(c),A=new Uint8Array(u);for(t=0;t<g;t+=4)n=e[r.charCodeAt(t)],o=e[r.charCodeAt(t+1)],a=e[r.charCodeAt(t+2)],h=e[r.charCodeAt(t+3)],A[i++]=n<<2|o>>4,A[i++]=(15&o)<<4|a>>2,A[i++]=(3&a)<<6|63&h;return u}}(); },{}],7:[function(require,module,exports){ (function (global){ function mapArrayBufferViews(r){for(var e=0;e<r.length;e++){var o=r[e];if(o.buffer instanceof ArrayBuffer){var t=o.buffer;if(o.byteLength!==t.byteLength){var l=new Uint8Array(o.byteLength);l.set(new Uint8Array(t,o.byteOffset,o.byteLength)),t=l.buffer}r[e]=t}}}function BlobBuilderConstructor(r,e){e=e||{};var o=new BlobBuilder;mapArrayBufferViews(r);for(var t=0;t<r.length;t++)o.append(r[t]);return e.type?o.getBlob(e.type):o.getBlob()}function BlobConstructor(r,e){return mapArrayBufferViews(r),new Blob(r,e||{})}var BlobBuilder=global.BlobBuilder||global.WebKitBlobBuilder||global.MSBlobBuilder||global.MozBlobBuilder,blobSupported=function(){try{var r=new Blob(["hi"]);return 2===r.size}catch(r){return!1}}(),blobSupportsArrayBufferView=blobSupported&&function(){try{var r=new Blob([new Uint8Array([1,2])]);return 2===r.size}catch(r){return!1}}(),blobBuilderSupported=BlobBuilder&&BlobBuilder.prototype.append&&BlobBuilder.prototype.getBlob;module.exports=function(){return blobSupported?blobSupportsArrayBufferView?global.Blob:BlobConstructor:blobBuilderSupported?BlobBuilderConstructor:void 0}(); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],8:[function(require,module,exports){ !function(e,i,r){"undefined"!=typeof module&&module.exports?module.exports=r():"function"==typeof define&&define.amd?define(i,r):e[i]=r()}(this,"bowser",function(){function e(e){function i(i){var r=e.match(i);return r&&r.length>1&&r[1]||""}function r(i){var r=e.match(i);return r&&r.length>1&&r[2]||""}function s(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}var o,n=i(/(ipod|iphone|ipad)/i).toLowerCase(),a=/like android/i.test(e),d=!a&&/android/i.test(e),m=/nexus\s*[0-6]\s*/i.test(e),v=!m&&/nexus\s*[0-9]+/i.test(e),p=/CrOS/.test(e),l=/silk/i.test(e),c=/sailfish/i.test(e),u=/tizen/i.test(e),f=/(web|hpw)os/i.test(e),h=/windows phone/i.test(e),w=(/SamsungBrowser/i.test(e),!h&&/windows/i.test(e)),b=!n&&!l&&/macintosh/i.test(e),g=!d&&!c&&!u&&!f&&/linux/i.test(e),k=i(/edge\/(\d+(\.\d+)?)/i),y=i(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(e),S=!x&&/[^-]mobi/i.test(e),B=/xbox/i.test(e);/opera/i.test(e)?o={name:"Opera",opera:t,version:y||i(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr|opios/i.test(e)?o={name:"Opera",opera:t,version:i(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||y}:/SamsungBrowser/i.test(e)?o={name:"Samsung Internet for Android",samsungBrowser:t,version:y||i(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?o={name:"Opera Coast",coast:t,version:y||i(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?o={name:"Yandex Browser",yandexbrowser:t,version:y||i(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?o={name:"UC Browser",ucbrowser:t,version:i(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?o={name:"Maxthon",maxthon:t,version:i(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?o={name:"Epiphany",epiphany:t,version:i(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?o={name:"Puffin",puffin:t,version:i(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?o={name:"Sleipnir",sleipnir:t,version:i(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?o={name:"K-Meleon",kMeleon:t,version:i(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",windowsphone:t},k?(o.msedge=t,o.version=k):(o.msie=t,o.version=i(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?o={name:"Internet Explorer",msie:t,version:i(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:p?o={name:"Chrome",chromeos:t,chromeBook:t,chrome:t,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(e)?o={name:"Microsoft Edge",msedge:t,version:k}:/vivaldi/i.test(e)?o={name:"Vivaldi",vivaldi:t,version:i(/vivaldi\/(\d+(\.\d+)?)/i)||y}:c?o={name:"Sailfish",sailfish:t,version:i(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?o={name:"SeaMonkey",seamonkey:t,version:i(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(o={name:"Firefox",firefox:t,version:i(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(o.firefoxos=t)):l?o={name:"Amazon Silk",silk:t,version:i(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?o={name:"PhantomJS",phantom:t,version:i(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?o={name:"SlimerJS",slimer:t,version:i(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?o={name:"BlackBerry",blackberry:t,version:y||i(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:f?(o={name:"WebOS",webos:t,version:y||i(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(o.touchpad=t)):/bada/i.test(e)?o={name:"Bada",bada:t,version:i(/dolfin\/(\d+(\.\d+)?)/i)}:u?o={name:"Tizen",tizen:t,version:i(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||y}:/qupzilla/i.test(e)?o={name:"QupZilla",qupzilla:t,version:i(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||y}:/chromium/i.test(e)?o={name:"Chromium",chromium:t,version:i(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||y}:/chrome|crios|crmo/i.test(e)?o={name:"Chrome",chrome:t,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:d?o={name:"Android",version:y}:/safari|applewebkit/i.test(e)?(o={name:"Safari",safari:t},y&&(o.version=y)):n?(o={name:"iphone"==n?"iPhone":"ipad"==n?"iPad":"iPod"},y&&(o.version=y)):o=/googlebot/i.test(e)?{name:"Googlebot",googlebot:t,version:i(/googlebot\/(\d+(\.\d+))/i)||y}:{name:i(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(o.name=o.name||"Blink",o.blink=t):(o.name=o.name||"Webkit",o.webkit=t),!o.version&&y&&(o.version=y)):!o.opera&&/gecko\//i.test(e)&&(o.name=o.name||"Gecko",o.gecko=t,o.version=o.version||i(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||o.msedge||!d&&!o.silk?o.windowsphone||o.msedge||!n?b?o.mac=t:B?o.xbox=t:w?o.windows=t:g&&(o.linux=t):(o[n]=t,o.ios=t):o.android=t;var T="";o.windows?T=s(i(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?T=i(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?(T=i(/Mac OS X (\d+([_\.\s]\d+)*)/i),T=T.replace(/[_\s]/g,".")):n?(T=i(/os (\d+([_\s]\d+)*) like mac os x/i),T=T.replace(/[_\s]/g,".")):d?T=i(/android[ \/-](\d+(\.\d+)*)/i):o.webos?T=i(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?T=i(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?T=i(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(T=i(/tizen[\/\s](\d+(\.\d+)*)/i)),T&&(o.osversion=T);var N=!o.windows&&T.split(".")[0];return x||v||"ipad"==n||d&&(3==N||N>=4&&!S)||o.silk?o.tablet=t:(S||"iphone"==n||"ipod"==n||d||m||o.blackberry||o.webos||o.bada)&&(o.mobile=t),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=t:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=t:o.x=t,o}function i(e){return e.split(".").length}function r(e,i){var r,s=[];if(Array.prototype.map)return Array.prototype.map.call(e,i);for(r=0;r<e.length;r++)s.push(i(e[r]));return s}function s(e){for(var s=Math.max(i(e[0]),i(e[1])),o=r(e,function(e){var o=s-i(e);return e+=new Array(o+1).join(".0"),r(e.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});--s>=0;){if(o[0][s]>o[1][s])return 1;if(o[0][s]!==o[1][s])return-1;if(0===s)return 0}}function o(i,r,o){var n=a;"string"==typeof r&&(o=r,r=void 0),void 0===r&&(r=!1),o&&(n=e(o));var t=""+n.version;for(var d in i)if(i.hasOwnProperty(d)&&n[d]){if("string"!=typeof i[d])throw new Error("Browser version in the minVersion map should be a string: "+d+": "+String(i));return s([t,i[d]])<0}return r}function n(e,i,r){return!o(e,i,r)}var t=!0,a=e("undefined"!=typeof navigator?navigator.userAgent||"":"");return a.test=function(e){for(var i=0;i<e.length;++i){var r=e[i];if("string"==typeof r&&r in a)return!0}return!1},a.isUnsupportedBrowser=o,a.compareVersions=s,a.check=n,a._detect=e,a}); },{}],9:[function(require,module,exports){ },{}],10:[function(require,module,exports){ var slice=[].slice;module.exports=function(n,r){if("string"==typeof r&&(r=n[r]),"function"!=typeof r)throw new Error("bind() requires a function");var e=slice.call(arguments,2);return function(){return r.apply(n,e.concat(slice.call(arguments)))}}; },{}],11:[function(require,module,exports){ function Emitter(t){if(t)return mixin(t)}function mixin(t){for(var e in Emitter.prototype)t[e]=Emitter.prototype[e];return t}"undefined"!=typeof module&&(module.exports=Emitter),Emitter.prototype.on=Emitter.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},Emitter.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks["$"+t];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var r,s=0;s<i.length;s++)if(r=i[s],r===e||r.fn===e){i.splice(s,1);break}return this},Emitter.prototype.emit=function(t){this._callbacks=this._callbacks||{};var e=[].slice.call(arguments,1),i=this._callbacks["$"+t];if(i){i=i.slice(0);for(var r=0,s=i.length;r<s;++r)i[r].apply(this,e)}return this},Emitter.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},Emitter.prototype.hasListeners=function(t){return!!this.listeners(t).length}; },{}],12:[function(require,module,exports){ module.exports=function(o,t){var p=function(){};p.prototype=t.prototype,o.prototype=new p,o.prototype.constructor=o}; },{}],13:[function(require,module,exports){ (function (process){ function useColors(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var e=arguments,o=this.useColors;if(e[0]=(o?"%c":"")+this.namespace+(o?" %c":" ")+e[0]+(o?"%c ":" ")+"+"+exports.humanize(this.diff),!o)return e;var r="color: "+this.color;e=[e[0],r,"color: inherit"].concat(Array.prototype.slice.call(e,1));var t=0,s=0;return e[0].replace(/%[a-z%]/g,function(e){"%%"!==e&&(t++,"%c"===e&&(s=t))}),e.splice(s,0,r),e}function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(e){try{null==e?exports.storage.removeItem("debug"):exports.storage.debug=e}catch(e){}}function load(){try{return exports.storage.debug}catch(e){}if("undefined"!=typeof process&&"env"in process)return process.env.DEBUG}function localstorage(){try{return window.localStorage}catch(e){}}exports=module.exports=require("./debug"),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},exports.enable(load()); }).call(this,require('_process')) },{"./debug":14,"_process":37}],14:[function(require,module,exports){ function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(e){function r(){}function o(){var e=o,r=+new Date,s=r-(prevTime||r);e.diff=s,e.prev=prevTime,e.curr=r,prevTime=r,null==e.useColors&&(e.useColors=exports.useColors()),null==e.color&&e.useColors&&(e.color=selectColor());for(var t=new Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];t[0]=exports.coerce(t[0]),"string"!=typeof t[0]&&(t=["%o"].concat(t));var p=0;t[0]=t[0].replace(/%([a-z%])/g,function(r,o){if("%%"===r)return r;p++;var s=exports.formatters[o];if("function"==typeof s){var n=t[p];r=s.call(e,n),t.splice(p,1),p--}return r}),t=exports.formatArgs.apply(e,t);var l=o.log||exports.log||console.log.bind(console);l.apply(e,t)}r.enabled=!1,o.enabled=!0;var s=exports.enabled(e)?o:r;return s.namespace=e,s}function enable(e){exports.save(e);for(var r=(e||"").split(/[\s,]+/),o=r.length,s=0;s<o;s++)r[s]&&(e=r[s].replace(/[\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*?"),"-"===e[0]?exports.skips.push(new RegExp("^"+e.substr(1)+"$")):exports.names.push(new RegExp("^"+e+"$")))}function disable(){exports.enable("")}function enabled(e){var r,o;for(r=0,o=exports.skips.length;r<o;r++)if(exports.skips[r].test(e))return!1;for(r=0,o=exports.names.length;r<o;r++)if(exports.names[r].test(e))return!0;return!1}function coerce(e){return e instanceof Error?e.stack||e.message:e}exports=module.exports=debug.debug=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,prevTime; },{"ms":33}],15:[function(require,module,exports){ module.exports=require("./lib/index"); },{"./lib/index":16}],16:[function(require,module,exports){ module.exports=require("./socket"),module.exports.parser=require("engine.io-parser"); },{"./socket":17,"engine.io-parser":25}],17:[function(require,module,exports){ (function (global){ function Socket(e,t){if(!(this instanceof Socket))return new Socket(e,t);t=t||{},e&&"object"==typeof e&&(t=e,e=null),e?(e=parseuri(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=parseuri(t.host).host),this.secure=null!=t.secure?t.secure:global.location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.agent=t.agent||!1,this.hostname=t.hostname||(global.location?location.hostname:"localhost"),this.port=t.port||(global.location&&location.port?location.port:this.secure?443:80),this.query=t.query||{},"string"==typeof this.query&&(this.query=parseqs.decode(this.query)),this.upgrade=!1!==t.upgrade,this.path=(t.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!t.forceJSONP,this.jsonp=!1!==t.jsonp,this.forceBase64=!!t.forceBase64,this.enablesXDR=!!t.enablesXDR,this.timestampParam=t.timestampParam||"t",this.timestampRequests=t.timestampRequests,this.transports=t.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=t.policyPort||843,this.rememberUpgrade=t.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=t.onlyBinaryUpgrades,this.perMessageDeflate=!1!==t.perMessageDeflate&&(t.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=t.pfx||null,this.key=t.key||null,this.passphrase=t.passphrase||null,this.cert=t.cert||null,this.ca=t.ca||null,this.ciphers=t.ciphers||null,this.rejectUnauthorized=void 0===t.rejectUnauthorized?null:t.rejectUnauthorized,this.forceNode=!!t.forceNode;var r="object"==typeof global&&global;r.global===r&&(t.extraHeaders&&Object.keys(t.extraHeaders).length>0&&(this.extraHeaders=t.extraHeaders),t.localAddress&&(this.localAddress=t.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function clone(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}var transports=require("./transports/index"),Emitter=require("component-emitter"),debug=require("debug")("engine.io-client:socket"),index=require("indexof"),parser=require("engine.io-parser"),parseuri=require("parseuri"),parsejson=require("parsejson"),parseqs=require("parseqs");module.exports=Socket,Socket.priorWebsocketSuccess=!1,Emitter(Socket.prototype),Socket.protocol=parser.protocol,Socket.Socket=Socket,Socket.Transport=require("./transport"),Socket.transports=require("./transports/index"),Socket.parser=require("engine.io-parser"),Socket.prototype.createTransport=function(e){debug('creating transport "%s"',e);var t=clone(this.query);t.EIO=parser.protocol,t.transport=e,this.id&&(t.sid=this.id);var r=new transports[e]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:t,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders,forceNode:this.forceNode,localAddress:this.localAddress});return r},Socket.prototype.open=function(){var e;if(this.rememberUpgrade&&Socket.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else{if(0===this.transports.length){var t=this;return void setTimeout(function(){t.emit("error","No transports available")},0)}e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)},Socket.prototype.setTransport=function(e){debug("setting transport %s",e.name);var t=this;this.transport&&(debug("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",function(){t.onDrain()}).on("packet",function(e){t.onPacket(e)}).on("error",function(e){t.onError(e)}).on("close",function(){t.onClose("transport close")})},Socket.prototype.probe=function(e){function t(){if(h.onlyBinaryUpgrades){var t=!this.supportsBinary&&h.transport.supportsBinary;c=c||t}c||(debug('probe transport "%s" opened',e),p.send([{type:"ping",data:"probe"}]),p.once("packet",function(t){if(!c)if("pong"===t.type&&"probe"===t.data){if(debug('probe transport "%s" pong',e),h.upgrading=!0,h.emit("upgrading",p),!p)return;Socket.priorWebsocketSuccess="websocket"===p.name,debug('pausing current transport "%s"',h.transport.name),h.transport.pause(function(){c||"closed"!==h.readyState&&(debug("changing transport and sending upgrade packet"),a(),h.setTransport(p),p.send([{type:"upgrade"}]),h.emit("upgrade",p),p=null,h.upgrading=!1,h.flush())})}else{debug('probe transport "%s" failed',e);var r=new Error("probe error");r.transport=p.name,h.emit("upgradeError",r)}}))}function r(){c||(c=!0,a(),p.close(),p=null)}function s(t){var s=new Error("probe error: "+t);s.transport=p.name,r(),debug('probe transport "%s" failed because of error: %s',e,t),h.emit("upgradeError",s)}function o(){s("transport closed")}function i(){s("socket closed")}function n(e){p&&e.name!==p.name&&(debug('"%s" works - aborting "%s"',e.name,p.name),r())}function a(){p.removeListener("open",t),p.removeListener("error",s),p.removeListener("close",o),h.removeListener("close",i),h.removeListener("upgrading",n)}debug('probing transport "%s"',e);var p=this.createTransport(e,{probe:1}),c=!1,h=this;Socket.priorWebsocketSuccess=!1,p.once("open",t),p.once("error",s),p.once("close",o),this.once("close",i),this.once("upgrading",n),p.open()},Socket.prototype.onOpen=function(){if(debug("socket open"),this.readyState="open",Socket.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){debug("starting upgrade probes");for(var e=0,t=this.upgrades.length;e<t;e++)this.probe(this.upgrades[e])}},Socket.prototype.onPacket=function(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(debug('socket receive: type "%s", data "%s"',e.type,e.data),this.emit("packet",e),this.emit("heartbeat"),e.type){case"open":this.onHandshake(parsejson(e.data));break;case"pong":this.setPing(),this.emit("pong");break;case"error":var t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emit("data",e.data),this.emit("message",e.data)}else debug('packet received with socket readyState "%s"',this.readyState)},Socket.prototype.onHandshake=function(e){this.emit("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.onOpen(),"closed"!==this.readyState&&(this.setPing(),this.removeListener("heartbeat",this.onHeartbeat),this.on("heartbeat",this.onHeartbeat))},Socket.prototype.onHeartbeat=function(e){clearTimeout(this.pingTimeoutTimer);var t=this;t.pingTimeoutTimer=setTimeout(function(){"closed"!==t.readyState&&t.onClose("ping timeout")},e||t.pingInterval+t.pingTimeout)},Socket.prototype.setPing=function(){var e=this;clearTimeout(e.pingIntervalTimer),e.pingIntervalTimer=setTimeout(function(){debug("writing ping packet - expecting pong within %sms",e.pingTimeout),e.ping(),e.onHeartbeat(e.pingTimeout)},e.pingInterval)},Socket.prototype.ping=function(){var e=this;this.sendPacket("ping",function(){e.emit("ping")})},Socket.prototype.onDrain=function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emit("drain"):this.flush()},Socket.prototype.flush=function(){"closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(debug("flushing %d packets in socket",this.writeBuffer.length),this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))},Socket.prototype.write=Socket.prototype.send=function(e,t,r){return this.sendPacket("message",e,t,r),this},Socket.prototype.sendPacket=function(e,t,r,s){if("function"==typeof t&&(s=t,t=void 0),"function"==typeof r&&(s=r,r=null),"closing"!==this.readyState&&"closed"!==this.readyState){r=r||{},r.compress=!1!==r.compress;var o={type:e,data:t,options:r};this.emit("packetCreate",o),this.writeBuffer.push(o),s&&this.once("flush",s),this.flush()}},Socket.prototype.close=function(){function e(){s.onClose("forced close"),debug("socket closing - telling transport to close"),s.transport.close()}function t(){s.removeListener("upgrade",t),s.removeListener("upgradeError",t),e()}function r(){s.once("upgrade",t),s.once("upgradeError",t)}if("opening"===this.readyState||"open"===this.readyState){this.readyState="closing";var s=this;this.writeBuffer.length?this.once("drain",function(){this.upgrading?r():e()}):this.upgrading?r():e()}return this},Socket.prototype.onError=function(e){debug("socket error %j",e),Socket.priorWebsocketSuccess=!1,this.emit("error",e),this.onClose("transport error",e)},Socket.prototype.onClose=function(e,t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){debug('socket close with reason: "%s"',e);var r=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),this.readyState="closed",this.id=null,this.emit("close",e,t),r.writeBuffer=[],r.prevBufferLen=0}},Socket.prototype.filterUpgrades=function(e){for(var t=[],r=0,s=e.length;r<s;r++)~index(this.transports,e[r])&&t.push(e[r]);return t}; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./transport":18,"./transports/index":19,"component-emitter":11,"debug":13,"engine.io-parser":25,"indexof":31,"parsejson":34,"parseqs":35,"parseuri":36}],18:[function(require,module,exports){ function Transport(t){this.path=t.path,this.hostname=t.hostname,this.port=t.port,this.secure=t.secure,this.query=t.query,this.timestampParam=t.timestampParam,this.timestampRequests=t.timestampRequests,this.readyState="",this.agent=t.agent||!1,this.socket=t.socket,this.enablesXDR=t.enablesXDR,this.pfx=t.pfx,this.key=t.key,this.passphrase=t.passphrase,this.cert=t.cert,this.ca=t.ca,this.ciphers=t.ciphers,this.rejectUnauthorized=t.rejectUnauthorized,this.forceNode=t.forceNode,this.extraHeaders=t.extraHeaders,this.localAddress=t.localAddress}var parser=require("engine.io-parser"),Emitter=require("component-emitter");module.exports=Transport,Emitter(Transport.prototype),Transport.prototype.onError=function(t,e){var r=new Error(t);return r.type="TransportError",r.description=e,this.emit("error",r),this},Transport.prototype.open=function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this},Transport.prototype.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},Transport.prototype.send=function(t){if("open"!==this.readyState)throw new Error("Transport not open");this.write(t)},Transport.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},Transport.prototype.onData=function(t){var e=parser.decodePacket(t,this.socket.binaryType);this.onPacket(e)},Transport.prototype.onPacket=function(t){this.emit("packet",t)},Transport.prototype.onClose=function(){this.readyState="closed",this.emit("close")}; },{"component-emitter":11,"engine.io-parser":25}],19:[function(require,module,exports){ (function (global){ function polling(e){var o,t=!1,r=!1,n=!1!==e.jsonp;if(global.location){var i="https:"===location.protocol,l=location.port;l||(l=i?443:80),t=e.hostname!==location.hostname||l!==e.port,r=e.secure!==i}if(e.xdomain=t,e.xscheme=r,o=new XMLHttpRequest(e),"open"in o&&!e.forceJSONP)return new XHR(e);if(!n)throw new Error("JSONP disabled");return new JSONP(e)}var XMLHttpRequest=require("xmlhttprequest-ssl"),XHR=require("./polling-xhr"),JSONP=require("./polling-jsonp"),websocket=require("./websocket");exports.polling=polling,exports.websocket=websocket; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./polling-jsonp":20,"./polling-xhr":21,"./websocket":23,"xmlhttprequest-ssl":24}],20:[function(require,module,exports){ (function (global){ function empty(){}function JSONPPolling(e){Polling.call(this,e),this.query=this.query||{},callbacks||(global.___eio||(global.___eio=[]),callbacks=global.___eio),this.index=callbacks.length;var t=this;callbacks.push(function(e){t.onData(e)}),this.query.j=this.index,global.document&&global.addEventListener&&global.addEventListener("beforeunload",function(){t.script&&(t.script.onerror=empty)},!1)}var Polling=require("./polling"),inherit=require("component-inherit");module.exports=JSONPPolling;var rNewline=/\n/g,rEscapedNewline=/\\n/g,callbacks;inherit(JSONPPolling,Polling),JSONPPolling.prototype.supportsBinary=!1,JSONPPolling.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),Polling.prototype.doClose.call(this)},JSONPPolling.prototype.doPoll=function(){var e=this,t=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),t.async=!0,t.src=this.uri(),t.onerror=function(t){e.onError("jsonp poll error",t)};var i=document.getElementsByTagName("script")[0];i?i.parentNode.insertBefore(t,i):(document.head||document.body).appendChild(t),this.script=t;var r="undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent);r&&setTimeout(function(){var e=document.createElement("iframe");document.body.appendChild(e),document.body.removeChild(e)},100)},JSONPPolling.prototype.doWrite=function(e,t){function i(){r(),t()}function r(){if(o.iframe)try{o.form.removeChild(o.iframe)}catch(e){o.onError("jsonp polling iframe removal error",e)}try{var e='<iframe src="javascript:0" name="'+o.iframeId+'">';n=document.createElement(e)}catch(e){n=document.createElement("iframe"),n.name=o.iframeId,n.src="javascript:0"}n.id=o.iframeId,o.form.appendChild(n),o.iframe=n}var o=this;if(!this.form){var n,a=document.createElement("form"),l=document.createElement("textarea"),s=this.iframeId="eio_iframe_"+this.index;a.className="socketio",a.style.position="absolute",a.style.top="-1000px",a.style.left="-1000px",a.target=s,a.method="POST",a.setAttribute("accept-charset","utf-8"),l.name="d",a.appendChild(l),document.body.appendChild(a),this.form=a,this.area=l}this.form.action=this.uri(),r(),e=e.replace(rEscapedNewline,"\\\n"),this.area.value=e.replace(rNewline,"\\n");try{this.form.submit()}catch(e){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===o.iframe.readyState&&i()}:this.iframe.onload=i}; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./polling":22,"component-inherit":12}],21:[function(require,module,exports){ (function (global){ function empty(){}function XHR(t){if(Polling.call(this,t),this.requestTimeout=t.requestTimeout,global.location){var e="https:"===location.protocol,s=location.port;s||(s=e?443:80),this.xd=t.hostname!==global.location.hostname||s!==t.port,this.xs=t.secure!==e}else this.extraHeaders=t.extraHeaders}function Request(t){this.method=t.method||"GET",this.uri=t.uri,this.xd=!!t.xd,this.xs=!!t.xs,this.async=!1!==t.async,this.data=void 0!==t.data?t.data:null,this.agent=t.agent,this.isBinary=t.isBinary,this.supportsBinary=t.supportsBinary,this.enablesXDR=t.enablesXDR,this.requestTimeout=t.requestTimeout,this.pfx=t.pfx,this.key=t.key,this.passphrase=t.passphrase,this.cert=t.cert,this.ca=t.ca,this.ciphers=t.ciphers,this.rejectUnauthorized=t.rejectUnauthorized,this.extraHeaders=t.extraHeaders,this.create()}function unloadHandler(){for(var t in Request.requests)Request.requests.hasOwnProperty(t)&&Request.requests[t].abort()}var XMLHttpRequest=require("xmlhttprequest-ssl"),Polling=require("./polling"),Emitter=require("component-emitter"),inherit=require("component-inherit"),debug=require("debug")("engine.io-client:polling-xhr");module.exports=XHR,module.exports.Request=Request,inherit(XHR,Polling),XHR.prototype.supportsBinary=!0,XHR.prototype.request=function(t){return t=t||{},t.uri=this.uri(),t.xd=this.xd,t.xs=this.xs,t.agent=this.agent||!1,t.supportsBinary=this.supportsBinary,t.enablesXDR=this.enablesXDR,t.pfx=this.pfx,t.key=this.key,t.passphrase=this.passphrase,t.cert=this.cert,t.ca=this.ca,t.ciphers=this.ciphers,t.rejectUnauthorized=this.rejectUnauthorized,t.requestTimeout=this.requestTimeout,t.extraHeaders=this.extraHeaders,new Request(t)},XHR.prototype.doWrite=function(t,e){var s="string"!=typeof t&&void 0!==t,r=this.request({method:"POST",data:t,isBinary:s}),i=this;r.on("success",e),r.on("error",function(t){i.onError("xhr post error",t)}),this.sendXhr=r},XHR.prototype.doPoll=function(){debug("xhr poll");var t=this.request(),e=this;t.on("data",function(t){e.onData(t)}),t.on("error",function(t){e.onError("xhr poll error",t)}),this.pollXhr=t},Emitter(Request.prototype),Request.prototype.create=function(){var t={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};t.pfx=this.pfx,t.key=this.key,t.passphrase=this.passphrase,t.cert=this.cert,t.ca=this.ca,t.ciphers=this.ciphers,t.rejectUnauthorized=this.rejectUnauthorized;var e=this.xhr=new XMLHttpRequest(t),s=this;try{debug("xhr open %s: %s",this.method,this.uri),e.open(this.method,this.uri,this.async);try{if(this.extraHeaders){e.setDisableHeaderCheck(!0);for(var r in this.extraHeaders)this.extraHeaders.hasOwnProperty(r)&&e.setRequestHeader(r,this.extraHeaders[r])}}catch(t){}if(this.supportsBinary&&(e.responseType="arraybuffer"),"POST"===this.method)try{this.isBinary?e.setRequestHeader("Content-type","application/octet-stream"):e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in e&&(e.withCredentials=!0),this.requestTimeout&&(e.timeout=this.requestTimeout),this.hasXDR()?(e.onload=function(){s.onLoad()},e.onerror=function(){s.onError(e.responseText)}):e.onreadystatechange=function(){4===e.readyState&&(200===e.status||1223===e.status?s.onLoad():setTimeout(function(){s.onError(e.status)},0))},debug("xhr data %s",this.data),e.send(this.data)}catch(t){return void setTimeout(function(){s.onError(t)},0)}global.document&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)},Request.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},Request.prototype.onData=function(t){this.emit("data",t),this.onSuccess()},Request.prototype.onError=function(t){this.emit("error",t),this.cleanup(!0)},Request.prototype.cleanup=function(t){if("undefined"!=typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=empty:this.xhr.onreadystatechange=empty,t)try{this.xhr.abort()}catch(t){}global.document&&delete Request.requests[this.index],this.xhr=null}},Request.prototype.onLoad=function(){var t;try{var e;try{e=this.xhr.getResponseHeader("Content-Type").split(";")[0]}catch(t){}if("application/octet-stream"===e)t=this.xhr.response||this.xhr.responseText;else if(this.supportsBinary)try{t=String.fromCharCode.apply(null,new Uint8Array(this.xhr.response))}catch(e){for(var s=new Uint8Array(this.xhr.response),r=[],i=0,o=s.length;i<o;i++)r.push(s[i]);t=String.fromCharCode.apply(null,r)}else t=this.xhr.responseText}catch(t){this.onError(t)}null!=t&&this.onData(t)},Request.prototype.hasXDR=function(){return"undefined"!=typeof global.XDomainRequest&&!this.xs&&this.enablesXDR},Request.prototype.abort=function(){this.cleanup()},Request.requestsCount=0,Request.requests={},global.document&&(global.attachEvent?global.attachEvent("onunload",unloadHandler):global.addEventListener&&global.addEventListener("beforeunload",unloadHandler,!1)); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./polling":22,"component-emitter":11,"component-inherit":12,"debug":13,"xmlhttprequest-ssl":24}],22:[function(require,module,exports){ function Polling(t){var e=t&&t.forceBase64;hasXHR2&&!e||(this.supportsBinary=!1),Transport.call(this,t)}var Transport=require("../transport"),parseqs=require("parseqs"),parser=require("engine.io-parser"),inherit=require("component-inherit"),yeast=require("yeast"),debug=require("debug")("engine.io-client:polling");module.exports=Polling;var hasXHR2=function(){var t=require("xmlhttprequest-ssl"),e=new t({xdomain:!1});return null!=e.responseType}();inherit(Polling,Transport),Polling.prototype.name="polling",Polling.prototype.doOpen=function(){this.poll()},Polling.prototype.pause=function(t){function e(){debug("paused"),i.readyState="paused",t()}var i=this;if(this.readyState="pausing",this.polling||!this.writable){var o=0;this.polling&&(debug("we are currently polling - waiting to pause"),o++,this.once("pollComplete",function(){debug("pre-pause polling complete"),--o||e()})),this.writable||(debug("we are currently writing - waiting to pause"),o++,this.once("drain",function(){debug("pre-pause writing complete"),--o||e()}))}else e()},Polling.prototype.poll=function(){debug("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},Polling.prototype.onData=function(t){var e=this;debug("polling got data %s",t);var i=function(t,i,o){return"opening"===e.readyState&&e.onOpen(),"close"===t.type?(e.onClose(),!1):void e.onPacket(t)};parser.decodePayload(t,this.socket.binaryType,i),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():debug('ignoring poll - transport state "%s"',this.readyState))},Polling.prototype.doClose=function(){function t(){debug("writing close packet"),e.write([{type:"close"}])}var e=this;"open"===this.readyState?(debug("transport open - closing"),t()):(debug("transport not open - deferring close"),this.once("open",t))},Polling.prototype.write=function(t){var e=this;this.writable=!1;var i=function(){e.writable=!0,e.emit("drain")};parser.encodePayload(t,this.supportsBinary,function(t){e.doWrite(t,i)})},Polling.prototype.uri=function(){var t=this.query||{},e=this.secure?"https":"http",i="";!1!==this.timestampRequests&&(t[this.timestampParam]=yeast()),this.supportsBinary||t.sid||(t.b64=1),t=parseqs.encode(t),this.port&&("https"===e&&443!==Number(this.port)||"http"===e&&80!==Number(this.port))&&(i=":"+this.port),t.length&&(t="?"+t);var o=this.hostname.indexOf(":")!==-1;return e+"://"+(o?"["+this.hostname+"]":this.hostname)+i+this.path+t}; },{"../transport":18,"component-inherit":12,"debug":13,"engine.io-parser":25,"parseqs":35,"xmlhttprequest-ssl":24,"yeast":71}],23:[function(require,module,exports){ (function (global){ function WS(e){var t=e&&e.forceBase64;t&&(this.supportsBinary=!1),this.perMessageDeflate=e.perMessageDeflate,this.usingBrowserWebSocket=BrowserWebSocket&&!e.forceNode,this.usingBrowserWebSocket||(WebSocket=NodeWebSocket),Transport.call(this,e)}var Transport=require("../transport"),parser=require("engine.io-parser"),parseqs=require("parseqs"),inherit=require("component-inherit"),yeast=require("yeast"),debug=require("debug")("engine.io-client:websocket"),BrowserWebSocket=global.WebSocket||global.MozWebSocket,NodeWebSocket;if("undefined"==typeof window)try{NodeWebSocket=require("ws")}catch(e){}var WebSocket=BrowserWebSocket;WebSocket||"undefined"!=typeof window||(WebSocket=NodeWebSocket),module.exports=WS,inherit(WS,Transport),WS.prototype.name="websocket",WS.prototype.supportsBinary=!0,WS.prototype.doOpen=function(){if(this.check()){var e=this.uri(),t=void 0,s={agent:this.agent,perMessageDeflate:this.perMessageDeflate};s.pfx=this.pfx,s.key=this.key,s.passphrase=this.passphrase,s.cert=this.cert,s.ca=this.ca,s.ciphers=this.ciphers,s.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(s.headers=this.extraHeaders),this.localAddress&&(s.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket?new WebSocket(e):new WebSocket(e,t,s)}catch(e){return this.emit("error",e)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},WS.prototype.addEventListeners=function(){var e=this;this.ws.onopen=function(){e.onOpen()},this.ws.onclose=function(){e.onClose()},this.ws.onmessage=function(t){e.onData(t.data)},this.ws.onerror=function(t){e.onError("websocket error",t)}},WS.prototype.write=function(e){function t(){s.emit("flush"),setTimeout(function(){s.writable=!0,s.emit("drain")},0)}var s=this;this.writable=!1;for(var r=e.length,o=0,i=r;o<i;o++)!function(e){parser.encodePacket(e,s.supportsBinary,function(o){if(!s.usingBrowserWebSocket){var i={};if(e.options&&(i.compress=e.options.compress),s.perMessageDeflate){var n="string"==typeof o?global.Buffer.byteLength(o):o.length;n<s.perMessageDeflate.threshold&&(i.compress=!1)}}try{s.usingBrowserWebSocket?s.ws.send(o):s.ws.send(o,i)}catch(e){debug("websocket closed before onclose event")}--r||t()})}(e[o])},WS.prototype.onClose=function(){Transport.prototype.onClose.call(this)},WS.prototype.doClose=function(){"undefined"!=typeof this.ws&&this.ws.close()},WS.prototype.uri=function(){var e=this.query||{},t=this.secure?"wss":"ws",s="";this.port&&("wss"===t&&443!==Number(this.port)||"ws"===t&&80!==Number(this.port))&&(s=":"+this.port),this.timestampRequests&&(e[this.timestampParam]=yeast()),this.supportsBinary||(e.b64=1),e=parseqs.encode(e),e.length&&(e="?"+e);var r=this.hostname.indexOf(":")!==-1;return t+"://"+(r?"["+this.hostname+"]":this.hostname)+s+this.path+e},WS.prototype.check=function(){return!(!WebSocket||"__initialize"in WebSocket&&this.name===WS.prototype.name)}; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"../transport":18,"component-inherit":12,"debug":13,"engine.io-parser":25,"parseqs":35,"ws":9,"yeast":71}],24:[function(require,module,exports){ (function (global){ var hasCORS=require("has-cors");module.exports=function(e){var t=e.xdomain,n=e.xscheme,r=e.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!t||hasCORS))return new XMLHttpRequest}catch(e){}try{if("undefined"!=typeof XDomainRequest&&!n&&r)return new XDomainRequest}catch(e){}if(!t)try{return new(global[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"has-cors":30}],25:[function(require,module,exports){ (function (global){ function encodeBase64Object(e,r){var t="b"+exports.packets[e.type]+e.data.data;return r(t)}function encodeArrayBuffer(e,r,t){if(!r)return exports.encodeBase64Packet(e,t);var n=e.data,a=new Uint8Array(n),o=new Uint8Array(1+n.byteLength);o[0]=packets[e.type];for(var f=0;f<a.length;f++)o[f+1]=a[f];return t(o.buffer)}function encodeBlobAsArrayBuffer(e,r,t){if(!r)return exports.encodeBase64Packet(e,t);var n=new FileReader;return n.onload=function(){e.data=n.result,exports.encodePacket(e,r,!0,t)},n.readAsArrayBuffer(e.data)}function encodeBlob(e,r,t){if(!r)return exports.encodeBase64Packet(e,t);if(dontSendBlobs)return encodeBlobAsArrayBuffer(e,r,t);var n=new Uint8Array(1);n[0]=packets[e.type];var a=new Blob([n.buffer,e.data]);return t(a)}function tryDecode(e){try{e=utf8.decode(e)}catch(e){return!1}return e}function map(e,r,t){for(var n=new Array(e.length),a=after(e.length,t),o=function(e,t,a){r(t,function(r,t){n[e]=t,a(r,n)})},f=0;f<e.length;f++)o(f,e[f],a)}var keys=require("./keys"),hasBinary=require("has-binary"),sliceBuffer=require("arraybuffer.slice"),after=require("after"),utf8=require("wtf-8"),base64encoder;global&&global.ArrayBuffer&&(base64encoder=require("base64-arraybuffer"));var isAndroid="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),isPhantomJS="undefined"!=typeof navigator&&/PhantomJS/i.test(navigator.userAgent),dontSendBlobs=isAndroid||isPhantomJS;exports.protocol=3;var packets=exports.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},packetslist=keys(packets),err={type:"error",data:"parser error"},Blob=require("blob");exports.encodePacket=function(e,r,t,n){"function"==typeof r&&(n=r,r=!1),"function"==typeof t&&(n=t,t=null);var a=void 0===e.data?void 0:e.data.buffer||e.data;if(global.ArrayBuffer&&a instanceof ArrayBuffer)return encodeArrayBuffer(e,r,n);if(Blob&&a instanceof global.Blob)return encodeBlob(e,r,n);if(a&&a.base64)return encodeBase64Object(e,n);var o=packets[e.type];return void 0!==e.data&&(o+=t?utf8.encode(String(e.data)):String(e.data)),n(""+o)},exports.encodeBase64Packet=function(e,r){var t="b"+exports.packets[e.type];if(Blob&&e.data instanceof global.Blob){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];r(t+e)},n.readAsDataURL(e.data)}var a;try{a=String.fromCharCode.apply(null,new Uint8Array(e.data))}catch(r){for(var o=new Uint8Array(e.data),f=new Array(o.length),i=0;i<o.length;i++)f[i]=o[i];a=String.fromCharCode.apply(null,f)}return t+=global.btoa(a),r(t)},exports.decodePacket=function(e,r,t){if(void 0===e)return err;if("string"==typeof e){if("b"==e.charAt(0))return exports.decodeBase64Packet(e.substr(1),r);if(t&&(e=tryDecode(e),e===!1))return err;var n=e.charAt(0);return Number(n)==n&&packetslist[n]?e.length>1?{type:packetslist[n],data:e.substring(1)}:{type:packetslist[n]}:err}var a=new Uint8Array(e),n=a[0],o=sliceBuffer(e,1);return Blob&&"blob"===r&&(o=new Blob([o])),{type:packetslist[n],data:o}},exports.decodeBase64Packet=function(e,r){var t=packetslist[e.charAt(0)];if(!base64encoder)return{type:t,data:{base64:!0,data:e.substr(1)}};var n=base64encoder.decode(e.substr(1));return"blob"===r&&Blob&&(n=new Blob([n])),{type:t,data:n}},exports.encodePayload=function(e,r,t){function n(e){return e.length+":"+e}function a(e,t){exports.encodePacket(e,!!o&&r,!0,function(e){t(null,n(e))})}"function"==typeof r&&(t=r,r=null);var o=hasBinary(e);return r&&o?Blob&&!dontSendBlobs?exports.encodePayloadAsBlob(e,t):exports.encodePayloadAsArrayBuffer(e,t):e.length?void map(e,a,function(e,r){return t(r.join(""))}):t("0:")},exports.decodePayload=function(e,r,t){if("string"!=typeof e)return exports.decodePayloadAsBinary(e,r,t);"function"==typeof r&&(t=r,r=null);var n;if(""==e)return t(err,0,1);for(var a,o,f="",i=0,u=e.length;i<u;i++){var c=e.charAt(i);if(":"!=c)f+=c;else{if(""==f||f!=(a=Number(f)))return t(err,0,1);if(o=e.substr(i+1,a),f!=o.length)return t(err,0,1);if(o.length){if(n=exports.decodePacket(o,r,!0),err.type==n.type&&err.data==n.data)return t(err,0,1);var s=t(n,i+a,u);if(!1===s)return}i+=a,f=""}}return""!=f?t(err,0,1):void 0},exports.encodePayloadAsA