{"version":3,"sources":["webpack:///./node_modules/socket.io-parser/node_modules/debug/src/debug.js","webpack:///./node_modules/engine.io-parser/lib/keys.js","webpack:///./node_modules/has-cors/index.js","webpack:///./node_modules/blob/index.js","webpack:///./node_modules/engine.io-client/lib/xmlhttprequest.js","webpack:///./node_modules/dayjs/plugin/isSameOrAfter.js","webpack:///./node_modules/engine.io-client/lib/transports/polling-xhr.js","webpack:///./node_modules/engine.io-client/lib/transports/polling.js","webpack:///./node_modules/engine.io-client/node_modules/component-emitter/index.js","webpack:///./node_modules/socket.io-client/lib/url.js","webpack:///./node_modules/engine.io-parser/lib/browser.js","webpack:///./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js","webpack:///./node_modules/socket.io-client/lib/socket.js","webpack:///./node_modules/socket.io-client/node_modules/debug/src/browser.js","webpack:///./node_modules/engine.io-client/node_modules/debug/src/debug.js","webpack:///./node_modules/indexof/index.js","webpack:///./node_modules/component-inherit/index.js","webpack:///./node_modules/custom-event-polyfill/polyfill.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/after/index.js","webpack:///./node_modules/socket.io-parser/node_modules/ms/index.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///./node_modules/dayjs/plugin/isBetween.js","webpack:///./node_modules/socket.io-parser/binary.js","webpack:///./node_modules/socket.io-client/lib/index.js","webpack:///./node_modules/socket.io-parser/is-buffer.js","webpack:///./node_modules/engine.io-client/lib/transports/polling-jsonp.js","webpack:///./node_modules/socket.io-client/node_modules/component-emitter/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/socket.io-parser/node_modules/debug/src/browser.js","webpack:///./node_modules/parseuri/index.js","webpack:///./node_modules/engine.io-client/lib/transports/index.js","webpack:///./node_modules/engine.io-client/lib/socket.js","webpack:///./node_modules/socket.io-client/node_modules/ms/index.js","webpack:///./node_modules/socket.io-client/lib/manager.js","webpack:///./node_modules/engine.io-client/lib/transports/websocket.js","webpack:///./node_modules/to-array/index.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/engine.io-parser/lib/utf8.js","webpack:///./node_modules/parseqs/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/socket.io-parser/index.js","webpack:///./node_modules/arraybuffer.slice/index.js","webpack:///./node_modules/engine.io-client/node_modules/ms/index.js","webpack:///./node_modules/component-bind/index.js","webpack:///./node_modules/engine.io-client/lib/index.js","webpack:///./node_modules/socket.io-client/node_modules/debug/src/debug.js","webpack:///./node_modules/has-binary2/node_modules/isarray/index.js","webpack:///./node_modules/yeast/index.js","webpack:///./node_modules/intersection-observer/intersection-observer.js","webpack:///./node_modules/socket.io-parser/node_modules/isarray/index.js","webpack:///./node_modules/socket.io-client/lib/on.js","webpack:///./node_modules/has-binary2/index.js","webpack:///./node_modules/engine.io-client/lib/transport.js","webpack:///./node_modules/engine.io-client/node_modules/debug/src/browser.js","webpack:///./node_modules/component-emitter/index.js","webpack:///./node_modules/backo2/index.js"],"names":["createDebug","namespace","prevTime","debug","enabled","self","curr","Date","ms","diff","prev","args","Array","arguments","length","i","exports","coerce","unshift","index","replace","match","format","formatter","formatters","val","call","splice","formatArgs","logFn","log","console","bind","apply","useColors","color","hash","charCodeAt","colors","Math","abs","selectColor","destroy","init","instances","push","indexOf","this","module","Error","stack","message","disable","enable","namespaces","save","names","skips","split","len","RegExp","substr","instance","name","test","humanize","Object","keys","obj","arr","has","prototype","hasOwnProperty","XMLHttpRequest","err","BlobBuilder","WebKitBlobBuilder","MSBlobBuilder","MozBlobBuilder","blobSupported","Blob","size","e","blobSupportsArrayBufferView","Uint8Array","blobBuilderSupported","append","getBlob","mapArrayBufferViews","ary","map","chunk","buffer","ArrayBuffer","buf","byteLength","copy","set","byteOffset","BlobBuilderConstructor","options","bb","forEach","part","type","BlobConstructor","hasCORS","opts","xdomain","xscheme","enablesXDR","XDomainRequest","concat","join","t","isSameOrAfter","isSame","isAfter","Polling","Emitter","inherit","empty","XHR","requestTimeout","extraHeaders","location","isSSL","protocol","port","xd","hostname","xs","secure","Request","method","uri","async","data","undefined","agent","isBinary","supportsBinary","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","create","request","doWrite","fn","req","on","onError","sendXhr","doPoll","onData","pollXhr","xhr","open","setDisableHeaderCheck","setRequestHeader","withCredentials","timeout","hasXDR","onload","onLoad","onerror","responseText","onreadystatechange","readyState","contentType","getResponseHeader","responseType","status","setTimeout","send","document","requestsCount","requests","onSuccess","emit","cleanup","fromError","abort","response","attachEvent","unloadHandler","addEventListener","terminationEvent","Transport","parseqs","parser","yeast","hasXHR2","forceBase64","doOpen","poll","pause","onPause","polling","writable","total","once","decodePayload","socket","binaryType","packet","onOpen","onClose","onPacket","doClose","close","write","packets","callbackfn","encodePayload","query","schema","timestampRequests","timestampParam","sid","b64","encode","Number","path","mixin","event","_callbacks","off","removeListener","removeAllListeners","removeEventListener","cb","callbacks","slice","listeners","hasListeners","parseuri","loc","host","charAt","id","href","base64encoder","hasBinary","sliceBuffer","after","utf8","isAndroid","navigator","userAgent","isPhantomJS","dontSendBlobs","ping","pong","upgrade","noop","packetslist","each","done","result","next","eachWithIndex","el","error","msg","encodePacket","utf8encode","callback","encodeBase64Packet","contentArray","resultBuffer","encodeArrayBuffer","fr","FileReader","readAsArrayBuffer","encodeBlobAsArrayBuffer","blob","encodeBlob","base64","encodeBase64Object","encoded","String","strict","b64data","readAsDataURL","fromCharCode","typed","basic","btoa","decodePacket","utf8decode","decodeBase64Packet","decode","tryDecode","substring","rest","encodePayloadAsBlob","encodePayloadAsArrayBuffer","doneCallback","setLengthHeader","results","decodePayloadAsBinary","n","l","chr","encodedPackets","totalLength","reduce","acc","p","toString","resultArray","bufferIndex","isString","ab","view","lenStr","parseInt","binaryIdentifier","lengthAry","bufferTail","buffers","tailArray","msgLength","chars","lookup","arraybuffer","bytes","encoded1","encoded2","encoded3","encoded4","bufferLength","toArray","hasBin","Socket","events","connect","connect_error","connect_timeout","connecting","disconnect","reconnect","reconnect_attempt","reconnect_failed","reconnect_error","reconnecting","io","nsp","json","ids","acks","receiveBuffer","sendBuffer","connected","disconnected","flags","autoConnect","subEvents","subs","onopen","ev","binary","BINARY_EVENT","EVENT","compress","pop","CONNECT","onclose","reason","onpacket","sameNamespace","rootNamespaceError","ERROR","onconnect","onevent","ACK","BINARY_ACK","onack","DISCONNECT","ondisconnect","ack","sent","emitBuffered","load","r","storage","process","DEBUG","Function","c","lastC","removeItem","window","toLowerCase","documentElement","style","WebkitAppearance","firebug","exception","table","$1","chrome","local","localStorage","localstorage","j","v","JSON","stringify","a","b","constructor","ce","CustomEvent","cancelable","preventDefault","defaultPrevented","params","evt","origPrevent","bubbles","createEvent","initCustomEvent","detail","defineProperty","get","Event","read","offset","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","pow","value","rt","isNaN","floor","LN2","count","err_cb","bail","proxy","h","y","plural","ceil","str","exec","parseFloat","parse","long","round","fmtShort","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","__proto__","arg","encodingOrOffset","allocUnsafe","from","TypeError","array","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","fromString","isBuffer","checked","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","Symbol","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","x","list","pos","swap16","swap32","swap64","equals","inspect","max","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","stringtrim","base64clean","src","dst","isBetween","f","o","u","isBefore","isBuf","withNativeBlob","withNativeFile","File","_deconstructPacket","placeholder","_placeholder","num","newData","_reconstructPacket","deconstructPacket","packetData","pack","attachments","reconstructPacket","removeBlobs","pendingBlobs","bloblessData","_removeBlobs","curKey","containingObject","fileReader","url","Manager","cache","managers","source","nsps","forceNew","multiplex","withNativeBuffer","withNativeArrayBuffer","JSONPPolling","rNewline","rEscapedNewline","glob","___eio","script","parentNode","removeChild","form","iframe","createElement","insertAt","getElementsByTagName","insertBefore","head","body","appendChild","area","iframeId","className","position","top","left","setAttribute","complete","initIframe","html","action","submit","re","parts","authority","ipv6uri","JSONP","websocket","jsonp","forceJSONP","transports","transportOptions","writeBuffer","prevBufferLen","policyPort","rememberUpgrade","onlyBinaryUpgrades","perMessageDeflate","threshold","forceNode","isReactNative","product","localAddress","upgrades","pingInterval","pingTimeout","pingIntervalTimer","pingTimeoutTimer","priorWebsocketSuccess","createTransport","clone","EIO","transport","protocols","shift","setTransport","onDrain","probe","failed","onTransportOpen","upgradeLosesBinary","upgrading","flush","freezeTransport","onTransportClose","onupgrade","to","onHandshake","setPing","filterUpgrades","onHeartbeat","clearTimeout","sendPacket","waitForUpgrade","cleanupAndClose","desc","filteredUpgrades","eio","Backoff","reconnection","reconnectionAttempts","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","jitter","lastPing","packetBuffer","_parser","encoder","Encoder","decoder","Decoder","emitAll","updateSocketIds","generateId","engine","_reconnection","_reconnectionAttempts","_reconnectionDelay","setMin","_randomizationFactor","setJitter","_reconnectionDelayMax","setMax","_timeout","maybeReconnectOnOpen","attempts","skipReconnect","openSub","errorSub","timer","onping","onpong","ondata","add","ondecoded","onConnecting","processPacketQueue","subsLength","reset","delay","duration","onreconnect","attempt","BrowserWebSocket","NodeWebSocket","WebSocket","MozWebSocket","WebSocketImpl","WS","usingBrowserWebSocket","check","headers","ws","supports","addEventListeners","onmessage","support","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","iterator","Headers","header","getOwnPropertyNames","consumed","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","readBlobAsArrayBuffer","promise","bufferClone","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","then","text","readAsText","readArrayBufferAsText","formData","oldValue","thisArg","values","entries","methods","input","upcased","credentials","mode","signal","toUpperCase","referrer","decodeURIComponent","Response","bodyInit","ok","statusText","redirectStatuses","redirect","DOMException","fetch","aborted","abortXhr","rawHeaders","getAllResponseHeaders","line","responseURL","ontimeout","onabort","polyfill","byteCount","byteIndex","stringFromCharCode","ucs2decode","extra","output","counter","checkScalarValue","createByte","encodeCodePoint","symbol","readContinuationByte","continuationByte","decodeSymbol","byte1","version","byteString","tmp","ucs2encode","encodeURIComponent","qs","qry","pairs","pair","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","types","ERROR_PACKET","encodeAsString","payload","tryStringify","reconstructor","BinaryReconstructor","reconPack","writeEncoding","deconstruction","encodeAsBinary","tryParse","decodeString","takeBinaryData","finishedReconstruction","binData","abv","ii","alphabet","seed","now","decoded","IntersectionObserverEntry","intersectionRatio","registry","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","observe","_observationTargets","some","item","element","nodeType","_registerInstance","entry","_monitorIntersections","_checkForIntersections","unobserve","filter","_unmonitorIntersections","_unregisterInstance","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","sort","_parseRootMargin","opt_rootMargin","margins","margin","unit","_monitoringIntersections","_monitoringInterval","setInterval","addEvent","_domObserver","MutationObserver","attributes","childList","characterData","subtree","clearInterval","removeEvent","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","bottom","right","width","height","targetRect","getBoundingClientRect","rootContainsTarget","_rootContainsTarget","oldEntry","intersectionRect","_computeTargetAndRootIntersection","newEntry","time","performance","boundingClientRect","rootBounds","_hasCrossedThreshold","isIntersecting","_callback","getComputedStyle","display","rect1","rect2","parent","getParentNode","atRoot","parentRect","parentComputedStyle","root","overflow","clientWidth","clientHeight","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","targetArea","intersectionArea","toFixed","opt_options","rootMargin","node","opt_useCapture","detatchEvent","child","assignedSlot","description","factor","rand","random","deviation"],"mappings":"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","file":"script/chunks/chunk.vendors~campaigns~default~info~login~mytradera~resolution~selling.ddd4e26383.js","sourcesContent":["\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","\n/**\n * Gets the keys for an object.\n *\n * @return {Array} keys\n * @api private\n */\n\nmodule.exports = Object.keys || function keys (obj){\n var arr = [];\n var has = Object.prototype.hasOwnProperty;\n\n for (var i in obj) {\n if (has.call(obj, i)) {\n arr.push(i);\n }\n }\n return arr;\n};\n","\n/**\n * Module exports.\n *\n * Logic borrowed from Modernizr:\n *\n * - https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cors.js\n */\n\ntry {\n module.exports = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n} catch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n module.exports = false;\n}\n","/**\r\n * Create a blob builder even when vendor prefixes exist\r\n */\r\n\r\nvar BlobBuilder = typeof BlobBuilder !== 'undefined' ? BlobBuilder :\r\n typeof WebKitBlobBuilder !== 'undefined' ? WebKitBlobBuilder :\r\n typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder :\r\n typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : \r\n false;\r\n\r\n/**\r\n * Check if Blob constructor is supported\r\n */\r\n\r\nvar blobSupported = (function() {\r\n try {\r\n var a = new Blob(['hi']);\r\n return a.size === 2;\r\n } catch(e) {\r\n return false;\r\n }\r\n})();\r\n\r\n/**\r\n * Check if Blob constructor supports ArrayBufferViews\r\n * Fails in Safari 6, so we need to map to ArrayBuffers there.\r\n */\r\n\r\nvar blobSupportsArrayBufferView = blobSupported && (function() {\r\n try {\r\n var b = new Blob([new Uint8Array([1,2])]);\r\n return b.size === 2;\r\n } catch(e) {\r\n return false;\r\n }\r\n})();\r\n\r\n/**\r\n * Check if BlobBuilder is supported\r\n */\r\n\r\nvar blobBuilderSupported = BlobBuilder\r\n && BlobBuilder.prototype.append\r\n && BlobBuilder.prototype.getBlob;\r\n\r\n/**\r\n * Helper function that maps ArrayBufferViews to ArrayBuffers\r\n * Used by BlobBuilder constructor and old browsers that didn't\r\n * support it in the Blob constructor.\r\n */\r\n\r\nfunction mapArrayBufferViews(ary) {\r\n return ary.map(function(chunk) {\r\n if (chunk.buffer instanceof ArrayBuffer) {\r\n var buf = chunk.buffer;\r\n\r\n // if this is a subarray, make a copy so we only\r\n // include the subarray region from the underlying buffer\r\n if (chunk.byteLength !== buf.byteLength) {\r\n var copy = new Uint8Array(chunk.byteLength);\r\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\r\n buf = copy.buffer;\r\n }\r\n\r\n return buf;\r\n }\r\n\r\n return chunk;\r\n });\r\n}\r\n\r\nfunction BlobBuilderConstructor(ary, options) {\r\n options = options || {};\r\n\r\n var bb = new BlobBuilder();\r\n mapArrayBufferViews(ary).forEach(function(part) {\r\n bb.append(part);\r\n });\r\n\r\n return (options.type) ? bb.getBlob(options.type) : bb.getBlob();\r\n};\r\n\r\nfunction BlobConstructor(ary, options) {\r\n return new Blob(mapArrayBufferViews(ary), options || {});\r\n};\r\n\r\nif (typeof Blob !== 'undefined') {\r\n BlobBuilderConstructor.prototype = Blob.prototype;\r\n BlobConstructor.prototype = Blob.prototype;\r\n}\r\n\r\nmodule.exports = (function() {\r\n if (blobSupported) {\r\n return blobSupportsArrayBufferView ? Blob : BlobConstructor;\r\n } else if (blobBuilderSupported) {\r\n return BlobBuilderConstructor;\r\n } else {\r\n return undefined;\r\n }\r\n})();\r\n","// browser shim for xmlhttprequest module\n\nvar hasCORS = require('has-cors');\n\nmodule.exports = function (opts) {\n var xdomain = opts.xdomain;\n\n // scheme must be same when usign XDomainRequest\n // http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx\n var xscheme = opts.xscheme;\n\n // XDomainRequest has a flow of not sending cookie, therefore it should be disabled as a default.\n // https://github.com/Automattic/engine.io-client/pull/217\n var enablesXDR = opts.enablesXDR;\n\n // XMLHttpRequest can be disabled on IE\n try {\n if ('undefined' !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n } catch (e) { }\n\n // Use XDomainRequest for IE8 if enablesXDR is true\n // because loading bar keeps flashing when using jsonp-polling\n // https://github.com/yujiosaka/socke.io-ie8-loading-example\n try {\n if ('undefined' !== typeof XDomainRequest && !xscheme && enablesXDR) {\n return new XDomainRequest();\n }\n } catch (e) { }\n\n if (!xdomain) {\n try {\n return new self[['Active'].concat('Object').join('X')]('Microsoft.XMLHTTP');\n } catch (e) { }\n }\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","/* global attachEvent */\n\n/**\n * Module requirements.\n */\n\nvar XMLHttpRequest = require('xmlhttprequest-ssl');\nvar Polling = require('./polling');\nvar Emitter = require('component-emitter');\nvar inherit = require('component-inherit');\nvar debug = require('debug')('engine.io-client:polling-xhr');\n\n/**\n * Module exports.\n */\n\nmodule.exports = XHR;\nmodule.exports.Request = Request;\n\n/**\n * Empty function\n */\n\nfunction empty () {}\n\n/**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction XHR (opts) {\n Polling.call(this, opts);\n this.requestTimeout = opts.requestTimeout;\n this.extraHeaders = opts.extraHeaders;\n\n if (typeof location !== 'undefined') {\n var isSSL = 'https:' === location.protocol;\n var port = location.port;\n\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? 443 : 80;\n }\n\n this.xd = (typeof location !== 'undefined' && opts.hostname !== location.hostname) ||\n port !== opts.port;\n this.xs = opts.secure !== isSSL;\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(XHR, Polling);\n\n/**\n * XHR supports binary\n */\n\nXHR.prototype.supportsBinary = true;\n\n/**\n * Creates a request.\n *\n * @param {String} method\n * @api private\n */\n\nXHR.prototype.request = function (opts) {\n opts = opts || {};\n opts.uri = this.uri();\n opts.xd = this.xd;\n opts.xs = this.xs;\n opts.agent = this.agent || false;\n opts.supportsBinary = this.supportsBinary;\n opts.enablesXDR = this.enablesXDR;\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n opts.requestTimeout = this.requestTimeout;\n\n // other options for Node.js client\n opts.extraHeaders = this.extraHeaders;\n\n return new Request(opts);\n};\n\n/**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @api private\n */\n\nXHR.prototype.doWrite = function (data, fn) {\n var isBinary = typeof data !== 'string' && data !== undefined;\n var req = this.request({ method: 'POST', data: data, isBinary: isBinary });\n var self = this;\n req.on('success', fn);\n req.on('error', function (err) {\n self.onError('xhr post error', err);\n });\n this.sendXhr = req;\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nXHR.prototype.doPoll = function () {\n debug('xhr poll');\n var req = this.request();\n var self = this;\n req.on('data', function (data) {\n self.onData(data);\n });\n req.on('error', function (err) {\n self.onError('xhr poll error', err);\n });\n this.pollXhr = req;\n};\n\n/**\n * Request constructor\n *\n * @param {Object} options\n * @api public\n */\n\nfunction Request (opts) {\n this.method = opts.method || 'GET';\n this.uri = opts.uri;\n this.xd = !!opts.xd;\n this.xs = !!opts.xs;\n this.async = false !== opts.async;\n this.data = undefined !== opts.data ? opts.data : null;\n this.agent = opts.agent;\n this.isBinary = opts.isBinary;\n this.supportsBinary = opts.supportsBinary;\n this.enablesXDR = opts.enablesXDR;\n this.requestTimeout = opts.requestTimeout;\n\n // SSL options for Node.js client\n this.pfx = opts.pfx;\n this.key = opts.key;\n this.passphrase = opts.passphrase;\n this.cert = opts.cert;\n this.ca = opts.ca;\n this.ciphers = opts.ciphers;\n this.rejectUnauthorized = opts.rejectUnauthorized;\n\n // other options for Node.js client\n this.extraHeaders = opts.extraHeaders;\n\n this.create();\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Request.prototype);\n\n/**\n * Creates the XHR object and sends the request.\n *\n * @api private\n */\n\nRequest.prototype.create = function () {\n var opts = { agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR };\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n\n var xhr = this.xhr = new XMLHttpRequest(opts);\n var self = this;\n\n try {\n debug('xhr open %s: %s', this.method, this.uri);\n xhr.open(this.method, this.uri, this.async);\n try {\n if (this.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (var i in this.extraHeaders) {\n if (this.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.extraHeaders[i]);\n }\n }\n }\n } catch (e) {}\n\n if ('POST' === this.method) {\n try {\n if (this.isBinary) {\n xhr.setRequestHeader('Content-type', 'application/octet-stream');\n } else {\n xhr.setRequestHeader('Content-type', 'text/plain;charset=UTF-8');\n }\n } catch (e) {}\n }\n\n try {\n xhr.setRequestHeader('Accept', '*/*');\n } catch (e) {}\n\n // ie6 check\n if ('withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n if (this.requestTimeout) {\n xhr.timeout = this.requestTimeout;\n }\n\n if (this.hasXDR()) {\n xhr.onload = function () {\n self.onLoad();\n };\n xhr.onerror = function () {\n self.onError(xhr.responseText);\n };\n } else {\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 2) {\n try {\n var contentType = xhr.getResponseHeader('Content-Type');\n if (self.supportsBinary && contentType === 'application/octet-stream') {\n xhr.responseType = 'arraybuffer';\n }\n } catch (e) {}\n }\n if (4 !== xhr.readyState) return;\n if (200 === xhr.status || 1223 === xhr.status) {\n self.onLoad();\n } else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n setTimeout(function () {\n self.onError(xhr.status);\n }, 0);\n }\n };\n }\n\n debug('xhr data %s', this.data);\n xhr.send(this.data);\n } catch (e) {\n // Need to defer since .create() is called directly fhrom the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n setTimeout(function () {\n self.onError(e);\n }, 0);\n return;\n }\n\n if (typeof document !== 'undefined') {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n};\n\n/**\n * Called upon successful response.\n *\n * @api private\n */\n\nRequest.prototype.onSuccess = function () {\n this.emit('success');\n this.cleanup();\n};\n\n/**\n * Called if we have data.\n *\n * @api private\n */\n\nRequest.prototype.onData = function (data) {\n this.emit('data', data);\n this.onSuccess();\n};\n\n/**\n * Called upon error.\n *\n * @api private\n */\n\nRequest.prototype.onError = function (err) {\n this.emit('error', err);\n this.cleanup(true);\n};\n\n/**\n * Cleans up house.\n *\n * @api private\n */\n\nRequest.prototype.cleanup = function (fromError) {\n if ('undefined' === typeof this.xhr || null === this.xhr) {\n return;\n }\n // xmlhttprequest\n if (this.hasXDR()) {\n this.xhr.onload = this.xhr.onerror = empty;\n } else {\n this.xhr.onreadystatechange = empty;\n }\n\n if (fromError) {\n try {\n this.xhr.abort();\n } catch (e) {}\n }\n\n if (typeof document !== 'undefined') {\n delete Request.requests[this.index];\n }\n\n this.xhr = null;\n};\n\n/**\n * Called upon load.\n *\n * @api private\n */\n\nRequest.prototype.onLoad = function () {\n var data;\n try {\n var contentType;\n try {\n contentType = this.xhr.getResponseHeader('Content-Type');\n } catch (e) {}\n if (contentType === 'application/octet-stream') {\n data = this.xhr.response || this.xhr.responseText;\n } else {\n data = this.xhr.responseText;\n }\n } catch (e) {\n this.onError(e);\n }\n if (null != data) {\n this.onData(data);\n }\n};\n\n/**\n * Check if it has XDomainRequest.\n *\n * @api private\n */\n\nRequest.prototype.hasXDR = function () {\n return typeof XDomainRequest !== 'undefined' && !this.xs && this.enablesXDR;\n};\n\n/**\n * Aborts the request.\n *\n * @api public\n */\n\nRequest.prototype.abort = function () {\n this.cleanup();\n};\n\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\n\nRequest.requestsCount = 0;\nRequest.requests = {};\n\nif (typeof document !== 'undefined') {\n if (typeof attachEvent === 'function') {\n attachEvent('onunload', unloadHandler);\n } else if (typeof addEventListener === 'function') {\n var terminationEvent = 'onpagehide' in self ? 'pagehide' : 'unload';\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\n\nfunction unloadHandler () {\n for (var i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","/**\n * Module dependencies.\n */\n\nvar Transport = require('../transport');\nvar parseqs = require('parseqs');\nvar parser = require('engine.io-parser');\nvar inherit = require('component-inherit');\nvar yeast = require('yeast');\nvar debug = require('debug')('engine.io-client:polling');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Polling;\n\n/**\n * Is XHR2 supported?\n */\n\nvar hasXHR2 = (function () {\n var XMLHttpRequest = require('xmlhttprequest-ssl');\n var xhr = new XMLHttpRequest({ xdomain: false });\n return null != xhr.responseType;\n})();\n\n/**\n * Polling interface.\n *\n * @param {Object} opts\n * @api private\n */\n\nfunction Polling (opts) {\n var forceBase64 = (opts && opts.forceBase64);\n if (!hasXHR2 || forceBase64) {\n this.supportsBinary = false;\n }\n Transport.call(this, opts);\n}\n\n/**\n * Inherits from Transport.\n */\n\ninherit(Polling, Transport);\n\n/**\n * Transport name.\n */\n\nPolling.prototype.name = 'polling';\n\n/**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @api private\n */\n\nPolling.prototype.doOpen = function () {\n this.poll();\n};\n\n/**\n * Pauses polling.\n *\n * @param {Function} callback upon buffers are flushed and transport is paused\n * @api private\n */\n\nPolling.prototype.pause = function (onPause) {\n var self = this;\n\n this.readyState = 'pausing';\n\n function pause () {\n debug('paused');\n self.readyState = 'paused';\n onPause();\n }\n\n if (this.polling || !this.writable) {\n var total = 0;\n\n if (this.polling) {\n debug('we are currently polling - waiting to pause');\n total++;\n this.once('pollComplete', function () {\n debug('pre-pause polling complete');\n --total || pause();\n });\n }\n\n if (!this.writable) {\n debug('we are currently writing - waiting to pause');\n total++;\n this.once('drain', function () {\n debug('pre-pause writing complete');\n --total || pause();\n });\n }\n } else {\n pause();\n }\n};\n\n/**\n * Starts polling cycle.\n *\n * @api public\n */\n\nPolling.prototype.poll = function () {\n debug('polling');\n this.polling = true;\n this.doPoll();\n this.emit('poll');\n};\n\n/**\n * Overloads onData to detect payloads.\n *\n * @api private\n */\n\nPolling.prototype.onData = function (data) {\n var self = this;\n debug('polling got data %s', data);\n var callback = function (packet, index, total) {\n // if its the first message we consider the transport open\n if ('opening' === self.readyState) {\n self.onOpen();\n }\n\n // if its a close packet, we close the ongoing requests\n if ('close' === packet.type) {\n self.onClose();\n return false;\n }\n\n // otherwise bypass onData and handle the message\n self.onPacket(packet);\n };\n\n // decode payload\n parser.decodePayload(data, this.socket.binaryType, callback);\n\n // if an event did not trigger closing\n if ('closed' !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emit('pollComplete');\n\n if ('open' === this.readyState) {\n this.poll();\n } else {\n debug('ignoring poll - transport state \"%s\"', this.readyState);\n }\n }\n};\n\n/**\n * For polling, send a close packet.\n *\n * @api private\n */\n\nPolling.prototype.doClose = function () {\n var self = this;\n\n function close () {\n debug('writing close packet');\n self.write([{ type: 'close' }]);\n }\n\n if ('open' === this.readyState) {\n debug('transport open - closing');\n close();\n } else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n debug('transport not open - deferring close');\n this.once('open', close);\n }\n};\n\n/**\n * Writes a packets payload.\n *\n * @param {Array} data packets\n * @param {Function} drain callback\n * @api private\n */\n\nPolling.prototype.write = function (packets) {\n var self = this;\n this.writable = false;\n var callbackfn = function () {\n self.writable = true;\n self.emit('drain');\n };\n\n parser.encodePayload(packets, this.supportsBinary, function (data) {\n self.doWrite(data, callbackfn);\n });\n};\n\n/**\n * Generates uri for connection.\n *\n * @api private\n */\n\nPolling.prototype.uri = function () {\n var query = this.query || {};\n var schema = this.secure ? 'https' : 'http';\n var port = '';\n\n // cache busting is forced\n if (false !== this.timestampRequests) {\n query[this.timestampParam] = yeast();\n }\n\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n\n query = parseqs.encode(query);\n\n // avoid port if default for schema\n if (this.port && (('https' === schema && Number(this.port) !== 443) ||\n ('http' === schema && Number(this.port) !== 80))) {\n port = ':' + this.port;\n }\n\n // prepend ? to query\n if (query.length) {\n query = '?' + query;\n }\n\n var ipv6 = this.hostname.indexOf(':') !== -1;\n return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query;\n};\n","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n var args = [].slice.call(arguments, 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n","\n/**\n * Module dependencies.\n */\n\nvar parseuri = require('parseuri');\nvar debug = require('debug')('socket.io-client:url');\n\n/**\n * Module exports.\n */\n\nmodule.exports = url;\n\n/**\n * URL parser.\n *\n * @param {String} url\n * @param {Object} An object meant to mimic window.location.\n * Defaults to window.location.\n * @api public\n */\n\nfunction url (uri, loc) {\n var obj = uri;\n\n // default to window.location\n loc = loc || (typeof location !== 'undefined' && location);\n if (null == uri) uri = loc.protocol + '//' + loc.host;\n\n // relative path support\n if ('string' === typeof uri) {\n if ('/' === uri.charAt(0)) {\n if ('/' === uri.charAt(1)) {\n uri = loc.protocol + uri;\n } else {\n uri = loc.host + uri;\n }\n }\n\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n debug('protocol-less url %s', uri);\n if ('undefined' !== typeof loc) {\n uri = loc.protocol + '//' + uri;\n } else {\n uri = 'https://' + uri;\n }\n }\n\n // parse\n debug('parse %s', uri);\n obj = parseuri(uri);\n }\n\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = '80';\n } else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = '443';\n }\n }\n\n obj.path = obj.path || '/';\n\n var ipv6 = obj.host.indexOf(':') !== -1;\n var host = ipv6 ? '[' + obj.host + ']' : obj.host;\n\n // define unique id\n obj.id = obj.protocol + '://' + host + ':' + obj.port;\n // define href\n obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : (':' + obj.port));\n\n return obj;\n}\n","/**\n * Module dependencies.\n */\n\nvar keys = require('./keys');\nvar hasBinary = require('has-binary2');\nvar sliceBuffer = require('arraybuffer.slice');\nvar after = require('after');\nvar utf8 = require('./utf8');\n\nvar base64encoder;\nif (typeof ArrayBuffer !== 'undefined') {\n base64encoder = require('base64-arraybuffer');\n}\n\n/**\n * Check if we are running an android browser. That requires us to use\n * ArrayBuffer with polling transports...\n *\n * http://ghinda.net/jpeg-blob-ajax-android/\n */\n\nvar isAndroid = typeof navigator !== 'undefined' && /Android/i.test(navigator.userAgent);\n\n/**\n * Check if we are running in PhantomJS.\n * Uploading a Blob with PhantomJS does not work correctly, as reported here:\n * https://github.com/ariya/phantomjs/issues/11395\n * @type boolean\n */\nvar isPhantomJS = typeof navigator !== 'undefined' && /PhantomJS/i.test(navigator.userAgent);\n\n/**\n * When true, avoids using Blobs to encode payloads.\n * @type boolean\n */\nvar dontSendBlobs = isAndroid || isPhantomJS;\n\n/**\n * Current protocol version.\n */\n\nexports.protocol = 3;\n\n/**\n * Packet types.\n */\n\nvar packets = exports.packets = {\n open: 0 // non-ws\n , close: 1 // non-ws\n , ping: 2\n , pong: 3\n , message: 4\n , upgrade: 5\n , noop: 6\n};\n\nvar packetslist = keys(packets);\n\n/**\n * Premade error packet.\n */\n\nvar err = { type: 'error', data: 'parser error' };\n\n/**\n * Create a blob api even for blob builder when vendor prefixes exist\n */\n\nvar Blob = require('blob');\n\n/**\n * Encodes a packet.\n *\n * [ ]\n *\n * Example:\n *\n * 5hello world\n * 3\n * 4\n *\n * Binary is encoded in an identical principle\n *\n * @api private\n */\n\nexports.encodePacket = function (packet, supportsBinary, utf8encode, callback) {\n if (typeof supportsBinary === 'function') {\n callback = supportsBinary;\n supportsBinary = false;\n }\n\n if (typeof utf8encode === 'function') {\n callback = utf8encode;\n utf8encode = null;\n }\n\n var data = (packet.data === undefined)\n ? undefined\n : packet.data.buffer || packet.data;\n\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return encodeArrayBuffer(packet, supportsBinary, callback);\n } else if (typeof Blob !== 'undefined' && data instanceof Blob) {\n return encodeBlob(packet, supportsBinary, callback);\n }\n\n // might be an object with { base64: true, data: dataAsBase64String }\n if (data && data.base64) {\n return encodeBase64Object(packet, callback);\n }\n\n // Sending data as a utf-8 string\n var encoded = packets[packet.type];\n\n // data fragment is optional\n if (undefined !== packet.data) {\n encoded += utf8encode ? utf8.encode(String(packet.data), { strict: false }) : String(packet.data);\n }\n\n return callback('' + encoded);\n\n};\n\nfunction encodeBase64Object(packet, callback) {\n // packet data is an object { base64: true, data: dataAsBase64String }\n var message = 'b' + exports.packets[packet.type] + packet.data.data;\n return callback(message);\n}\n\n/**\n * Encode packet helpers for binary types\n */\n\nfunction encodeArrayBuffer(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n var data = packet.data;\n var contentArray = new Uint8Array(data);\n var resultBuffer = new Uint8Array(1 + data.byteLength);\n\n resultBuffer[0] = packets[packet.type];\n for (var i = 0; i < contentArray.length; i++) {\n resultBuffer[i+1] = contentArray[i];\n }\n\n return callback(resultBuffer.buffer);\n}\n\nfunction encodeBlobAsArrayBuffer(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n var fr = new FileReader();\n fr.onload = function() {\n exports.encodePacket({ type: packet.type, data: fr.result }, supportsBinary, true, callback);\n };\n return fr.readAsArrayBuffer(packet.data);\n}\n\nfunction encodeBlob(packet, supportsBinary, callback) {\n if (!supportsBinary) {\n return exports.encodeBase64Packet(packet, callback);\n }\n\n if (dontSendBlobs) {\n return encodeBlobAsArrayBuffer(packet, supportsBinary, callback);\n }\n\n var length = new Uint8Array(1);\n length[0] = packets[packet.type];\n var blob = new Blob([length.buffer, packet.data]);\n\n return callback(blob);\n}\n\n/**\n * Encodes a packet with binary data in a base64 string\n *\n * @param {Object} packet, has `type` and `data`\n * @return {String} base64 encoded message\n */\n\nexports.encodeBase64Packet = function(packet, callback) {\n var message = 'b' + exports.packets[packet.type];\n if (typeof Blob !== 'undefined' && packet.data instanceof Blob) {\n var fr = new FileReader();\n fr.onload = function() {\n var b64 = fr.result.split(',')[1];\n callback(message + b64);\n };\n return fr.readAsDataURL(packet.data);\n }\n\n var b64data;\n try {\n b64data = String.fromCharCode.apply(null, new Uint8Array(packet.data));\n } catch (e) {\n // iPhone Safari doesn't let you apply with typed arrays\n var typed = new Uint8Array(packet.data);\n var basic = new Array(typed.length);\n for (var i = 0; i < typed.length; i++) {\n basic[i] = typed[i];\n }\n b64data = String.fromCharCode.apply(null, basic);\n }\n message += btoa(b64data);\n return callback(message);\n};\n\n/**\n * Decodes a packet. Changes format to Blob if requested.\n *\n * @return {Object} with `type` and `data` (if any)\n * @api private\n */\n\nexports.decodePacket = function (data, binaryType, utf8decode) {\n if (data === undefined) {\n return err;\n }\n // String data\n if (typeof data === 'string') {\n if (data.charAt(0) === 'b') {\n return exports.decodeBase64Packet(data.substr(1), binaryType);\n }\n\n if (utf8decode) {\n data = tryDecode(data);\n if (data === false) {\n return err;\n }\n }\n var type = data.charAt(0);\n\n if (Number(type) != type || !packetslist[type]) {\n return err;\n }\n\n if (data.length > 1) {\n return { type: packetslist[type], data: data.substring(1) };\n } else {\n return { type: packetslist[type] };\n }\n }\n\n var asArray = new Uint8Array(data);\n var type = asArray[0];\n var rest = sliceBuffer(data, 1);\n if (Blob && binaryType === 'blob') {\n rest = new Blob([rest]);\n }\n return { type: packetslist[type], data: rest };\n};\n\nfunction tryDecode(data) {\n try {\n data = utf8.decode(data, { strict: false });\n } catch (e) {\n return false;\n }\n return data;\n}\n\n/**\n * Decodes a packet encoded in a base64 string\n *\n * @param {String} base64 encoded message\n * @return {Object} with `type` and `data` (if any)\n */\n\nexports.decodeBase64Packet = function(msg, binaryType) {\n var type = packetslist[msg.charAt(0)];\n if (!base64encoder) {\n return { type: type, data: { base64: true, data: msg.substr(1) } };\n }\n\n var data = base64encoder.decode(msg.substr(1));\n\n if (binaryType === 'blob' && Blob) {\n data = new Blob([data]);\n }\n\n return { type: type, data: data };\n};\n\n/**\n * Encodes multiple messages (payload).\n *\n * :data\n *\n * Example:\n *\n * 11:hello world2:hi\n *\n * If any contents are binary, they will be encoded as base64 strings. Base64\n * encoded strings are marked with a b before the length specifier\n *\n * @param {Array} packets\n * @api private\n */\n\nexports.encodePayload = function (packets, supportsBinary, callback) {\n if (typeof supportsBinary === 'function') {\n callback = supportsBinary;\n supportsBinary = null;\n }\n\n var isBinary = hasBinary(packets);\n\n if (supportsBinary && isBinary) {\n if (Blob && !dontSendBlobs) {\n return exports.encodePayloadAsBlob(packets, callback);\n }\n\n return exports.encodePayloadAsArrayBuffer(packets, callback);\n }\n\n if (!packets.length) {\n return callback('0:');\n }\n\n function setLengthHeader(message) {\n return message.length + ':' + message;\n }\n\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, !isBinary ? false : supportsBinary, false, function(message) {\n doneCallback(null, setLengthHeader(message));\n });\n }\n\n map(packets, encodeOne, function(err, results) {\n return callback(results.join(''));\n });\n};\n\n/**\n * Async array map using after\n */\n\nfunction map(ary, each, done) {\n var result = new Array(ary.length);\n var next = after(ary.length, done);\n\n var eachWithIndex = function(i, el, cb) {\n each(el, function(error, msg) {\n result[i] = msg;\n cb(error, result);\n });\n };\n\n for (var i = 0; i < ary.length; i++) {\n eachWithIndex(i, ary[i], next);\n }\n}\n\n/*\n * Decodes data when a payload is maybe expected. Possible binary contents are\n * decoded from their base64 representation\n *\n * @param {String} data, callback method\n * @api public\n */\n\nexports.decodePayload = function (data, binaryType, callback) {\n if (typeof data !== 'string') {\n return exports.decodePayloadAsBinary(data, binaryType, callback);\n }\n\n if (typeof binaryType === 'function') {\n callback = binaryType;\n binaryType = null;\n }\n\n var packet;\n if (data === '') {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n var length = '', n, msg;\n\n for (var i = 0, l = data.length; i < l; i++) {\n var chr = data.charAt(i);\n\n if (chr !== ':') {\n length += chr;\n continue;\n }\n\n if (length === '' || (length != (n = Number(length)))) {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n msg = data.substr(i + 1, n);\n\n if (length != msg.length) {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n if (msg.length) {\n packet = exports.decodePacket(msg, binaryType, false);\n\n if (err.type === packet.type && err.data === packet.data) {\n // parser error in individual packet - ignoring payload\n return callback(err, 0, 1);\n }\n\n var ret = callback(packet, i + n, l);\n if (false === ret) return;\n }\n\n // advance cursor\n i += n;\n length = '';\n }\n\n if (length !== '') {\n // parser error - ignoring payload\n return callback(err, 0, 1);\n }\n\n};\n\n/**\n * Encodes multiple messages (payload) as binary.\n *\n * <1 = binary, 0 = string>[...]\n *\n * Example:\n * 1 3 255 1 2 3, if the binary contents are interpreted as 8 bit integers\n *\n * @param {Array} packets\n * @return {ArrayBuffer} encoded payload\n * @api private\n */\n\nexports.encodePayloadAsArrayBuffer = function(packets, callback) {\n if (!packets.length) {\n return callback(new ArrayBuffer(0));\n }\n\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, true, true, function(data) {\n return doneCallback(null, data);\n });\n }\n\n map(packets, encodeOne, function(err, encodedPackets) {\n var totalLength = encodedPackets.reduce(function(acc, p) {\n var len;\n if (typeof p === 'string'){\n len = p.length;\n } else {\n len = p.byteLength;\n }\n return acc + len.toString().length + len + 2; // string/binary identifier + separator = 2\n }, 0);\n\n var resultArray = new Uint8Array(totalLength);\n\n var bufferIndex = 0;\n encodedPackets.forEach(function(p) {\n var isString = typeof p === 'string';\n var ab = p;\n if (isString) {\n var view = new Uint8Array(p.length);\n for (var i = 0; i < p.length; i++) {\n view[i] = p.charCodeAt(i);\n }\n ab = view.buffer;\n }\n\n if (isString) { // not true binary\n resultArray[bufferIndex++] = 0;\n } else { // true binary\n resultArray[bufferIndex++] = 1;\n }\n\n var lenStr = ab.byteLength.toString();\n for (var i = 0; i < lenStr.length; i++) {\n resultArray[bufferIndex++] = parseInt(lenStr[i]);\n }\n resultArray[bufferIndex++] = 255;\n\n var view = new Uint8Array(ab);\n for (var i = 0; i < view.length; i++) {\n resultArray[bufferIndex++] = view[i];\n }\n });\n\n return callback(resultArray.buffer);\n });\n};\n\n/**\n * Encode as Blob\n */\n\nexports.encodePayloadAsBlob = function(packets, callback) {\n function encodeOne(packet, doneCallback) {\n exports.encodePacket(packet, true, true, function(encoded) {\n var binaryIdentifier = new Uint8Array(1);\n binaryIdentifier[0] = 1;\n if (typeof encoded === 'string') {\n var view = new Uint8Array(encoded.length);\n for (var i = 0; i < encoded.length; i++) {\n view[i] = encoded.charCodeAt(i);\n }\n encoded = view.buffer;\n binaryIdentifier[0] = 0;\n }\n\n var len = (encoded instanceof ArrayBuffer)\n ? encoded.byteLength\n : encoded.size;\n\n var lenStr = len.toString();\n var lengthAry = new Uint8Array(lenStr.length + 1);\n for (var i = 0; i < lenStr.length; i++) {\n lengthAry[i] = parseInt(lenStr[i]);\n }\n lengthAry[lenStr.length] = 255;\n\n if (Blob) {\n var blob = new Blob([binaryIdentifier.buffer, lengthAry.buffer, encoded]);\n doneCallback(null, blob);\n }\n });\n }\n\n map(packets, encodeOne, function(err, results) {\n return callback(new Blob(results));\n });\n};\n\n/*\n * Decodes data when a payload is maybe expected. Strings are decoded by\n * interpreting each byte as a key code for entries marked to start with 0. See\n * description of encodePayloadAsBinary\n *\n * @param {ArrayBuffer} data, callback method\n * @api public\n */\n\nexports.decodePayloadAsBinary = function (data, binaryType, callback) {\n if (typeof binaryType === 'function') {\n callback = binaryType;\n binaryType = null;\n }\n\n var bufferTail = data;\n var buffers = [];\n\n while (bufferTail.byteLength > 0) {\n var tailArray = new Uint8Array(bufferTail);\n var isString = tailArray[0] === 0;\n var msgLength = '';\n\n for (var i = 1; ; i++) {\n if (tailArray[i] === 255) break;\n\n // 310 = char length of Number.MAX_VALUE\n if (msgLength.length > 310) {\n return callback(err, 0, 1);\n }\n\n msgLength += tailArray[i];\n }\n\n bufferTail = sliceBuffer(bufferTail, 2 + msgLength.length);\n msgLength = parseInt(msgLength);\n\n var msg = sliceBuffer(bufferTail, 0, msgLength);\n if (isString) {\n try {\n msg = String.fromCharCode.apply(null, new Uint8Array(msg));\n } catch (e) {\n // iPhone Safari doesn't let you apply to typed arrays\n var typed = new Uint8Array(msg);\n msg = '';\n for (var i = 0; i < typed.length; i++) {\n msg += String.fromCharCode(typed[i]);\n }\n }\n }\n\n buffers.push(msg);\n bufferTail = sliceBuffer(bufferTail, msgLength);\n }\n\n var total = buffers.length;\n buffers.forEach(function(buffer, i) {\n callback(exports.decodePacket(buffer, binaryType, true), i, total);\n });\n};\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(){\n \"use strict\";\n\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n // Use a lookup table to find the index.\n var lookup = new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i+1)];\n encoded3 = lookup[base64.charCodeAt(i+2)];\n encoded4 = lookup[base64.charCodeAt(i+3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})();\n","\n/**\n * Module dependencies.\n */\n\nvar parser = require('socket.io-parser');\nvar Emitter = require('component-emitter');\nvar toArray = require('to-array');\nvar on = require('./on');\nvar bind = require('component-bind');\nvar debug = require('debug')('socket.io-client:socket');\nvar parseqs = require('parseqs');\nvar hasBin = require('has-binary2');\n\n/**\n * Module exports.\n */\n\nmodule.exports = exports = Socket;\n\n/**\n * Internal events (blacklisted).\n * These events can't be emitted by the user.\n *\n * @api private\n */\n\nvar events = {\n connect: 1,\n connect_error: 1,\n connect_timeout: 1,\n connecting: 1,\n disconnect: 1,\n error: 1,\n reconnect: 1,\n reconnect_attempt: 1,\n reconnect_failed: 1,\n reconnect_error: 1,\n reconnecting: 1,\n ping: 1,\n pong: 1\n};\n\n/**\n * Shortcut to `Emitter#emit`.\n */\n\nvar emit = Emitter.prototype.emit;\n\n/**\n * `Socket` constructor.\n *\n * @api public\n */\n\nfunction Socket (io, nsp, opts) {\n this.io = io;\n this.nsp = nsp;\n this.json = this; // compat\n this.ids = 0;\n this.acks = {};\n this.receiveBuffer = [];\n this.sendBuffer = [];\n this.connected = false;\n this.disconnected = true;\n this.flags = {};\n if (opts && opts.query) {\n this.query = opts.query;\n }\n if (this.io.autoConnect) this.open();\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Socket.prototype);\n\n/**\n * Subscribe to open, close and packet events\n *\n * @api private\n */\n\nSocket.prototype.subEvents = function () {\n if (this.subs) return;\n\n var io = this.io;\n this.subs = [\n on(io, 'open', bind(this, 'onopen')),\n on(io, 'packet', bind(this, 'onpacket')),\n on(io, 'close', bind(this, 'onclose'))\n ];\n};\n\n/**\n * \"Opens\" the socket.\n *\n * @api public\n */\n\nSocket.prototype.open =\nSocket.prototype.connect = function () {\n if (this.connected) return this;\n\n this.subEvents();\n this.io.open(); // ensure open\n if ('open' === this.io.readyState) this.onopen();\n this.emit('connecting');\n return this;\n};\n\n/**\n * Sends a `message` event.\n *\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.send = function () {\n var args = toArray(arguments);\n args.unshift('message');\n this.emit.apply(this, args);\n return this;\n};\n\n/**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @param {String} event name\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.emit = function (ev) {\n if (events.hasOwnProperty(ev)) {\n emit.apply(this, arguments);\n return this;\n }\n\n var args = toArray(arguments);\n var packet = {\n type: (this.flags.binary !== undefined ? this.flags.binary : hasBin(args)) ? parser.BINARY_EVENT : parser.EVENT,\n data: args\n };\n\n packet.options = {};\n packet.options.compress = !this.flags || false !== this.flags.compress;\n\n // event ack callback\n if ('function' === typeof args[args.length - 1]) {\n debug('emitting packet with ack id %d', this.ids);\n this.acks[this.ids] = args.pop();\n packet.id = this.ids++;\n }\n\n if (this.connected) {\n this.packet(packet);\n } else {\n this.sendBuffer.push(packet);\n }\n\n this.flags = {};\n\n return this;\n};\n\n/**\n * Sends a packet.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.packet = function (packet) {\n packet.nsp = this.nsp;\n this.io.packet(packet);\n};\n\n/**\n * Called upon engine `open`.\n *\n * @api private\n */\n\nSocket.prototype.onopen = function () {\n debug('transport is open - connecting');\n\n // write connect packet if necessary\n if ('/' !== this.nsp) {\n if (this.query) {\n var query = typeof this.query === 'object' ? parseqs.encode(this.query) : this.query;\n debug('sending connect packet with query %s', query);\n this.packet({type: parser.CONNECT, query: query});\n } else {\n this.packet({type: parser.CONNECT});\n }\n }\n};\n\n/**\n * Called upon engine `close`.\n *\n * @param {String} reason\n * @api private\n */\n\nSocket.prototype.onclose = function (reason) {\n debug('close (%s)', reason);\n this.connected = false;\n this.disconnected = true;\n delete this.id;\n this.emit('disconnect', reason);\n};\n\n/**\n * Called with socket packet.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onpacket = function (packet) {\n var sameNamespace = packet.nsp === this.nsp;\n var rootNamespaceError = packet.type === parser.ERROR && packet.nsp === '/';\n\n if (!sameNamespace && !rootNamespaceError) return;\n\n switch (packet.type) {\n case parser.CONNECT:\n this.onconnect();\n break;\n\n case parser.EVENT:\n this.onevent(packet);\n break;\n\n case parser.BINARY_EVENT:\n this.onevent(packet);\n break;\n\n case parser.ACK:\n this.onack(packet);\n break;\n\n case parser.BINARY_ACK:\n this.onack(packet);\n break;\n\n case parser.DISCONNECT:\n this.ondisconnect();\n break;\n\n case parser.ERROR:\n this.emit('error', packet.data);\n break;\n }\n};\n\n/**\n * Called upon a server event.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onevent = function (packet) {\n var args = packet.data || [];\n debug('emitting event %j', args);\n\n if (null != packet.id) {\n debug('attaching ack callback to event');\n args.push(this.ack(packet.id));\n }\n\n if (this.connected) {\n emit.apply(this, args);\n } else {\n this.receiveBuffer.push(args);\n }\n};\n\n/**\n * Produces an ack callback to emit with an event.\n *\n * @api private\n */\n\nSocket.prototype.ack = function (id) {\n var self = this;\n var sent = false;\n return function () {\n // prevent double callbacks\n if (sent) return;\n sent = true;\n var args = toArray(arguments);\n debug('sending ack %j', args);\n\n self.packet({\n type: hasBin(args) ? parser.BINARY_ACK : parser.ACK,\n id: id,\n data: args\n });\n };\n};\n\n/**\n * Called upon a server acknowlegement.\n *\n * @param {Object} packet\n * @api private\n */\n\nSocket.prototype.onack = function (packet) {\n var ack = this.acks[packet.id];\n if ('function' === typeof ack) {\n debug('calling ack %s with %j', packet.id, packet.data);\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n } else {\n debug('bad ack %s', packet.id);\n }\n};\n\n/**\n * Called upon server connect.\n *\n * @api private\n */\n\nSocket.prototype.onconnect = function () {\n this.connected = true;\n this.disconnected = false;\n this.emit('connect');\n this.emitBuffered();\n};\n\n/**\n * Emit buffered events (received and emitted).\n *\n * @api private\n */\n\nSocket.prototype.emitBuffered = function () {\n var i;\n for (i = 0; i < this.receiveBuffer.length; i++) {\n emit.apply(this, this.receiveBuffer[i]);\n }\n this.receiveBuffer = [];\n\n for (i = 0; i < this.sendBuffer.length; i++) {\n this.packet(this.sendBuffer[i]);\n }\n this.sendBuffer = [];\n};\n\n/**\n * Called upon server disconnect.\n *\n * @api private\n */\n\nSocket.prototype.ondisconnect = function () {\n debug('server disconnect (%s)', this.nsp);\n this.destroy();\n this.onclose('io server disconnect');\n};\n\n/**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @api private.\n */\n\nSocket.prototype.destroy = function () {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n for (var i = 0; i < this.subs.length; i++) {\n this.subs[i].destroy();\n }\n this.subs = null;\n }\n\n this.io.destroy(this);\n};\n\n/**\n * Disconnects the socket manually.\n *\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.close =\nSocket.prototype.disconnect = function () {\n if (this.connected) {\n debug('performing disconnect (%s)', this.nsp);\n this.packet({ type: parser.DISCONNECT });\n }\n\n // remove socket from pool\n this.destroy();\n\n if (this.connected) {\n // fire events\n this.onclose('io client disconnect');\n }\n return this;\n};\n\n/**\n * Sets the compress flag.\n *\n * @param {Boolean} if `true`, compresses the sending data\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.compress = function (compress) {\n this.flags.compress = compress;\n return this;\n};\n\n/**\n * Sets the binary flag\n *\n * @param {Boolean} whether the emitted data contains binary\n * @return {Socket} self\n * @api public\n */\n\nSocket.prototype.binary = function (binary) {\n this.flags.binary = binary;\n return this;\n};\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","\nvar indexOf = [].indexOf;\n\nmodule.exports = function(arr, obj){\n if (indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};","\nmodule.exports = function(a, b){\n var fn = function(){};\n fn.prototype = b.prototype;\n a.prototype = new fn;\n a.prototype.constructor = a;\n};","// Polyfill for creating CustomEvents on IE9/10/11\n\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n\n(function() {\n if (typeof window === 'undefined') {\n return;\n }\n\n try {\n var ce = new window.CustomEvent('test', { cancelable: true });\n ce.preventDefault();\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n } catch (e) {\n var CustomEvent = function(event, params) {\n var evt, origPrevent;\n params = params || {};\n params.bubbles = !!params.bubbles;\n params.cancelable = !!params.cancelable;\n\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(\n event,\n params.bubbles,\n params.cancelable,\n params.detail\n );\n origPrevent = evt.preventDefault;\n evt.preventDefault = function() {\n origPrevent.call(this);\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n } catch (e) {\n this.defaultPrevented = true;\n }\n };\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n }\n})();\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = after\n\nfunction after(count, callback, err_cb) {\n var bail = false\n err_cb = err_cb || noop\n proxy.count = count\n\n return (count === 0) ? callback() : proxy\n\n function proxy(err, result) {\n if (proxy.count <= 0) {\n throw new Error('after called too many times')\n }\n --proxy.count\n\n // after first error, rest are passed to err_cb\n if (err) {\n bail = true\n callback(err)\n // future error callbacks will go to error handler\n callback = err_cb\n } else if (proxy.count === 0 && !bail) {\n callback(null, result)\n }\n }\n}\n\nfunction noop() {}\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","/*global Blob,File*/\n\n/**\n * Module requirements\n */\n\nvar isArray = require('isarray');\nvar isBuf = require('./is-buffer');\nvar toString = Object.prototype.toString;\nvar withNativeBlob = typeof Blob === 'function' || (typeof Blob !== 'undefined' && toString.call(Blob) === '[object BlobConstructor]');\nvar withNativeFile = typeof File === 'function' || (typeof File !== 'undefined' && toString.call(File) === '[object FileConstructor]');\n\n/**\n * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder.\n * Anything with blobs or files should be fed through removeBlobs before coming\n * here.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @api public\n */\n\nexports.deconstructPacket = function(packet) {\n var buffers = [];\n var packetData = packet.data;\n var pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return {packet: pack, buffers: buffers};\n};\n\nfunction _deconstructPacket(data, buffers) {\n if (!data) return data;\n\n if (isBuf(data)) {\n var placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n } else if (isArray(data)) {\n var newData = new Array(data.length);\n for (var i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n } else if (typeof data === 'object' && !(data instanceof Date)) {\n var newData = {};\n for (var key in data) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n return newData;\n }\n return data;\n}\n\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @api public\n */\n\nexports.reconstructPacket = function(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n packet.attachments = undefined; // no longer useful\n return packet;\n};\n\nfunction _reconstructPacket(data, buffers) {\n if (!data) return data;\n\n if (data && data._placeholder) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n } else if (isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n } else if (typeof data === 'object') {\n for (var key in data) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n\n return data;\n}\n\n/**\n * Asynchronously removes Blobs or Files from data via\n * FileReader's readAsArrayBuffer method. Used before encoding\n * data as msgpack. Calls callback with the blobless data.\n *\n * @param {Object} data\n * @param {Function} callback\n * @api private\n */\n\nexports.removeBlobs = function(data, callback) {\n function _removeBlobs(obj, curKey, containingObject) {\n if (!obj) return obj;\n\n // convert any blob\n if ((withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File)) {\n pendingBlobs++;\n\n // async filereader\n var fileReader = new FileReader();\n fileReader.onload = function() { // this.result == arraybuffer\n if (containingObject) {\n containingObject[curKey] = this.result;\n }\n else {\n bloblessData = this.result;\n }\n\n // if nothing pending its callback time\n if(! --pendingBlobs) {\n callback(bloblessData);\n }\n };\n\n fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer\n } else if (isArray(obj)) { // handle array\n for (var i = 0; i < obj.length; i++) {\n _removeBlobs(obj[i], i, obj);\n }\n } else if (typeof obj === 'object' && !isBuf(obj)) { // and object\n for (var key in obj) {\n _removeBlobs(obj[key], key, obj);\n }\n }\n }\n\n var pendingBlobs = 0;\n var bloblessData = data;\n _removeBlobs(bloblessData);\n if (!pendingBlobs) {\n callback(bloblessData);\n }\n};\n","\n/**\n * Module dependencies.\n */\n\nvar url = require('./url');\nvar parser = require('socket.io-parser');\nvar Manager = require('./manager');\nvar debug = require('debug')('socket.io-client');\n\n/**\n * Module exports.\n */\n\nmodule.exports = exports = lookup;\n\n/**\n * Managers cache.\n */\n\nvar cache = exports.managers = {};\n\n/**\n * Looks up an existing `Manager` for multiplexing.\n * If the user summons:\n *\n * `io('http://localhost/a');`\n * `io('http://localhost/b');`\n *\n * We reuse the existing instance based on same scheme/port/host,\n * and we initialize sockets for each namespace.\n *\n * @api public\n */\n\nfunction lookup (uri, opts) {\n if (typeof uri === 'object') {\n opts = uri;\n uri = undefined;\n }\n\n opts = opts || {};\n\n var parsed = url(uri);\n var source = parsed.source;\n var id = parsed.id;\n var path = parsed.path;\n var sameNamespace = cache[id] && path in cache[id].nsps;\n var newConnection = opts.forceNew || opts['force new connection'] ||\n false === opts.multiplex || sameNamespace;\n\n var io;\n\n if (newConnection) {\n debug('ignoring socket cache for %s', source);\n io = Manager(source, opts);\n } else {\n if (!cache[id]) {\n debug('new io instance for %s', source);\n cache[id] = Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.query;\n }\n return io.socket(parsed.path, opts);\n}\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nexports.protocol = parser.protocol;\n\n/**\n * `connect`.\n *\n * @param {String} uri\n * @api public\n */\n\nexports.connect = lookup;\n\n/**\n * Expose constructors for standalone build.\n *\n * @api public\n */\n\nexports.Manager = require('./manager');\nexports.Socket = require('./socket');\n","\nmodule.exports = isBuf;\n\nvar withNativeBuffer = typeof Buffer === 'function' && typeof Buffer.isBuffer === 'function';\nvar withNativeArrayBuffer = typeof ArrayBuffer === 'function';\n\nvar isView = function (obj) {\n return typeof ArrayBuffer.isView === 'function' ? ArrayBuffer.isView(obj) : (obj.buffer instanceof ArrayBuffer);\n};\n\n/**\n * Returns true if obj is a buffer or an arraybuffer.\n *\n * @api private\n */\n\nfunction isBuf(obj) {\n return (withNativeBuffer && Buffer.isBuffer(obj)) ||\n (withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj)));\n}\n","/**\n * Module requirements.\n */\n\nvar Polling = require('./polling');\nvar inherit = require('component-inherit');\n\n/**\n * Module exports.\n */\n\nmodule.exports = JSONPPolling;\n\n/**\n * Cached regular expressions.\n */\n\nvar rNewline = /\\n/g;\nvar rEscapedNewline = /\\\\n/g;\n\n/**\n * Global JSONP callbacks.\n */\n\nvar callbacks;\n\n/**\n * Noop.\n */\n\nfunction empty () { }\n\n/**\n * Until https://github.com/tc39/proposal-global is shipped.\n */\nfunction glob () {\n return typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global : {};\n}\n\n/**\n * JSONP Polling constructor.\n *\n * @param {Object} opts.\n * @api public\n */\n\nfunction JSONPPolling (opts) {\n Polling.call(this, opts);\n\n this.query = this.query || {};\n\n // define global callbacks array if not present\n // we do this here (lazily) to avoid unneeded global pollution\n if (!callbacks) {\n // we need to consider multiple engines in the same page\n var global = glob();\n callbacks = global.___eio = (global.___eio || []);\n }\n\n // callback identifier\n this.index = callbacks.length;\n\n // add callback to jsonp global\n var self = this;\n callbacks.push(function (msg) {\n self.onData(msg);\n });\n\n // append to query string\n this.query.j = this.index;\n\n // prevent spurious errors from being emitted when the window is unloaded\n if (typeof addEventListener === 'function') {\n addEventListener('beforeunload', function () {\n if (self.script) self.script.onerror = empty;\n }, false);\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(JSONPPolling, Polling);\n\n/*\n * JSONP only supports binary as base64 encoded strings\n */\n\nJSONPPolling.prototype.supportsBinary = false;\n\n/**\n * Closes the socket.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doClose = function () {\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n if (this.form) {\n this.form.parentNode.removeChild(this.form);\n this.form = null;\n this.iframe = null;\n }\n\n Polling.prototype.doClose.call(this);\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doPoll = function () {\n var self = this;\n var script = document.createElement('script');\n\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n script.async = true;\n script.src = this.uri();\n script.onerror = function (e) {\n self.onError('jsonp poll error', e);\n };\n\n var insertAt = document.getElementsByTagName('script')[0];\n if (insertAt) {\n insertAt.parentNode.insertBefore(script, insertAt);\n } else {\n (document.head || document.body).appendChild(script);\n }\n this.script = script;\n\n var isUAgecko = 'undefined' !== typeof navigator && /gecko/i.test(navigator.userAgent);\n\n if (isUAgecko) {\n setTimeout(function () {\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n document.body.removeChild(iframe);\n }, 100);\n }\n};\n\n/**\n * Writes with a hidden iframe.\n *\n * @param {String} data to send\n * @param {Function} called upon flush.\n * @api private\n */\n\nJSONPPolling.prototype.doWrite = function (data, fn) {\n var self = this;\n\n if (!this.form) {\n var form = document.createElement('form');\n var area = document.createElement('textarea');\n var id = this.iframeId = 'eio_iframe_' + this.index;\n var iframe;\n\n form.className = 'socketio';\n form.style.position = 'absolute';\n form.style.top = '-1000px';\n form.style.left = '-1000px';\n form.target = id;\n form.method = 'POST';\n form.setAttribute('accept-charset', 'utf-8');\n area.name = 'd';\n form.appendChild(area);\n document.body.appendChild(form);\n\n this.form = form;\n this.area = area;\n }\n\n this.form.action = this.uri();\n\n function complete () {\n initIframe();\n fn();\n }\n\n function initIframe () {\n if (self.iframe) {\n try {\n self.form.removeChild(self.iframe);\n } catch (e) {\n self.onError('jsonp polling iframe removal error', e);\n }\n }\n\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n var html = '