{"version":3,"sources":["webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/axios/lib/helpers/null.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/defaults/index.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/image-compressor.js/dist/image-compressor.esm.js","webpack:///./src/modules/CompressImage.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/axios/lib/core/AxiosError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/modules/imgChange.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/axios/lib/helpers/parseProtocol.js","webpack:///./node_modules/axios/index.js","webpack:///./src/api/http.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/defaults/transitional.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/axios/lib/helpers/toFormData.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/cancel/CanceledError.js"],"names":["utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","buildFullPath","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","configOrUrl","config","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","length","then","shift","newConfig","onFulfilled","onRejected","error","reject","getUri","fullPath","baseURL","params","paramsSerializer","data","generateHTTPMethod","isForm","headers","module","exports","callback","arr","fn","thisArg","args","arguments","i","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","len","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","join","extraBytes","parts","maxChunkLength","len2","value","__CANCEL__","encode","val","encodeURIComponent","replace","serializedParams","isURLSearchParams","toString","key","isArray","v","isDate","toISOString","isObject","JSON","stringify","hashmarkIndex","slice","isStandardBrowserEnv","originURL","msie","test","navigator","userAgent","urlParsingNode","document","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","isString","nextTick","call","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","name","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","AxiosError","validateStatus","status","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","Math","floor","config1","config2","getMergedValue","target","source","isPlainObject","merge","mergeDeepProperties","prop","isUndefined","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","Object","keys","configValue","normalizeHeaderName","transitionalDefaults","toFormData","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","adapter","XMLHttpRequest","process","stringifySafely","rawValue","parser","encoder","parse","trim","e","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isFileList","isObjectPayload","contentType","_FormData","FormData","transformResponse","strictJSONParsing","responseType","from","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","common","transformData","isCancel","CanceledError","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","createCommonjsModule","canvasToBlob","CanvasPrototype","HTMLCanvasElement","hasBlobConstructor","Blob","Boolean","hasArrayBufferViewSupport","size","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","dataURIPattern","dataURLtoBlob","atob","ArrayBuffer","dataURI","matches","mediaType","isBase64","dataString","byteString","arrayBuffer","intArray","bb","match","decodeURIComponent","type","append","getBlob","toBlob","mozGetAsFile","quality","self","toDataURL","x","DEFAULTS","checkOrientation","maxWidth","Infinity","maxHeight","minWidth","minHeight","width","height","mimeType","convertSize","beforeDraw","drew","success","REGEXP_IMAGE_TYPE","isImageType","imageTypeToExtension","includeDot","extension","substr","fromCharCode","String","getStringFromCharCode","dataView","str","getUint8","_window","btoa","arrayBufferToDataURL","getOrientation","DataView","orientation","littleEndian","app1Start","ifdStart","offset","exifIDCode","tiffOffset","endianness","getUint16","firstIFDOffset","getUint32","_length","_offset","setUint16","parseOrientation","rotate","scaleX","scaleY","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","hasOwnProperty","_window$1","ArrayBuffer$1","FileReader","URL","webkitURL","REGEXP_EXTENSION","ImageCompressor","file","options","result","compress","_this","image","Image","createObjectURL","reader","onload","_ref","onabort","onerror","readAsArrayBuffer","readAsDataURL","naturalWidth","naturalHeight","alt","src","_ref2","_ref2$rotate","_ref2$scaleX","_ref2$scaleY","canvas","context","getContext","aspectRatio","max","_options","_options2","min","destX","destY","destWidth","destHeight","abs","_width$height","defaultFillStyle","fillStyle","fillRect","save","translate","PI","scale","drawImage","restore","done","_ref3","revokeObjectURL","date","Date","lastModified","getTime","lastModifiedDate","catch","err","async","compressImage","Compressor","File","console","log","message","payload","isAxiosError","inherits","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","customProps","axiosError","create","toFlatObject","obj","write","expires","domain","secure","cookie","isNumber","toGMTString","read","RegExp","remove","now","isAbsoluteURL","combineURLs","requestedURL","VERSION","version","thing","deprecatedWarnings","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","ERR_BAD_OPTION","formatMessage","desc","opts","ERR_DEPRECATED","warn","CancelToken","executor","resolvePromise","token","cancel","_listeners","l","onfulfilled","_resolve","subscribe","unsubscribe","listener","index","splice","c","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","s","NaN","pow","rt","isNaN","LN2","imgToCanvas","canvasToImg","getImg","imgFile","imgTypeChange","imgName","split","can","blobImg","settle","cookies","parseHeaders","isURLSameOrigin","parseProtocol","onCanceled","requestData","requestHeaders","removeEventListener","auth","username","password","unescape","Authorization","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","open","toUpperCase","onreadystatechange","readyState","responseURL","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","abort","send","base64","ieee754","typedArraySupport","__proto__","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","copy","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","Number","remaining","strLen","parseInt","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","allocUnsafeSlow","_isBuffer","compare","a","y","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","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","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","exec","development","production","axiosInstance","axios","get","api","sessionStorage","getItem","TenantId","deleteMethod","del","put","getUserCode","post","use","ignoreDuplicateOf","line","fns","bind","kindOf","cache","kindOfTest","constructor","getPrototypeOf","isFunction","pipe","pattern","product","assignValue","extend","stripBOM","content","superConstructor","sourceObj","destObj","filter","merged","getOwnPropertyNames","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","normalizedName","createInstance","defaultConfig","Cancel","all","promises","spread","default","normalizeArray","allowAboveRoot","up","last","basename","matchedSlash","xs","f","resolvedPath","resolvedAbsolute","p","normalize","isAbsolute","trailingSlash","paths","relative","to","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","extname","startDot","startPart","preDotState","formData","convertValue","build","parentKey","fullKey","el","pop","relativeURL","handlers","eject","id","h","ERR_CANCELED"],"mappings":"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","file":"js/chunk-340058b4.fa984e56.js","sourcesContent":["'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","/*!\n * Image Compressor v1.1.4\n * https://xkeshi.github.io/image-compressor\n *\n * Copyright 2017-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-06-20T07:28:41.051Z\n */\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar canvasToBlob = createCommonjsModule(function (module) {\n(function (window) {\n\n var CanvasPrototype =\n window.HTMLCanvasElement && window.HTMLCanvasElement.prototype;\n var hasBlobConstructor =\n window.Blob &&\n (function () {\n try {\n return Boolean(new Blob())\n } catch (e) {\n return false\n }\n })();\n var hasArrayBufferViewSupport =\n hasBlobConstructor &&\n window.Uint8Array &&\n (function () {\n try {\n return new Blob([new Uint8Array(100)]).size === 100\n } catch (e) {\n return false\n }\n })();\n var BlobBuilder =\n window.BlobBuilder ||\n window.WebKitBlobBuilder ||\n window.MozBlobBuilder ||\n window.MSBlobBuilder;\n var dataURIPattern = /^data:((.*?)(;charset=.*?)?)(;base64)?,/;\n var dataURLtoBlob =\n (hasBlobConstructor || BlobBuilder) &&\n window.atob &&\n window.ArrayBuffer &&\n window.Uint8Array &&\n function (dataURI) {\n var matches,\n mediaType,\n isBase64,\n dataString,\n byteString,\n arrayBuffer,\n intArray,\n i,\n bb;\n // Parse the dataURI components as per RFC 2397\n matches = dataURI.match(dataURIPattern);\n if (!matches) {\n throw new Error('invalid data URI')\n }\n // Default to text/plain;charset=US-ASCII\n mediaType = matches[2]\n ? matches[1]\n : 'text/plain' + (matches[3] || ';charset=US-ASCII');\n isBase64 = !!matches[4];\n dataString = dataURI.slice(matches[0].length);\n if (isBase64) {\n // Convert base64 to raw binary data held in a string:\n byteString = atob(dataString);\n } else {\n // Convert base64/URLEncoded data component to raw binary:\n byteString = decodeURIComponent(dataString);\n }\n // Write the bytes of the string to an ArrayBuffer:\n arrayBuffer = new ArrayBuffer(byteString.length);\n intArray = new Uint8Array(arrayBuffer);\n for (i = 0; i < byteString.length; i += 1) {\n intArray[i] = byteString.charCodeAt(i);\n }\n // Write the ArrayBuffer (or ArrayBufferView) to a blob:\n if (hasBlobConstructor) {\n return new Blob([hasArrayBufferViewSupport ? intArray : arrayBuffer], {\n type: mediaType\n })\n }\n bb = new BlobBuilder();\n bb.append(arrayBuffer);\n return bb.getBlob(mediaType)\n };\n if (window.HTMLCanvasElement && !CanvasPrototype.toBlob) {\n if (CanvasPrototype.mozGetAsFile) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n if (quality && CanvasPrototype.toDataURL && dataURLtoBlob) {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n } else {\n callback(self.mozGetAsFile('blob', type));\n }\n });\n };\n } else if (CanvasPrototype.toDataURL && dataURLtoBlob) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n });\n };\n }\n }\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(function () {\n return dataURLtoBlob\n });\n } else if (module.exports) {\n module.exports = dataURLtoBlob;\n } else {\n window.dataURLtoBlob = dataURLtoBlob;\n }\n})(window);\n});\n\n/* globals Blob */\nvar toString = Object.prototype.toString;\n\nvar isBlob = function (x) {\n\treturn x instanceof Blob || toString.call(x) === '[object Blob]';\n};\n\nvar DEFAULTS = {\n /**\n * Indicates if read the image's Exif Orientation information,\n * and then rotate or flip the image automatically.\n * @type {boolean}\n */\n checkOrientation: true,\n\n /**\n * The max width of the output image.\n * @type {number}\n */\n maxWidth: Infinity,\n\n /**\n * The max height of the output image.\n * @type {number}\n */\n maxHeight: Infinity,\n\n /**\n * The min width of the output image.\n * @type {number}\n */\n minWidth: 0,\n\n /**\n * The min height of the output image.\n * @type {number}\n */\n minHeight: 0,\n\n /**\n * The width of the output image.\n * If not specified, the natural width of the source image will be used.\n * @type {number}\n */\n width: undefined,\n\n /**\n * The height of the output image.\n * If not specified, the natural height of the source image will be used.\n * @type {number}\n */\n height: undefined,\n\n /**\n * The quality of the output image.\n * It must be a number between `0` and `1`,\n * and only available for `image/jpeg` and `image/webp` images.\n * Check out {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob canvas.toBlob}.\n * @type {number}\n */\n quality: 0.8,\n\n /**\n * The mime type of the output image.\n * By default, the original mime type of the source image file will be used.\n * @type {string}\n */\n mimeType: 'auto',\n\n /**\n * PNG files over this value (5M by default) will be converted to JPEGs.\n * To disable this, just set the value to `Infinity`.\n * Check out {@link https://github.com/xkeshi/image-compressor/issues/2 #2}.\n * @type {number}\n */\n convertSize: 5000000,\n\n /**\n * The hook function to execute before draw the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) { context.fillStyle = '#fff' }\n */\n beforeDraw: null,\n\n /**\n * The hook function to execute after drew the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) { context.filter = grayscale(100%) }\n */\n drew: null,\n\n /**\n * The hook function to execute when success to compress the image.\n * @type {Function}\n * @param {File} file - The compressed image File object.\n * @example\n * function (file) { console.log(file) }\n */\n success: null,\n\n /**\n * The hook function to execute when fail to compress the image.\n * @type {Function}\n * @param {Error} err - An Error object.\n * @example\n * function (err) { console.log(err.message) }\n */\n error: null\n};\n\nvar REGEXP_IMAGE_TYPE = /^image\\/.+$/;\n\n/**\n * Check if the given value is a mime type of image.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given is a mime type of image, else `false`.\n */\nfunction isImageType(value) {\n return REGEXP_IMAGE_TYPE.test(value);\n}\n\n/**\n * Convert image type to extension.\n * @param {string} value - The image type to convert.\n * @param {boolean} [includeDot=true] - Include a leading dot or not.\n * @returns {boolean} Returns the image extension.\n */\nfunction imageTypeToExtension(value) {\n var includeDot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var extension = isImageType(value) ? value.substr(6) : '';\n\n if (extension === 'jpeg') {\n extension = 'jpg';\n }\n\n if (extension && includeDot) {\n extension = '.' + extension;\n }\n\n return extension;\n}\n\nvar fromCharCode = String.fromCharCode;\n\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i = void 0;\n\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n}\n\nvar _window = window,\n btoa = _window.btoa;\n\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var uint8 = new Uint8Array(arrayBuffer);\n var data = '';\n\n // TypedArray.prototype.forEach is not supported in some browsers as IE.\n if (typeof uint8.forEach === 'function') {\n uint8.forEach(function (value) {\n data += fromCharCode(value);\n });\n } else {\n var length = uint8.length;\n\n\n for (var i = 0; i < length; i += 1) {\n data += fromCharCode(uint8[i]);\n }\n }\n\n return 'data:' + mimeType + ';base64,' + btoa(data);\n}\n\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\nfunction getOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation = void 0;\n var littleEndian = void 0;\n var app1Start = void 0;\n var ifdStart = void 0;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset = void 0;\n var i = void 0;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n\n return orientation;\n}\n\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n\n default:\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/i;\n\n/**\n * Normalize decimal number.\n * Check out {@link http://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _window$1 = window,\n ArrayBuffer$1 = _window$1.ArrayBuffer,\n FileReader = _window$1.FileReader;\n\nvar URL = window.URL || window.webkitURL;\nvar REGEXP_EXTENSION = /\\.\\w+$/;\n\n/**\n * Creates a new image compressor.\n * @class\n */\n\nvar ImageCompressor = function () {\n /**\n * The constructor of ImageCompressor.\n * @param {File|Blob} file - The target image file for compressing.\n * @param {Object} [options] - The options for compressing.\n */\n function ImageCompressor(file, options) {\n classCallCheck(this, ImageCompressor);\n\n this.result = null;\n\n if (file) {\n this.compress(file, options);\n }\n }\n\n /**\n * The main compress method.\n * @param {File|Blob} file - The target image file for compressing.\n * @param {Object} [options] - The options for compressing.\n * @returns {Promise} - A Promise instance.\n */\n\n\n createClass(ImageCompressor, [{\n key: 'compress',\n value: function compress(file, options) {\n var _this = this;\n\n var image = new Image();\n\n options = _extends({}, DEFAULTS, options);\n\n if (!ArrayBuffer$1) {\n options.checkOrientation = false;\n }\n\n return new Promise(function (resolve, reject) {\n if (!isBlob(file)) {\n reject(new Error('The first argument must be a File or Blob object.'));\n return;\n }\n\n var mimeType = file.type;\n\n if (!isImageType(mimeType)) {\n reject(new Error('The first argument must be an image File or Blob object.'));\n return;\n }\n\n if (!URL && !FileReader) {\n reject(new Error('The current browser does not support image compression.'));\n return;\n }\n\n if (URL && !options.checkOrientation) {\n resolve({\n url: URL.createObjectURL(file)\n });\n } else if (FileReader) {\n var reader = new FileReader();\n var checkOrientation = options.checkOrientation && mimeType === 'image/jpeg';\n\n reader.onload = function (_ref) {\n var target = _ref.target;\n var result = target.result;\n\n\n resolve(checkOrientation ? _extends({\n url: arrayBufferToDataURL(result, mimeType)\n }, parseOrientation(getOrientation(result))) : {\n url: result\n });\n };\n reader.onabort = function () {\n reject(new Error('Aborted to load the image with FileReader.'));\n };\n reader.onerror = function () {\n reject(new Error('Failed to load the image with FileReader.'));\n };\n\n if (checkOrientation) {\n reader.readAsArrayBuffer(file);\n } else {\n reader.readAsDataURL(file);\n }\n }\n }).then(function (data) {\n return new Promise(function (resolve, reject) {\n image.onload = function () {\n return resolve(_extends({}, data, {\n naturalWidth: image.naturalWidth,\n naturalHeight: image.naturalHeight\n }));\n };\n image.onabort = function () {\n reject(new Error('Aborted to load the image.'));\n };\n image.onerror = function () {\n reject(new Error('Failed to load the image.'));\n };\n image.alt = file.name;\n image.src = data.url;\n });\n }).then(function (_ref2) {\n var naturalWidth = _ref2.naturalWidth,\n naturalHeight = _ref2.naturalHeight,\n _ref2$rotate = _ref2.rotate,\n rotate = _ref2$rotate === undefined ? 0 : _ref2$rotate,\n _ref2$scaleX = _ref2.scaleX,\n scaleX = _ref2$scaleX === undefined ? 1 : _ref2$scaleX,\n _ref2$scaleY = _ref2.scaleY,\n scaleY = _ref2$scaleY === undefined ? 1 : _ref2$scaleY;\n return new Promise(function (resolve) {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var aspectRatio = naturalWidth / naturalHeight;\n var maxWidth = Math.max(options.maxWidth, 0) || Infinity;\n var maxHeight = Math.max(options.maxHeight, 0) || Infinity;\n var minWidth = Math.max(options.minWidth, 0) || 0;\n var minHeight = Math.max(options.minHeight, 0) || 0;\n var width = naturalWidth;\n var height = naturalHeight;\n\n if (maxWidth < Infinity && maxHeight < Infinity) {\n if (maxHeight * aspectRatio > maxWidth) {\n maxHeight = maxWidth / aspectRatio;\n } else {\n maxWidth = maxHeight * aspectRatio;\n }\n } else if (maxWidth < Infinity) {\n maxHeight = maxWidth / aspectRatio;\n } else if (maxHeight < Infinity) {\n maxWidth = maxHeight * aspectRatio;\n }\n\n if (minWidth > 0 && minHeight > 0) {\n if (minHeight * aspectRatio > minWidth) {\n minHeight = minWidth / aspectRatio;\n } else {\n minWidth = minHeight * aspectRatio;\n }\n } else if (minWidth > 0) {\n minHeight = minWidth / aspectRatio;\n } else if (minHeight > 0) {\n minWidth = minHeight * aspectRatio;\n }\n\n if (options.width > 0) {\n var _options = options;\n width = _options.width;\n\n height = width / aspectRatio;\n } else if (options.height > 0) {\n var _options2 = options;\n height = _options2.height;\n\n width = height * aspectRatio;\n }\n\n width = Math.min(Math.max(width, minWidth), maxWidth);\n height = Math.min(Math.max(height, minHeight), maxHeight);\n\n var destX = -width / 2;\n var destY = -height / 2;\n var destWidth = width;\n var destHeight = height;\n\n if (Math.abs(rotate) % 180 === 90) {\n var _width$height = {\n width: height,\n height: width\n };\n width = _width$height.width;\n height = _width$height.height;\n }\n\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n\n if (!isImageType(options.mimeType)) {\n options.mimeType = file.type;\n }\n\n var defaultFillStyle = 'transparent';\n\n // Converts PNG files over the `convertSize` to JPEGs.\n if (file.size > options.convertSize && options.mimeType === 'image/png') {\n defaultFillStyle = '#fff';\n options.mimeType = 'image/jpeg';\n }\n\n // Override the default fill color (#000, black)\n context.fillStyle = defaultFillStyle;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n\n if (options.beforeDraw) {\n options.beforeDraw.call(_this, context, canvas);\n }\n\n context.drawImage(image, Math.floor(normalizeDecimalNumber(destX)), Math.floor(normalizeDecimalNumber(destY)), Math.floor(normalizeDecimalNumber(destWidth)), Math.floor(normalizeDecimalNumber(destHeight)));\n\n if (options.drew) {\n options.drew.call(_this, context, canvas);\n }\n\n context.restore();\n\n var done = function done(result) {\n resolve({\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n result: result\n });\n };\n\n if (canvas.toBlob) {\n canvas.toBlob(done, options.mimeType, options.quality);\n } else {\n done(canvasToBlob(canvas.toDataURL(options.mimeType, options.quality)));\n }\n });\n }).then(function (_ref3) {\n var naturalWidth = _ref3.naturalWidth,\n naturalHeight = _ref3.naturalHeight,\n result = _ref3.result;\n\n if (URL && !options.checkOrientation) {\n URL.revokeObjectURL(image.src);\n }\n\n if (result) {\n // Returns original file if the result is greater than it and without size related options\n if (result.size > file.size && options.mimeType === file.type && !(options.width > naturalWidth || options.height > naturalHeight || options.minWidth > naturalWidth || options.minHeight > naturalHeight)) {\n result = file;\n } else {\n var date = new Date();\n\n result.lastModified = date.getTime();\n result.lastModifiedDate = date;\n result.name = file.name;\n\n // Convert the extension to match its type\n if (result.name && result.type !== file.type) {\n result.name = result.name.replace(REGEXP_EXTENSION, imageTypeToExtension(result.type));\n }\n }\n } else {\n // Returns original file if the result is null in some cases.\n result = file;\n }\n\n _this.result = result;\n\n if (options.success) {\n options.success.call(_this, result);\n }\n\n return Promise.resolve(result);\n }).catch(function (err) {\n if (!options.error) {\n throw err;\n }\n\n options.error.call(_this, err);\n });\n }\n }]);\n return ImageCompressor;\n}();\n\nexport default ImageCompressor;\n","// 将base64转换为blob\r\nimport Compressor from 'image-compressor.js'\r\nexport async function compressImage(file) {\r\n if (!file) {\r\n return\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n new Compressor(file, {\r\n quality: 0.2,\r\n success(result) {\r\n result = new File([result], result.name, { type: result.type })\r\n resolve(result)\r\n },\r\n error(err) {\r\n console.log(err.message)\r\n reject(err.message)\r\n },\r\n })\r\n })\r\n}\r\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\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","function imgToCanvas(image) {\r\n let canvas = document.createElement('canvas')\r\n canvas.width = image.width\r\n canvas.height = image.height\r\n canvas.getContext('2d').drawImage(image, 0, 0)\r\n return canvas\r\n}\r\nfunction canvasToImg(canvas, type = 'jpg') {\r\n return new Promise((resolve) => {\r\n canvas.toBlob((image) => {\r\n resolve(image)\r\n }, `image/${type}`)\r\n })\r\n}\r\nfunction getImg(fn, file) {\r\n return new Promise((resolve) => {\r\n const imgFile = new FileReader()\r\n imgFile.readAsDataURL(file)\r\n imgFile.onload = function (e) {\r\n const image = new Image()\r\n image.src = e.target.result\r\n image.onload = async function () {\r\n resolve(await fn(image))\r\n }\r\n }\r\n })\r\n}\r\nasync function imgTypeChange(file) {\r\n return await getImg(async function (image) {\r\n let imgName = file.name.split('.')[0]\r\n const can = imgToCanvas(image)\r\n const blobImg = await canvasToImg(can, 'jpeg')\r\n return new Promise((resolve) => {\r\n resolve(new File([blobImg], `${imgName}.jpg`, { type: blobImg.type }))\r\n })\r\n }, file)\r\n}\r\nexport default imgTypeChange\r\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\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","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","module.exports = require('./lib/axios');","import axios from 'axios'\nimport {\n compressImage\n} from '../modules/CompressImage'\nimport imgTypeChange from '../modules/imgChange'\n// 访问线上api时axios发送跨域请求时需要设置这个参数\nconst config = {\n timeout: 60000,\n withCredentials: true,\n}\n//本地调试端口6281 发布6280\nconst baseURL = {\n development:'https://web.yuntixi.cn', //'http://1.14.169.193:6024', //http://1.14.169.193:6024 //http://1.14.169.193:92 \n production: 'https://web.yuntixi.cn', //http://101.33.249.65:88 //http://192.168.2.125:8520 //https://web.yuntixi.cn\n}\n\nif (process.env.NODE_ENV === 'development') {\n // 开发环境\n config.baseURL = baseURL.development\n} else if (process.env.NODE_ENV === 'production') {\n // 生产环境\n config.baseURL = baseURL.production\n}\nconst axiosInstance = axios.create(config)\n// params 拼接在url的查询字符串参数 \n// data body参数\nconst get = function (api, data) {\n return axiosInstance({\n method: 'GET',\n url: api,\n params: data,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n TenantId: JSON.parse(sessionStorage.getItem(\"tenantId\"))?JSON.parse(sessionStorage.getItem(\"tenantId\")):0\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\nconst deleteMethod = function (api, data) {\n return axiosInstance({\n method: 'DELETE',\n url: api,\n params: data,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n TenantId: JSON.parse(sessionStorage.getItem(\"tenantId\"))\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\n\nconst del = function (api, data) {\n return axiosInstance({\n method: 'DELETE',\n url: api,\n data: data,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n TenantId: JSON.parse(sessionStorage.getItem(\"tenantId\")),\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\n\nconst put = function (api, data) {\n return axiosInstance({\n method: 'PUT',\n url: api,\n data: data,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n TenantId: JSON.parse(sessionStorage.getItem(\"tenantId\"))\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\nconst getUserCode = function (api) {\n return axiosInstance({\n method: 'GET',\n url: api,\n responseType: 'blob',\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n },\n })\n}\nconst post = function (api, data) {\n return axiosInstance({\n method: 'POST',\n url: api,\n data: data,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n 'Content-Type': 'application/json',\n TenantId: JSON.parse(sessionStorage.getItem(\"tenantId\"))\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\nconst postImg = async function (api, data) {\n let file = await imgTypeChange(data)\n let newfile = await compressImage(file)\n if (newfile.size > 10000) {\n newfile = await compressImage(newfile)\n }\n var formData = new FormData()\n formData.append('file', newfile, newfile.name);\n return axiosInstance({\n method: 'POST',\n url: api,\n data: formData,\n headers: {\n Authorization:\n 'Bearer ' + JSON.parse(window.sessionStorage.getItem('token')),\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => response.data)\n .catch((error) => error)\n}\naxiosInstance.interceptors.request.use(\n (config) => {\n return config\n },\n (error) => {\n Promise.reject(error)\n }\n)\n\naxiosInstance.interceptors.response.use(\n (response) => {\n return response\n },\n (error) => {\n if (error.response.status == 404\n ) {\n window.location = '/#/404'\n return\n }\n if (error.response.status == 500\n ) {\n window.location = '/#/500'\n return\n }\n return Promise.reject(error.response)\n }\n)\n\nexport { get, post, getUserCode, deleteMethod, put, baseURL, postImg, del }\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n"],"sourceRoot":""}