qiniu.min.js.map 402 KB

1
  1. {"version":3,"sources":["webpack://qiniu/webpack/universalModuleDefinition","webpack://qiniu/webpack/bootstrap","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://qiniu/./node_modules/core-js/library/modules/_core.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js","webpack://qiniu/./node_modules/core-js/library/modules/_global.js","webpack://qiniu/./node_modules/core-js/library/modules/_export.js","webpack://qiniu/./node_modules/core-js/library/modules/_wks.js","webpack://qiniu/./node_modules/core-js/library/modules/_is-object.js","webpack://qiniu/./node_modules/core-js/library/modules/_descriptors.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/symbol.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-dp.js","webpack://qiniu/./node_modules/core-js/library/modules/_an-object.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/promise.js","webpack://qiniu/./node_modules/core-js/library/modules/_ctx.js","webpack://qiniu/./node_modules/core-js/library/modules/_hide.js","webpack://qiniu/./node_modules/core-js/library/modules/_has.js","webpack://qiniu/./node_modules/core-js/library/modules/_fails.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-iobject.js","webpack://qiniu/./lib/utils/index.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/assign.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/keys.js","webpack://qiniu/./node_modules/core-js/library/modules/_for-of.js","webpack://qiniu/./node_modules/core-js/library/modules/_a-function.js","webpack://qiniu/./lib/errors/index.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-keys.js","webpack://qiniu/./node_modules/core-js/library/modules/_cof.js","webpack://qiniu/./node_modules/core-js/library/modules/_library.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-object.js","webpack://qiniu/./node_modules/core-js/library/modules/_iterators.js","webpack://qiniu/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://qiniu/./node_modules/core-js/library/modules/_meta.js","webpack://qiniu/./node_modules/core-js/library/modules/_validate-collection.js","webpack://qiniu/./node_modules/core-js/library/modules/_property-desc.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/create.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-create.js","webpack://qiniu/./node_modules/core-js/library/modules/_uid.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-pie.js","webpack://qiniu/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://qiniu/./node_modules/core-js/library/modules/_an-instance.js","webpack://qiniu/./node_modules/core-js/library/modules/_redefine-all.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js","webpack://qiniu/./lib/api/index.js","webpack://qiniu/./node_modules/core-js/library/modules/_dom-create.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-primitive.js","webpack://qiniu/./node_modules/core-js/library/modules/_iobject.js","webpack://qiniu/./node_modules/core-js/library/modules/_defined.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-length.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-integer.js","webpack://qiniu/./node_modules/core-js/library/modules/_shared-key.js","webpack://qiniu/./node_modules/core-js/library/modules/_shared.js","webpack://qiniu/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-gopd.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://qiniu/./node_modules/core-js/library/modules/_iter-define.js","webpack://qiniu/./node_modules/core-js/library/modules/_redefine.js","webpack://qiniu/./node_modules/core-js/library/modules/_classof.js","webpack://qiniu/./node_modules/core-js/library/modules/_new-promise-capability.js","webpack://qiniu/./node_modules/core-js/library/modules/_wks-ext.js","webpack://qiniu/./node_modules/core-js/library/modules/_wks-define.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-gops.js","webpack://qiniu/./node_modules/core-js/library/modules/_is-array.js","webpack://qiniu/./lib/utils/helper.js","webpack://qiniu/./node_modules/core-js/library/modules/_array-methods.js","webpack://qiniu/./lib/upload/base.js","webpack://qiniu/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://qiniu/./node_modules/core-js/library/modules/_html.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-sap.js","webpack://qiniu/./node_modules/core-js/library/modules/_iter-step.js","webpack://qiniu/./node_modules/core-js/library/modules/_species-constructor.js","webpack://qiniu/./node_modules/core-js/library/modules/_task.js","webpack://qiniu/./node_modules/core-js/library/modules/_perform.js","webpack://qiniu/./node_modules/core-js/library/modules/_promise-resolve.js","webpack://qiniu/./node_modules/core-js/library/modules/_set-species.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/helpers/typeof.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.symbol.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-gopn.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-assign.js","webpack://qiniu/./lib/utils/base64.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/json/stringify.js","webpack://qiniu/./lib/config/index.js","webpack://qiniu/./lib/upload/index.js","webpack://qiniu/./node_modules/core-js/library/modules/_collection.js","webpack://qiniu/./node_modules/core-js/library/modules/_set-collection-of.js","webpack://qiniu/./node_modules/core-js/library/modules/_set-collection-from.js","webpack://qiniu/./lib/index.js","webpack://qiniu/./node_modules/core-js/library/fn/object/define-property.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://qiniu/./node_modules/core-js/library/fn/object/create.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.create.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-dps.js","webpack://qiniu/./node_modules/core-js/library/modules/_array-includes.js","webpack://qiniu/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://qiniu/./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack://qiniu/./node_modules/core-js/library/modules/_set-proto.js","webpack://qiniu/./lib/image/index.js","webpack://qiniu/./node_modules/core-js/library/fn/object/keys.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.keys.js","webpack://qiniu/./lib/utils/pool.js","webpack://qiniu/./node_modules/core-js/library/fn/promise.js","webpack://qiniu/./node_modules/core-js/library/modules/_string-at.js","webpack://qiniu/./node_modules/core-js/library/modules/_iter-create.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-gpo.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://qiniu/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.promise.js","webpack://qiniu/./node_modules/core-js/library/modules/_iter-call.js","webpack://qiniu/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://qiniu/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://qiniu/./node_modules/core-js/library/modules/_invoke.js","webpack://qiniu/./node_modules/core-js/library/modules/_microtask.js","webpack://qiniu/./node_modules/core-js/library/modules/_user-agent.js","webpack://qiniu/./node_modules/core-js/library/modules/_iter-detect.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.promise.finally.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.promise.try.js","webpack://qiniu/./lib/utils/observable.js","webpack://qiniu/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://qiniu/./node_modules/core-js/library/fn/symbol/index.js","webpack://qiniu/./node_modules/core-js/library/modules/_enum-keys.js","webpack://qiniu/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://qiniu/./node_modules/core-js/library/fn/object/assign.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://qiniu/./node_modules/core-js/library/fn/json/stringify.js","webpack://qiniu/./node_modules/spark-md5/spark-md5.js","webpack://qiniu/./lib/utils/config.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","webpack://qiniu/./node_modules/core-js/library/fn/array/is-array.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.array.is-array.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","webpack://qiniu/./node_modules/core-js/library/fn/object/get-own-property-symbols.js","webpack://qiniu/./lib/config/region.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js","webpack://qiniu/./node_modules/core-js/library/fn/object/get-own-property-descriptor.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/weak-map.js","webpack://qiniu/./node_modules/core-js/library/fn/weak-map.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.weak-map.js","webpack://qiniu/./node_modules/core-js/library/modules/_array-species-create.js","webpack://qiniu/./node_modules/core-js/library/modules/_array-species-constructor.js","webpack://qiniu/./node_modules/core-js/library/modules/_collection-weak.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.weak-map.of.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.weak-map.from.js","webpack://qiniu/./lib/upload/resume.js","webpack://qiniu/./node_modules/querystring-es3/index.js","webpack://qiniu/./node_modules/querystring-es3/decode.js","webpack://qiniu/./node_modules/querystring-es3/encode.js","webpack://qiniu/./lib/upload/direct.js","webpack://qiniu/./lib/utils/crc32.js","webpack://qiniu/./lib/logger/index.js","webpack://qiniu/./lib/logger/report-v3.js","webpack://qiniu/./lib/upload/hosts.js","webpack://qiniu/./node_modules/@babel/runtime-corejs2/core-js/map.js","webpack://qiniu/./node_modules/core-js/library/fn/map.js","webpack://qiniu/./node_modules/core-js/library/modules/es6.map.js","webpack://qiniu/./node_modules/core-js/library/modules/_collection-strong.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.map.to-json.js","webpack://qiniu/./node_modules/core-js/library/modules/_collection-to-json.js","webpack://qiniu/./node_modules/core-js/library/modules/_array-from-iterable.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.map.of.js","webpack://qiniu/./node_modules/core-js/library/modules/es7.map.from.js","webpack://qiniu/./lib/utils/compress.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","core","version","__e","obj","global","Math","self","Function","__g","ctx","hide","has","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","undefined","C","a","b","this","arguments","length","apply","virtual","R","U","store","uid","USE_SYMBOL","it","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","e","TypeError","isObject","aFunction","fn","that","createDesc","exec","IObject","defined","_interopRequireDefault","_Object$keys","_Object$defineProperty","_exportNames","compressImage","_compress","_pool","forEach","_observable","_base","_helper","_config","isArrayIter","toLength","getIterFn","BREAK","RETURN","iterable","entries","ITERATOR","step","iterator","result","iterFn","index","next","done","QiniuNetworkError","QiniuRequestError","QiniuError","QiniuErrorName","_extendStatics","_create","_setPrototypeOf","__extends","__proto__","Array","__","constructor","message","stack","Error","_super","code","reqId","data","_this","RequestError","isRequestError","$keys","enumBugKeys","keys","toString","slice","def","TAG","tag","stat","configurable","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","KEY","NEED","fastKey","getWeak","onFreeze","TYPE","_t","bitmap","writable","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","document","open","write","lt","close","Properties","px","random","concat","propertyIsEnumerable","Iterators","TO_STRING_TAG","DOMIterables","split","NAME","Collection","proto","Constructor","forbiddenField","safe","_Object$getOwnPropertyDescriptor","_typeof","_WeakMap","_getRequireWildcardCache","cache","newObj","hasPropertyDescriptor","desc","set","_interopRequireWildcard","getUpHosts","initUploadParts","token","bucket","uploadUrl","url","utils","urlSafeBase64Encode","request","method","headers","getAuthHeaders","uploadChunk","uploadInfo","options","getBaseUrl","getPutPolicy","bucketName","getHeadersForChunkUpload","md5","__assign","uploadComplete","getHeadersForMkFile","deleteUploadedChunks","uploadinfo","direct","body","getUploadUrl","__awaiter","config","protocol","putPolicy","res","hosts","__generator","_a","label","normalizeUploadConfig","upprotocol","uphost","assessKey","sent","up","acc","main","_iterator","_symbol","_promise","_assign","_querystring","thisArg","_arguments","generator","resolve","reject","fulfilled","rejected","then","y","g","_","trys","ops","verb","v","op","pop","push","accessKey","params","stringify","ak","is","createElement","val","valueOf","cof","toInteger","min","ceil","floor","isNaN","shared","SHARED","copyright","pIE","toIObject","gOPD","getOwnPropertyDescriptor","$at","String","iterated","_i","point","LIBRARY","redefine","$iterCreate","setToStringTag","getPrototypeOf","BUGGY","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","ARG","T","tryGet","callee","PromiseCapability","promise","$$resolve","$$reject","wksExt","$Symbol","charAt","getOwnPropertySymbols","isArray","arg","getChunks","file","blockSize","chunkByteSize","MB","size","chunks","count","chunk","isMetaDataValid","_keys","every","indexOf","isCustomVarsValid","sum","list","reduce","loaded","setLocalFileInfo","localKey","info","logger","localStorage","setItem","_stringify","err","warn","_errors","WriteCacheFailed","createLocalKey","removeLocalFileInfo","getLocalFileInfo","localInfoString","getItem","ReadCacheFailed","localInfo","JSON","parse","_b","InvalidCacheData","header","createXHR","computeMd5","buffer","spark","readAsArrayBuffer","_sparkMd","ArrayBuffer","append","end","xhr","onCreate","headers_1","k","setRequestHeader","upload","addEventListener","evt","lengthComputable","onProgress","total","onreadystatechange","responseText","readyState","getResponseHeader","status","send","getPortFromUrl","match","groups","getDomainFromUrl","InvalidToken","segments","urlSafeBase64Decode","error","scope","createObjectURL","URL","webkitURL","mozURL","pow","removeItem","RemoveCacheFailed","Authorization","XMLHttpRequest","ActiveXObject","NotAvailableXMLHttpRequest","reader","FileReader","onload","InvalidProgressEventTarget","onerror","FileReaderReadFailed","toObject","asc","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","RETRY_CODE_LIST","FREEZE_CODE_LIST","DEFAULT_CHUNK_SIZE","__read","ar","__spread","GB","_default","handlers","hostPool","aborted","retryCount","xhrList","putExtra","fname","onData","onError","onComplete","checkAndUpdateUploadHost","newHost","getUp","NotAvailableUploadHost","uploadHost","host","checkAndUnfreezeHost","isFrozen","unfreeze","checkAndFreezeHost","includes","freeze","handleError","putFile","err_1","notReachRetryCount","InvalidFile","customVars","InvalidCustomVars","metadata","InvalidMetadata","uploadAt","Date","getTime","run","sendLog","clear","abort","stop","addXhr","report","remoteIp","upType","time","port","getUrl","bytesSent","progress","duration","getProgressInfoItem","fromCache","percent","arrayIndexOf","names","documentElement","fails","exp","SPECIES","D","defer","channel","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","importScripts","removeChild","setTimeout","newPromiseCapability","x","promiseCapability","DESCRIPTORS","_Symbol$iterator","_Symbol","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","_k","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","j","wellKnownSymbols","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyNames","FAILS_ON_PRIMITIVES","replacer","$replacer","hiddenKeys","getKeys","gOPS","$assign","assign","A","K","join","aLen","getSymbols","o1","o2","o3","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","argString","start","string","utftext","stringl","c1","charCodeAt","fromCharCode","RangeError","c2","utf8Encode","base64Encode","replace","strData","tmpArr","seqlen","ai","utf8Decode","base64Decode","_region","createUploadManager","_logger","disableStatisticsReport","debugLogLevel","_utils","_hosts","HostPool","Observable","observer","manager","complete","_resume","_direct","forceDirect","redefineAll","forOf","anInstance","each","wrapper","common","IS_WEAK","ADDER","_c","IS_ADDER","getConstructor","setStrong","COLLECTION","of","from","mapping","cb","mapFn","nextItem","_image","imageMogr2","watermark","imageInfo","exif","pipeline","_api","_upload","region","$Object","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","max","setPrototypeOf","check","test","buggy","imageView2","domain","getImageUrl","arr","option","errOp","imageUrl","len","fop","length_1","encodeURIComponent","h","q","format","autoOrient","thumbnail","strip","gravity","crop","quality","rotate","blur","image","text","font","fontsize","fill","dissolve","dx","dy","Pool","runTask","limit","processing","enqueue","task","item","filter","processingNum","availableNum","Promise","TO_STRING","pos","descriptor","addToUnscopables","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","classof","speciesConstructor","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","chain","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","enter","exit","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","onrejectionhandled","$reject","_d","_w","$resolve","executor","onFulfilled","onRejected","capability","iter","all","remaining","$index","alreadyCalled","race","ret","ArrayProto","getIteratorMethod","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","toggle","node","createTextNode","observe","characterData","SAFE_CLOSING","riter","skipClosing","onFinally","isFunction","Subscriber","_typeof2","observerOrNext","isStopped","destination","unsubscribe","closed","Subscription","_unsubscribe","add","teardown","_subscribe","subscribe","sink","symbols","windowNames","getWindowNames","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","tmp","lo","hi","state","substring","parseInt","md51_array","subarray","Uint8Array","rhex","hex","toUtf8","str","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","first","second","byteLength","hexToBinaryString","bytes","substr","SparkMD5","reset","clamp","to","num","targetArray","sourceArray","begin","appendBinary","contents","_buff","_length","_hash","raw","_finish","getState","hash","setState","destroy","hashBinary","content","otherConfig","__rest","normalizeConfig","checkByMD5","useCdnDomain","checkByServer","concurrentRequestLimit","chunkSize","hostList","_isArray","hostMap","regionUphostMap","cdnUphost","srcUphost","Boolean","_getOwnPropertySymbols","z0","z1","z2","na0","as0","cnEast2","WeakMap","InternalMap","weak","validate","NATIVE_WEAK_MAP","IS_IE11","WEAK_MAP","uncaughtFrozenStore","ufstore","$WeakMap","_f","original","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","splice","Resume","pool","mkFileResponse","uploadChunks","error_1","InvalidChunkSize","initBeforeUploadChunks","chunkInfo","getLocalKey","map","mkFileReq","cachedInfo","shouldCheckMD5","reuseSaved","requestOptions","response","cachedUploadedList","usedCacheList","updateChunkProgress","uploadedList","updateLocalCache","getUploadInfo","etag","parts","partNumber","mimeType","updateMkFileProgress","infoMessage","uploadId","mkFileProgress","notifyResumeProgress","decode","encode","prop","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","decodeURIComponent","xs","stringifyPrimitive","isFinite","objectKeys","ks","_crc","Direct","formData","crcSign","customVars_1","FormData","CRC32","updateDirectProgress","finishDirectProgress","crc","table","makeTable","offset","compute","readAsUint8Array","arrayBuffer","chuck","_reportV","Logger","disableReport","level","prefix","getPrintPrefix","retry","reportV3","allowLevel","log","stringifyData","Host","_map","unfreezeTimeMap","currentTime","unfreezeTime","getUnfreezeTime","initHosts","cachedHostsMap","register","refresh","stashHosts","_e","backup","cachedHostList","availableHostList","sort","hostA","hostB","Map","strong","MAP","getEntry","$iterDefine","setSpecies","SIZE","prev","toJSON","mimeTypes","PNG","JPEG","WEBP","BMP","scaleFactor","supportMimeTypes","defaultType","Compress","noCompressIfLarger","srcDimension","originImage","canvas","scale","scaleCanvas","distBlob","outputType","UnsupportedFileType","getOriginImage","getCanvas","maxWidth","width","maxHeight","height","doScale","toBlob","dist","fillStyle","fillRect","clearRect","img","Image","context","getContext","drawImage","GetCanvasContextFailed","sctx","steps","factor","mirror","mctx","originWidth","originHeight","dw","dh","getImageData","putImageData","dataURL","toDataURL","atob","_char","Blob"],"mappings":"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","file":"qiniu.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"qiniu\"] = factory();\n\telse\n\t\troot[\"qiniu\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 87);\n","module.exports = require(\"core-js/library/fn/object/define-property\");","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = require(\"core-js/library/fn/symbol/iterator\");","module.exports = require(\"core-js/library/fn/symbol\");","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = require(\"core-js/library/fn/promise\");","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$keys = require(\"@babel/runtime-corejs2/core-js/object/keys\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _exportNames = {\n compressImage: true\n};\n\n_Object$defineProperty(exports, \"compressImage\", {\n enumerable: true,\n get: function get() {\n return _compress[\"default\"];\n }\n});\n\nvar _pool = require(\"./pool\");\n\n_Object$keys(_pool).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _pool[key];\n }\n });\n});\n\nvar _observable = require(\"./observable\");\n\n_Object$keys(_observable).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _observable[key];\n }\n });\n});\n\nvar _base = require(\"./base64\");\n\n_Object$keys(_base).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _base[key];\n }\n });\n});\n\nvar _helper = require(\"./helper\");\n\n_Object$keys(_helper).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _helper[key];\n }\n });\n});\n\nvar _config = require(\"./config\");\n\n_Object$keys(_config).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _config[key];\n }\n });\n});\n\nvar _compress = _interopRequireDefault(require(\"./compress\"));","module.exports = require(\"core-js/library/fn/object/assign\");","module.exports = require(\"core-js/library/fn/object/keys\");","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.QiniuNetworkError = exports.QiniuRequestError = exports.QiniuError = exports.QiniuErrorName = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/create\"));\n\nvar _setPrototypeOf = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\"));\n\nvar __extends = void 0 && (void 0).__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = _setPrototypeOf[\"default\"] || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? (0, _create[\"default\"])(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar QiniuErrorName;\nexports.QiniuErrorName = QiniuErrorName;\n\n(function (QiniuErrorName) {\n // 输入错误\n QiniuErrorName[\"InvalidFile\"] = \"InvalidFile\";\n QiniuErrorName[\"InvalidToken\"] = \"InvalidToken\";\n QiniuErrorName[\"InvalidMetadata\"] = \"InvalidMetadata\";\n QiniuErrorName[\"InvalidChunkSize\"] = \"InvalidChunkSize\";\n QiniuErrorName[\"InvalidCustomVars\"] = \"InvalidCustomVars\";\n QiniuErrorName[\"NotAvailableUploadHost\"] = \"NotAvailableUploadHost\"; // 缓存相关\n\n QiniuErrorName[\"ReadCacheFailed\"] = \"ReadCacheFailed\";\n QiniuErrorName[\"InvalidCacheData\"] = \"InvalidCacheData\";\n QiniuErrorName[\"WriteCacheFailed\"] = \"WriteCacheFailed\";\n QiniuErrorName[\"RemoveCacheFailed\"] = \"RemoveCacheFailed\"; // 图片压缩模块相关\n\n QiniuErrorName[\"GetCanvasContextFailed\"] = \"GetCanvasContextFailed\";\n QiniuErrorName[\"UnsupportedFileType\"] = \"UnsupportedFileType\"; // 运行环境相关\n\n QiniuErrorName[\"FileReaderReadFailed\"] = \"FileReaderReadFailed\";\n QiniuErrorName[\"NotAvailableXMLHttpRequest\"] = \"NotAvailableXMLHttpRequest\";\n QiniuErrorName[\"InvalidProgressEventTarget\"] = \"InvalidProgressEventTarget\"; // 请求错误\n\n QiniuErrorName[\"RequestError\"] = \"RequestError\";\n})(QiniuErrorName || (exports.QiniuErrorName = QiniuErrorName = {}));\n\nvar QiniuError =\n/** @class */\nfunction () {\n function QiniuError(name, message) {\n this.name = name;\n this.message = message;\n this.stack = new Error().stack;\n }\n\n return QiniuError;\n}();\n\nexports.QiniuError = QiniuError;\n\nvar QiniuRequestError =\n/** @class */\nfunction (_super) {\n __extends(QiniuRequestError, _super);\n\n function QiniuRequestError(code, reqId, message, data) {\n var _this = _super.call(this, QiniuErrorName.RequestError, message) || this;\n\n _this.code = code;\n _this.reqId = reqId;\n /**\n * @description 标记当前的 error 类型是一个 QiniuRequestError\n * @deprecated 下一个大版本将会移除,不推荐使用,推荐直接使用 instanceof 进行判断\n */\n\n _this.isRequestError = true;\n _this.data = data;\n return _this;\n }\n\n return QiniuRequestError;\n}(QiniuError);\n\nexports.QiniuRequestError = QiniuRequestError;\n\n/**\n * @description 由于跨域、证书错误、断网、host 解析失败、系统拦截等原因导致的错误\n */\nvar QiniuNetworkError =\n/** @class */\nfunction (_super) {\n __extends(QiniuNetworkError, _super);\n\n function QiniuNetworkError(message, reqId) {\n if (reqId === void 0) {\n reqId = '';\n }\n\n return _super.call(this, 0, reqId, message) || this;\n }\n\n return QiniuNetworkError;\n}(QiniuRequestError);\n\nexports.QiniuNetworkError = QiniuNetworkError;","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = true;\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = {};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require(\"core-js/library/fn/object/create\");","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = require(\"core-js/library/fn/object/set-prototype-of\");","exports.f = {}.propertyIsEnumerable;\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","var _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs2/core-js/object/get-own-property-descriptor\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\nvar _typeof = require(\"@babel/runtime-corejs2/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs2/core-js/weak-map\");\n\nfunction _getRequireWildcardCache() {\n if (typeof _WeakMap !== \"function\") return null;\n var cache = new _WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n _Object$defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.getUpHosts = getUpHosts;\nexports.initUploadParts = initUploadParts;\nexports.uploadChunk = uploadChunk;\nexports.uploadComplete = uploadComplete;\nexports.deleteUploadedChunks = deleteUploadedChunks;\nexports.direct = direct;\nexports.getUploadUrl = getUploadUrl;\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _querystring = require(\"querystring\");\n\nvar utils = _interopRequireWildcard(require(\"../utils\"));\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nfunction getUpHosts(accessKey, bucketName, protocol) {\n return __awaiter(this, void 0, void 0, function () {\n var params, url;\n return __generator(this, function (_a) {\n params = (0, _querystring.stringify)({\n ak: accessKey,\n bucket: bucketName\n });\n url = protocol + \"://api.qiniu.com/v2/query?\" + params;\n return [2\n /*return*/\n , utils.request(url, {\n method: 'GET'\n })];\n });\n });\n}\n/**\n * @param bucket 空间名\n * @param key 目标文件名\n * @param uploadInfo 上传信息\n */\n\n\nfunction getBaseUrl(bucket, key, uploadInfo) {\n var url = uploadInfo.url,\n id = uploadInfo.id;\n return url + \"/buckets/\" + bucket + \"/objects/\" + (key != null ? utils.urlSafeBase64Encode(key) : '~') + \"/uploads/\" + id;\n}\n/**\n * @param token 上传鉴权凭证\n * @param bucket 上传空间\n * @param key 目标文件名\n * @param uploadUrl 上传地址\n */\n\n\nfunction initUploadParts(token, bucket, key, uploadUrl) {\n var url = uploadUrl + \"/buckets/\" + bucket + \"/objects/\" + (key != null ? utils.urlSafeBase64Encode(key) : '~') + \"/uploads\";\n return utils.request(url, {\n method: 'POST',\n headers: utils.getAuthHeaders(token)\n });\n}\n/**\n * @param token 上传鉴权凭证\n * @param index 当前 chunk 的索引\n * @param uploadInfo 上传信息\n * @param options 请求参数\n */\n\n\nfunction uploadChunk(token, key, index, uploadInfo, options) {\n var bucket = utils.getPutPolicy(token).bucketName;\n var url = getBaseUrl(bucket, key, uploadInfo) + (\"/\" + index);\n var headers = utils.getHeadersForChunkUpload(token);\n if (options.md5) headers['Content-MD5'] = options.md5;\n return utils.request(url, __assign(__assign({}, options), {\n method: 'PUT',\n headers: headers\n }));\n}\n/**\n * @param token 上传鉴权凭证\n * @param key 目标文件名\n * @param uploadInfo 上传信息\n * @param options 请求参数\n */\n\n\nfunction uploadComplete(token, key, uploadInfo, options) {\n var bucket = utils.getPutPolicy(token).bucketName;\n var url = getBaseUrl(bucket, key, uploadInfo);\n return utils.request(url, __assign(__assign({}, options), {\n method: 'POST',\n headers: utils.getHeadersForMkFile(token)\n }));\n}\n/**\n * @param token 上传鉴权凭证\n * @param key 目标文件名\n * @param uploadInfo 上传信息\n */\n\n\nfunction deleteUploadedChunks(token, key, uploadinfo) {\n var bucket = utils.getPutPolicy(token).bucketName;\n var url = getBaseUrl(bucket, key, uploadinfo);\n return utils.request(url, {\n method: 'DELETE',\n headers: utils.getAuthHeaders(token)\n });\n}\n/**\n * @param {string} url\n * @param {FormData} data\n * @param {Partial<utils.RequestOptions>} options\n * @returns Promise\n * @description 直传接口\n */\n\n\nfunction direct(url, data, options) {\n return utils.request(url, __assign({\n method: 'POST',\n body: data\n }, options));\n}\n/**\n * @param {UploadUrlConfig} config\n * @param {string} token\n * @returns Promise\n * @description 获取上传 url\n */\n\n\nfunction getUploadUrl(_config, token) {\n return __awaiter(this, void 0, void 0, function () {\n var config, protocol, putPolicy, res, hosts;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n config = (0, utils.normalizeUploadConfig)(_config);\n protocol = config.upprotocol;\n\n if (config.uphost.length > 0) {\n return [2\n /*return*/\n , protocol + \"://\" + config.uphost[0]];\n }\n\n putPolicy = utils.getPutPolicy(token);\n return [4\n /*yield*/\n , getUpHosts(putPolicy.assessKey, putPolicy.bucketName, protocol)];\n\n case 1:\n res = _a.sent();\n hosts = res.data.up.acc.main;\n return [2\n /*return*/\n , protocol + \"://\" + hosts[0]];\n }\n });\n });\n}","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = require('./_hide');\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.getChunks = getChunks;\nexports.isMetaDataValid = isMetaDataValid;\nexports.isCustomVarsValid = isCustomVarsValid;\nexports.sum = sum;\nexports.setLocalFileInfo = setLocalFileInfo;\nexports.createLocalKey = createLocalKey;\nexports.removeLocalFileInfo = removeLocalFileInfo;\nexports.getLocalFileInfo = getLocalFileInfo;\nexports.getAuthHeaders = getAuthHeaders;\nexports.getHeadersForChunkUpload = getHeadersForChunkUpload;\nexports.getHeadersForMkFile = getHeadersForMkFile;\nexports.createXHR = createXHR;\nexports.computeMd5 = computeMd5;\nexports.readAsArrayBuffer = readAsArrayBuffer;\nexports.request = request;\nexports.getPortFromUrl = getPortFromUrl;\nexports.getDomainFromUrl = getDomainFromUrl;\nexports.getPutPolicy = getPutPolicy;\nexports.createObjectURL = createObjectURL;\nexports.MB = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/json/stringify\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/keys\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _sparkMd = _interopRequireDefault(require(\"spark-md5\"));\n\nvar _errors = require(\"../errors\");\n\nvar _base = require(\"./base64\");\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar MB = Math.pow(1024, 2); // 文件分块\n\nexports.MB = MB;\n\nfunction getChunks(file, blockSize) {\n var chunkByteSize = blockSize * MB; // 转换为字节\n // 如果 chunkByteSize 比文件大,则直接取文件的大小\n\n if (chunkByteSize > file.size) {\n chunkByteSize = file.size;\n } else {\n // 因为最多 10000 chunk,所以如果 chunkSize 不符合则把每片 chunk 大小扩大两倍\n while (file.size > chunkByteSize * 10000) {\n chunkByteSize *= 2;\n }\n }\n\n var chunks = [];\n var count = Math.ceil(file.size / chunkByteSize);\n\n for (var i = 0; i < count; i++) {\n var chunk = file.slice(chunkByteSize * i, i === count - 1 ? file.size : chunkByteSize * (i + 1));\n chunks.push(chunk);\n }\n\n return chunks;\n}\n\nfunction isMetaDataValid(params) {\n return (0, _keys[\"default\"])(params).every(function (key) {\n return key.indexOf('x-qn-meta-') === 0;\n });\n}\n\nfunction isCustomVarsValid(params) {\n return (0, _keys[\"default\"])(params).every(function (key) {\n return key.indexOf('x:') === 0;\n });\n}\n\nfunction sum(list) {\n return list.reduce(function (data, loaded) {\n return data + loaded;\n }, 0);\n}\n\nfunction setLocalFileInfo(localKey, info, logger) {\n try {\n localStorage.setItem(localKey, (0, _stringify[\"default\"])(info));\n } catch (err) {\n logger.warn(new _errors.QiniuError(_errors.QiniuErrorName.WriteCacheFailed, \"setLocalFileInfo failed: \" + localKey));\n }\n}\n\nfunction createLocalKey(name, key, size) {\n var localKey = key == null ? '_' : \"_key_\" + key + \"_\";\n return \"qiniu_js_sdk_upload_file_name_\" + name + localKey + \"size_\" + size;\n}\n\nfunction removeLocalFileInfo(localKey, logger) {\n try {\n localStorage.removeItem(localKey);\n } catch (err) {\n logger.warn(new _errors.QiniuError(_errors.QiniuErrorName.RemoveCacheFailed, \"removeLocalFileInfo failed. key: \" + localKey));\n }\n}\n\nfunction getLocalFileInfo(localKey, logger) {\n var localInfoString = null;\n\n try {\n localInfoString = localStorage.getItem(localKey);\n } catch (_a) {\n logger.warn(new _errors.QiniuError(_errors.QiniuErrorName.ReadCacheFailed, \"getLocalFileInfo failed. key: \" + localKey));\n }\n\n if (localInfoString == null) {\n return null;\n }\n\n var localInfo = null;\n\n try {\n localInfo = JSON.parse(localInfoString);\n } catch (_b) {\n // 本地信息已被破坏,直接删除\n removeLocalFileInfo(localKey, logger);\n logger.warn(new _errors.QiniuError(_errors.QiniuErrorName.InvalidCacheData, \"getLocalFileInfo failed to parse. key: \" + localKey));\n }\n\n return localInfo;\n}\n\nfunction getAuthHeaders(token) {\n var auth = 'UpToken ' + token;\n return {\n Authorization: auth\n };\n}\n\nfunction getHeadersForChunkUpload(token) {\n var header = getAuthHeaders(token);\n return __assign({\n 'content-type': 'application/octet-stream'\n }, header);\n}\n\nfunction getHeadersForMkFile(token) {\n var header = getAuthHeaders(token);\n return __assign({\n 'content-type': 'application/json'\n }, header);\n}\n\nfunction createXHR() {\n if (window.XMLHttpRequest) {\n return new XMLHttpRequest();\n }\n\n if (window.ActiveXObject) {\n return new window.ActiveXObject('Microsoft.XMLHTTP');\n }\n\n throw new _errors.QiniuError(_errors.QiniuErrorName.NotAvailableXMLHttpRequest, 'the current environment does not support.');\n}\n\nfunction computeMd5(data) {\n return __awaiter(this, void 0, void 0, function () {\n var buffer, spark;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4\n /*yield*/\n , readAsArrayBuffer(data)];\n\n case 1:\n buffer = _a.sent();\n spark = new _sparkMd[\"default\"].ArrayBuffer();\n spark.append(buffer);\n return [2\n /*return*/\n , spark.end()];\n }\n });\n });\n}\n\nfunction readAsArrayBuffer(data) {\n return new _promise[\"default\"](function (resolve, reject) {\n var reader = new FileReader(); // evt 类型目前存在问题 https://github.com/Microsoft/TypeScript/issues/4163\n\n reader.onload = function (evt) {\n if (evt.target) {\n var body = evt.target.result;\n resolve(body);\n } else {\n reject(new _errors.QiniuError(_errors.QiniuErrorName.InvalidProgressEventTarget, 'progress event target is undefined'));\n }\n };\n\n reader.onerror = function () {\n reject(new _errors.QiniuError(_errors.QiniuErrorName.FileReaderReadFailed, 'fileReader read failed'));\n };\n\n reader.readAsArrayBuffer(data);\n });\n}\n\nfunction request(url, options) {\n return new _promise[\"default\"](function (resolve, reject) {\n var xhr = createXHR();\n xhr.open(options.method, url);\n\n if (options.onCreate) {\n options.onCreate(xhr);\n }\n\n if (options.headers) {\n var headers_1 = options.headers;\n (0, _keys[\"default\"])(headers_1).forEach(function (k) {\n xhr.setRequestHeader(k, headers_1[k]);\n });\n }\n\n xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable && options.onProgress) {\n options.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n });\n\n xhr.onreadystatechange = function () {\n var responseText = xhr.responseText;\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n var reqId = xhr.getResponseHeader('x-reqId') || '';\n\n if (xhr.status === 0) {\n // 发生 0 基本都是网络错误,常见的比如跨域、断网、host 解析失败、系统拦截等等\n reject(new _errors.QiniuNetworkError('network error.', reqId));\n return;\n }\n\n if (xhr.status !== 200) {\n var message = \"xhr request failed, code: \" + xhr.status;\n\n if (responseText) {\n message += \" response: \" + responseText;\n }\n\n var data = void 0;\n\n try {\n data = JSON.parse(responseText);\n } catch (_a) {// 无需处理该错误、可能拿到非 json 格式的响应是预期的\n }\n\n reject(new _errors.QiniuRequestError(xhr.status, reqId, message, data));\n return;\n }\n\n try {\n resolve({\n data: JSON.parse(responseText),\n reqId: reqId\n });\n } catch (err) {\n reject(err);\n }\n };\n\n xhr.send(options.body);\n });\n}\n\nfunction getPortFromUrl(url) {\n if (url && url.match) {\n var groups = url.match(/(^https?)/);\n\n if (!groups) {\n return '';\n }\n\n var type = groups[1];\n groups = url.match(/^https?:\\/\\/([^:^/]*):(\\d*)/);\n\n if (groups) {\n return groups[2];\n }\n\n if (type === 'http') {\n return '80';\n }\n\n return '443';\n }\n\n return '';\n}\n\nfunction getDomainFromUrl(url) {\n if (url && url.match) {\n var groups = url.match(/^https?:\\/\\/([^:^/]*)/);\n return groups ? groups[1] : '';\n }\n\n return '';\n}\n\nfunction getPutPolicy(token) {\n if (!token) throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'invalid token.');\n var segments = token.split(':');\n if (segments.length === 1) throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'invalid token segments.'); // token 构造的差异参考:https://github.com/qbox/product/blob/master/kodo/auths/UpToken.md#admin-uptoken-authorization\n\n var assessKey = segments.length > 3 ? segments[1] : segments[0];\n if (!assessKey) throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'missing assess key field.');\n var putPolicy = null;\n\n try {\n putPolicy = JSON.parse((0, _base.urlSafeBase64Decode)(segments[segments.length - 1]));\n } catch (error) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'token parse failed.');\n }\n\n if (putPolicy == null) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'putPolicy is null.');\n }\n\n if (putPolicy.scope == null) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'scope field is null.');\n }\n\n var bucketName = putPolicy.scope.split(':')[0];\n\n if (!bucketName) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidToken, 'resolve bucketName failed.');\n }\n\n return {\n assessKey: assessKey,\n bucketName: bucketName,\n scope: putPolicy.scope\n };\n}\n\nfunction createObjectURL(file) {\n var URL = window.URL || window.webkitURL || window.mozURL; // FIXME: 需要 revokeObjectURL\n\n return URL.createObjectURL(file);\n}","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = exports.RETRY_CODE_LIST = exports.FREEZE_CODE_LIST = exports.DEFAULT_CHUNK_SIZE = void 0;\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _errors = require(\"../errors\");\n\nvar utils = _interopRequireWildcard(require(\"../utils\"));\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __read = void 0 && (void 0).__read || function (o, n) {\n var m = typeof _symbol[\"default\"] === \"function\" && o[_iterator[\"default\"]];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n};\n\nvar __spread = void 0 && (void 0).__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n};\n\nvar DEFAULT_CHUNK_SIZE = 4; // 单位 MB\n// code 信息地址 https://developer.qiniu.com/kodo/3928/error-responses\n\nexports.DEFAULT_CHUNK_SIZE = DEFAULT_CHUNK_SIZE;\nvar FREEZE_CODE_LIST = [0, 502, 503, 504, 599]; // 将会冻结当前 host 的 code\n\nexports.FREEZE_CODE_LIST = FREEZE_CODE_LIST;\n\nvar RETRY_CODE_LIST = __spread(FREEZE_CODE_LIST, [612]); // 会进行重试的 code\n\n\nexports.RETRY_CODE_LIST = RETRY_CODE_LIST;\nvar GB = Math.pow(1024, 3);\n\nvar Base =\n/** @class */\nfunction () {\n function Base(options, handlers, hostPool, logger) {\n this.hostPool = hostPool;\n this.logger = logger;\n this.aborted = false;\n this.retryCount = 0;\n this.xhrList = [];\n this.config = options.config;\n logger.info('config inited.', this.config);\n this.putExtra = __assign({\n fname: ''\n }, options.putExtra);\n logger.info('putExtra inited.', this.putExtra);\n this.key = options.key;\n this.file = options.file;\n this.token = options.token;\n this.onData = handlers.onData;\n this.onError = handlers.onError;\n this.onComplete = handlers.onComplete;\n\n try {\n var putPolicy = utils.getPutPolicy(this.token);\n this.bucketName = putPolicy.bucketName;\n this.assessKey = putPolicy.assessKey;\n } catch (error) {\n logger.error('get putPolicy from token failed.', error);\n this.onError(error);\n }\n } // 检查并更新 upload host\n\n\n Base.prototype.checkAndUpdateUploadHost = function () {\n return __awaiter(this, void 0, void 0, function () {\n var newHost;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n // 从 hostPool 中获取一个可用的 host 挂载在 this\n this.logger.info('get available upload host.');\n return [4\n /*yield*/\n , this.hostPool.getUp(this.assessKey, this.bucketName, this.config.upprotocol)];\n\n case 1:\n newHost = _a.sent();\n\n if (newHost == null) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.NotAvailableUploadHost, 'no available upload host.');\n }\n\n if (this.uploadHost != null && this.uploadHost.host !== newHost.host) {\n this.logger.warn(\"host switches from \" + this.uploadHost.host + \" to \" + newHost.host + \".\");\n } else {\n this.logger.info(\"use host \" + newHost.host + \".\");\n }\n\n this.uploadHost = newHost;\n return [2\n /*return*/\n ];\n }\n });\n });\n }; // 检查并解冻当前的 host\n\n\n Base.prototype.checkAndUnfreezeHost = function () {\n this.logger.info('check unfreeze host.');\n\n if (this.uploadHost != null && this.uploadHost.isFrozen()) {\n this.logger.warn(this.uploadHost.host + \" will be unfrozen.\");\n this.uploadHost.unfreeze();\n }\n }; // 检查并更新冻结当前的 host\n\n\n Base.prototype.checkAndFreezeHost = function (error) {\n this.logger.info('check freeze host.');\n\n if (error instanceof _errors.QiniuRequestError && this.uploadHost != null) {\n if (FREEZE_CODE_LIST.includes(error.code)) {\n this.logger.warn(this.uploadHost.host + \" will be temporarily frozen.\");\n this.uploadHost.freeze();\n }\n }\n };\n\n Base.prototype.handleError = function (error) {\n this.logger.error(error.message);\n this.onError(error);\n };\n /**\n * @returns Promise 返回结果与上传最终状态无关,状态信息请通过 [Subscriber] 获取。\n * @description 上传文件,状态信息请通过 [Subscriber] 获取。\n */\n\n\n Base.prototype.putFile = function () {\n return __awaiter(this, void 0, void 0, function () {\n var result, err_1, notReachRetryCount, needRetry;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.aborted = false;\n\n if (!this.putExtra.fname) {\n this.logger.info('use file.name as fname.');\n this.putExtra.fname = this.file.name;\n }\n\n if (this.file.size > 10000 * GB) {\n this.handleError(new _errors.QiniuError(_errors.QiniuErrorName.InvalidFile, 'file size exceed maximum value 10000G'));\n return [2\n /*return*/\n ];\n }\n\n if (this.putExtra.customVars) {\n if (!utils.isCustomVarsValid(this.putExtra.customVars)) {\n this.handleError(new _errors.QiniuError(_errors.QiniuErrorName.InvalidCustomVars, // FIXME: width => with\n 'customVars key should start width x:'));\n return [2\n /*return*/\n ];\n }\n }\n\n if (this.putExtra.metadata) {\n if (!utils.isMetaDataValid(this.putExtra.metadata)) {\n this.handleError(new _errors.QiniuError(_errors.QiniuErrorName.InvalidMetadata, 'metadata key should start with x-qn-meta-'));\n return [2\n /*return*/\n ];\n }\n }\n\n _a.label = 1;\n\n case 1:\n _a.trys.push([1, 4,, 5]);\n\n this.uploadAt = new Date().getTime();\n return [4\n /*yield*/\n , this.checkAndUpdateUploadHost()];\n\n case 2:\n _a.sent();\n\n return [4\n /*yield*/\n , this.run()];\n\n case 3:\n result = _a.sent();\n this.onComplete(result.data);\n this.checkAndUnfreezeHost();\n this.sendLog(result.reqId, 200);\n return [2\n /*return*/\n ];\n\n case 4:\n err_1 = _a.sent();\n\n if (this.aborted) {\n this.logger.warn('upload is aborted.');\n this.sendLog('', -2);\n return [2\n /*return*/\n ];\n }\n\n this.clear();\n this.logger.error(err_1);\n\n if (err_1 instanceof _errors.QiniuRequestError) {\n this.sendLog(err_1.reqId, err_1.code); // 检查并冻结当前的 host\n\n this.checkAndFreezeHost(err_1);\n notReachRetryCount = ++this.retryCount <= this.config.retryCount;\n needRetry = RETRY_CODE_LIST.includes(err_1.code); // 以下条件满足其中之一则会进行重新上传:\n // 1. 满足 needRetry 的条件且 retryCount 不为 0\n // 2. uploadId 无效时在 resume 里会清除本地数据,并且这里触发重新上传\n\n if (needRetry && notReachRetryCount) {\n this.logger.warn(\"error auto retry: \" + this.retryCount + \"/\" + this.config.retryCount + \".\");\n this.putFile();\n return [2\n /*return*/\n ];\n }\n }\n\n this.onError(err_1);\n return [3\n /*break*/\n , 5];\n\n case 5:\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n Base.prototype.clear = function () {\n this.xhrList.forEach(function (xhr) {\n xhr.onreadystatechange = null;\n xhr.abort();\n });\n this.xhrList = [];\n this.logger.info('cleanup uploading xhr.');\n };\n\n Base.prototype.stop = function () {\n this.logger.info('aborted.');\n this.clear();\n this.aborted = true;\n };\n\n Base.prototype.addXhr = function (xhr) {\n this.xhrList.push(xhr);\n };\n\n Base.prototype.sendLog = function (reqId, code) {\n var _a, _b;\n\n this.logger.report({\n code: code,\n reqId: reqId,\n remoteIp: '',\n upType: 'jssdk-h5',\n size: this.file.size,\n time: Math.floor(this.uploadAt / 1000),\n port: utils.getPortFromUrl((_a = this.uploadHost) === null || _a === void 0 ? void 0 : _a.getUrl()),\n host: utils.getDomainFromUrl((_b = this.uploadHost) === null || _b === void 0 ? void 0 : _b.getUrl()),\n bytesSent: this.progress ? this.progress.total.loaded : 0,\n duration: Math.floor((new Date().getTime() - this.uploadAt) / 1000)\n });\n };\n\n Base.prototype.getProgressInfoItem = function (loaded, size, fromCache) {\n return __assign({\n size: size,\n loaded: loaded,\n percent: loaded / size * 100\n }, fromCache == null ? {} : {\n fromCache: fromCache\n });\n };\n\n return Base;\n}();\n\nvar _default = Base;\nexports[\"default\"] = _default;","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var _Symbol$iterator = require(\"@babel/runtime-corejs2/core-js/symbol/iterator\");\n\nvar _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.urlSafeBase64Encode = urlSafeBase64Encode;\nexports.urlSafeBase64Decode = urlSafeBase64Decode;\n\n/* eslint-disable */\n// https://github.com/locutusjs/locutus/blob/master/src/php/xml/utf8_encode.js\nfunction utf8Encode(argString) {\n // http://kevin.vanzonneveld.net\n // + original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: sowberry\n // + tweaked by: Jack\n // + bugfixed by: Onno Marsman\n // + improved by: Yves Sucaet\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Ulrich\n // + bugfixed by: Rafal Kukawski\n // + improved by: kirilloid\n // + bugfixed by: kirilloid\n // * example 1: this.utf8Encode('Kevin van Zonneveld')\n // * returns 1: 'Kevin van Zonneveld'\n if (argString === null || typeof argString === 'undefined') {\n return '';\n }\n\n var string = argString + ''; // .replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n')\n\n var utftext = '',\n start,\n end,\n stringl = 0;\n start = end = 0;\n stringl = string.length;\n\n for (var n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n);\n var enc = null;\n\n if (c1 < 128) {\n end++;\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode(c1 >> 6 | 192, c1 & 63 | 128);\n } else if ((c1 & 0xf800 ^ 0xd800) > 0) {\n enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);\n } else {\n // surrogate pairs\n if ((c1 & 0xfc00 ^ 0xd800) > 0) {\n throw new RangeError('Unmatched trail surrogate at ' + n);\n }\n\n var c2 = string.charCodeAt(++n);\n\n if ((c2 & 0xfc00 ^ 0xdc00) > 0) {\n throw new RangeError('Unmatched lead surrogate at ' + (n - 1));\n }\n\n c1 = ((c1 & 0x3ff) << 10) + (c2 & 0x3ff) + 0x10000;\n enc = String.fromCharCode(c1 >> 18 | 240, c1 >> 12 & 63 | 128, c1 >> 6 & 63 | 128, c1 & 63 | 128);\n }\n\n if (enc !== null) {\n if (end > start) {\n utftext += string.slice(start, end);\n }\n\n utftext += enc;\n start = end = n + 1;\n }\n }\n\n if (end > start) {\n utftext += string.slice(start, stringl);\n }\n\n return utftext;\n} // https://github.com/locutusjs/locutus/blob/master/src/php/xml/utf8_decode.js\n\n\nfunction utf8Decode(strData) {\n // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/utf8_decode/\n // original by: Webtoolkit.info (https://www.webtoolkit.info/)\n // input by: Aman Gupta\n // input by: Brett Zamir (https://brett-zamir.me)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Norman \"zEh\" Fuchs\n // bugfixed by: hitwork\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: kirilloid\n // bugfixed by: w35l3y (https://www.wesley.eti.br)\n // example 1: utf8_decode('Kevin van Zonneveld')\n // returns 1: 'Kevin van Zonneveld'\n var tmpArr = [];\n var i = 0;\n var c1 = 0;\n var seqlen = 0;\n strData += '';\n\n while (i < strData.length) {\n c1 = strData.charCodeAt(i) & 0xFF;\n seqlen = 0; // https://en.wikipedia.org/wiki/UTF-8#Codepage_layout\n\n if (c1 <= 0xBF) {\n c1 = c1 & 0x7F;\n seqlen = 1;\n } else if (c1 <= 0xDF) {\n c1 = c1 & 0x1F;\n seqlen = 2;\n } else if (c1 <= 0xEF) {\n c1 = c1 & 0x0F;\n seqlen = 3;\n } else {\n c1 = c1 & 0x07;\n seqlen = 4;\n }\n\n for (var ai = 1; ai < seqlen; ++ai) {\n c1 = c1 << 0x06 | strData.charCodeAt(ai + i) & 0x3F;\n }\n\n if (seqlen === 4) {\n c1 -= 0x10000;\n tmpArr.push(String.fromCharCode(0xD800 | c1 >> 10 & 0x3FF));\n tmpArr.push(String.fromCharCode(0xDC00 | c1 & 0x3FF));\n } else {\n tmpArr.push(String.fromCharCode(c1));\n }\n\n i += seqlen;\n }\n\n return tmpArr.join('');\n}\n\nfunction base64Encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // - depends on: this.utf8Encode\n // * example 1: this.base64Encode('Kevin van Zonneveld')\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n // if (typeof this.window['atob'] == 'function') {\n // return atob(data)\n // }\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n enc = '',\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data = utf8Encode(data + '');\n\n do {\n // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n bits = o1 << 16 | o2 << 8 | o3;\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f; // use hexets to index into b64, and append result to encoded string\n\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '==';\n break;\n\n case 2:\n enc = enc.slice(0, -1) + '=';\n break;\n }\n\n return enc;\n}\n\nfunction base64Decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==')\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n // if (typeof this.window['atob'] == 'function') {\n // return atob(data)\n // }\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n dec = '',\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do {\n // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 === 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 === 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n return utf8Decode(dec);\n}\n\nfunction urlSafeBase64Encode(v) {\n v = base64Encode(v); // 参考 https://tools.ietf.org/html/rfc4648#section-5\n\n return v.replace(/\\//g, '_').replace(/\\+/g, '-');\n}\n\nfunction urlSafeBase64Decode(v) {\n v = v.replace(/_/g, '/').replace(/-/g, '+');\n return base64Decode(v);\n}","module.exports = require(\"core-js/library/fn/json/stringify\");","\"use strict\";\n\nvar _Object$keys = require(\"@babel/runtime-corejs2/core-js/object/keys\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _region = require(\"./region\");\n\n_Object$keys(_region).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _region[key];\n }\n });\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\");\n\nvar _Object$keys = require(\"@babel/runtime-corejs2/core-js/object/keys\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _exportNames = {\n createUploadManager: true\n};\nexports.createUploadManager = createUploadManager;\nexports[\"default\"] = upload;\n\nvar _resume = _interopRequireWildcard(require(\"./resume\"));\n\n_Object$keys(_resume).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _resume[key];\n }\n });\n});\n\nvar _direct = _interopRequireDefault(require(\"./direct\"));\n\nvar _logger = _interopRequireDefault(require(\"../logger\"));\n\nvar _utils = require(\"../utils\");\n\nvar _hosts = require(\"./hosts\");\n\nvar _base = require(\"./base\");\n\n_Object$keys(_base).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n\n _Object$defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _base[key];\n }\n });\n});\n\nfunction createUploadManager(options, handlers, hostPool, logger) {\n if (options.config && options.config.forceDirect) {\n logger.info('ues forceDirect mode.');\n return new _direct[\"default\"](options, handlers, hostPool, logger);\n }\n\n if (options.file.size > 4 * _utils.MB) {\n logger.info('file size over 4M, use Resume.');\n return new _resume[\"default\"](options, handlers, hostPool, logger);\n }\n\n logger.info('file size less or equal than 4M, use Direct.');\n return new _direct[\"default\"](options, handlers, hostPool, logger);\n}\n/**\n * @param file 上传文件\n * @param key 目标文件名\n * @param token 上传凭证\n * @param putExtra 上传文件的相关资源信息配置\n * @param config 上传任务的配置\n * @returns 返回用于上传任务的可观察对象\n */\n\n\nfunction upload(file, key, token, putExtra, config) {\n // 为每个任务创建单独的 Logger\n var logger = new _logger[\"default\"](token, config === null || config === void 0 ? void 0 : config.disableStatisticsReport, config === null || config === void 0 ? void 0 : config.debugLogLevel, file.name);\n var options = {\n file: file,\n key: key,\n token: token,\n putExtra: putExtra,\n config: (0, _utils.normalizeUploadConfig)(config, logger)\n }; // 创建 host 池\n\n var hostPool = new _hosts.HostPool(options.config.uphost);\n return new _utils.Observable(function (observer) {\n var manager = createUploadManager(options, {\n onData: function onData(data) {\n return observer.next(data);\n },\n onError: function onError(err) {\n return observer.error(err);\n },\n onComplete: function onComplete(res) {\n return observer.complete(res);\n }\n }, hostPool, logger);\n manager.putFile();\n return manager.stop.bind(manager);\n });\n}","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n_Object$defineProperty(exports, \"QiniuErrorName\", {\n enumerable: true,\n get: function get() {\n return _errors.QiniuErrorName;\n }\n});\n\n_Object$defineProperty(exports, \"QiniuError\", {\n enumerable: true,\n get: function get() {\n return _errors.QiniuError;\n }\n});\n\n_Object$defineProperty(exports, \"QiniuRequestError\", {\n enumerable: true,\n get: function get() {\n return _errors.QiniuRequestError;\n }\n});\n\n_Object$defineProperty(exports, \"QiniuNetworkError\", {\n enumerable: true,\n get: function get() {\n return _errors.QiniuNetworkError;\n }\n});\n\n_Object$defineProperty(exports, \"imageMogr2\", {\n enumerable: true,\n get: function get() {\n return _image.imageMogr2;\n }\n});\n\n_Object$defineProperty(exports, \"watermark\", {\n enumerable: true,\n get: function get() {\n return _image.watermark;\n }\n});\n\n_Object$defineProperty(exports, \"imageInfo\", {\n enumerable: true,\n get: function get() {\n return _image.imageInfo;\n }\n});\n\n_Object$defineProperty(exports, \"exif\", {\n enumerable: true,\n get: function get() {\n return _image.exif;\n }\n});\n\n_Object$defineProperty(exports, \"pipeline\", {\n enumerable: true,\n get: function get() {\n return _image.pipeline;\n }\n});\n\n_Object$defineProperty(exports, \"deleteUploadedChunks\", {\n enumerable: true,\n get: function get() {\n return _api.deleteUploadedChunks;\n }\n});\n\n_Object$defineProperty(exports, \"getUploadUrl\", {\n enumerable: true,\n get: function get() {\n return _api.getUploadUrl;\n }\n});\n\n_Object$defineProperty(exports, \"upload\", {\n enumerable: true,\n get: function get() {\n return _upload[\"default\"];\n }\n});\n\n_Object$defineProperty(exports, \"region\", {\n enumerable: true,\n get: function get() {\n return _config.region;\n }\n});\n\n_Object$defineProperty(exports, \"compressImage\", {\n enumerable: true,\n get: function get() {\n return _utils.compressImage;\n }\n});\n\n_Object$defineProperty(exports, \"urlSafeBase64Encode\", {\n enumerable: true,\n get: function get() {\n return _utils.urlSafeBase64Encode;\n }\n});\n\n_Object$defineProperty(exports, \"urlSafeBase64Decode\", {\n enumerable: true,\n get: function get() {\n return _utils.urlSafeBase64Decode;\n }\n});\n\n_Object$defineProperty(exports, \"getHeadersForMkFile\", {\n enumerable: true,\n get: function get() {\n return _utils.getHeadersForMkFile;\n }\n});\n\n_Object$defineProperty(exports, \"getHeadersForChunkUpload\", {\n enumerable: true,\n get: function get() {\n return _utils.getHeadersForChunkUpload;\n }\n});\n\nvar _errors = require(\"./errors\");\n\nvar _image = require(\"./image\");\n\nvar _api = require(\"./api\");\n\nvar _upload = _interopRequireDefault(require(\"./upload\"));\n\nvar _config = require(\"./config\");\n\nvar _utils = require(\"./utils\");","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.imageView2 = imageView2;\nexports.imageMogr2 = imageMogr2;\nexports.watermark = watermark;\nexports.imageInfo = imageInfo;\nexports.exif = exif;\nexports.pipeline = pipeline;\n\nvar _utils = require(\"../utils\");\n\nfunction getImageUrl(key, domain) {\n key = encodeURIComponent(key);\n\n if (domain.slice(domain.length - 1) !== '/') {\n domain += '/';\n }\n\n return domain + key;\n}\n\nfunction imageView2(op, key, domain) {\n if (!/^\\d$/.test(String(op.mode))) {\n throw 'mode should be number in imageView2';\n }\n\n var mode = op.mode,\n w = op.w,\n h = op.h,\n q = op.q,\n format = op.format;\n\n if (!w && !h) {\n throw 'param w and h is empty in imageView2';\n }\n\n var imageUrl = 'imageView2/' + encodeURIComponent(mode);\n imageUrl += w ? '/w/' + encodeURIComponent(w) : '';\n imageUrl += h ? '/h/' + encodeURIComponent(h) : '';\n imageUrl += q ? '/q/' + encodeURIComponent(q) : '';\n imageUrl += format ? '/format/' + encodeURIComponent(format) : '';\n\n if (key && domain) {\n imageUrl = getImageUrl(key, domain) + '?' + imageUrl;\n }\n\n return imageUrl;\n} // invoke the imageMogr2 api of Qiniu\n\n\nfunction imageMogr2(op, key, domain) {\n var autoOrient = op['auto-orient'];\n var thumbnail = op.thumbnail,\n strip = op.strip,\n gravity = op.gravity,\n crop = op.crop,\n quality = op.quality,\n rotate = op.rotate,\n format = op.format,\n blur = op.blur;\n var imageUrl = 'imageMogr2';\n imageUrl += autoOrient ? '/auto-orient' : '';\n imageUrl += thumbnail ? '/thumbnail/' + encodeURIComponent(thumbnail) : '';\n imageUrl += strip ? '/strip' : '';\n imageUrl += gravity ? '/gravity/' + encodeURIComponent(gravity) : '';\n imageUrl += quality ? '/quality/' + encodeURIComponent(quality) : '';\n imageUrl += crop ? '/crop/' + encodeURIComponent(crop) : '';\n imageUrl += rotate ? '/rotate/' + encodeURIComponent(rotate) : '';\n imageUrl += format ? '/format/' + encodeURIComponent(format) : '';\n imageUrl += blur ? '/blur/' + encodeURIComponent(blur) : '';\n\n if (key && domain) {\n imageUrl = getImageUrl(key, domain) + '?' + imageUrl;\n }\n\n return imageUrl;\n} // invoke the watermark api of Qiniu\n\n\nfunction watermark(op, key, domain) {\n var mode = op.mode;\n\n if (!mode) {\n throw \"mode can't be empty in watermark\";\n }\n\n var imageUrl = 'watermark/' + mode;\n\n if (mode !== 1 && mode !== 2) {\n throw 'mode is wrong';\n }\n\n if (mode === 1) {\n var image = op.image;\n\n if (!image) {\n throw \"image can't be empty in watermark\";\n }\n\n imageUrl += image ? '/image/' + (0, _utils.urlSafeBase64Encode)(image) : '';\n }\n\n if (mode === 2) {\n var text = op.text,\n font = op.font,\n fontsize = op.fontsize,\n fill = op.fill;\n\n if (!text) {\n throw \"text can't be empty in watermark\";\n }\n\n imageUrl += text ? '/text/' + (0, _utils.urlSafeBase64Encode)(text) : '';\n imageUrl += font ? '/font/' + (0, _utils.urlSafeBase64Encode)(font) : '';\n imageUrl += fontsize ? '/fontsize/' + fontsize : '';\n imageUrl += fill ? '/fill/' + (0, _utils.urlSafeBase64Encode)(fill) : '';\n }\n\n var dissolve = op.dissolve,\n gravity = op.gravity,\n dx = op.dx,\n dy = op.dy;\n imageUrl += dissolve ? '/dissolve/' + encodeURIComponent(dissolve) : '';\n imageUrl += gravity ? '/gravity/' + encodeURIComponent(gravity) : '';\n imageUrl += dx ? '/dx/' + encodeURIComponent(dx) : '';\n imageUrl += dy ? '/dy/' + encodeURIComponent(dy) : '';\n\n if (key && domain) {\n imageUrl = getImageUrl(key, domain) + '?' + imageUrl;\n }\n\n return imageUrl;\n} // invoke the imageInfo api of Qiniu\n\n\nfunction imageInfo(key, domain) {\n var url = getImageUrl(key, domain) + '?imageInfo';\n return (0, _utils.request)(url, {\n method: 'GET'\n });\n} // invoke the exif api of Qiniu\n\n\nfunction exif(key, domain) {\n var url = getImageUrl(key, domain) + '?exif';\n return (0, _utils.request)(url, {\n method: 'GET'\n });\n}\n\nfunction pipeline(arr, key, domain) {\n var isArray = Object.prototype.toString.call(arr) === '[object Array]';\n var option;\n var errOp = false;\n var imageUrl = '';\n\n if (isArray) {\n for (var i = 0, len = arr.length; i < len; i++) {\n option = arr[i];\n\n if (!option.fop) {\n throw \"fop can't be empty in pipeline\";\n }\n\n switch (option.fop) {\n case 'watermark':\n imageUrl += watermark(option) + '|';\n break;\n\n case 'imageView2':\n imageUrl += imageView2(option) + '|';\n break;\n\n case 'imageMogr2':\n imageUrl += imageMogr2(option) + '|';\n break;\n\n default:\n errOp = true;\n break;\n }\n\n if (errOp) {\n throw 'fop is wrong in pipeline';\n }\n }\n\n if (key && domain) {\n imageUrl = getImageUrl(key, domain) + '?' + imageUrl;\n var length_1 = imageUrl.length;\n\n if (imageUrl.slice(length_1 - 1) === '|') {\n imageUrl = imageUrl.slice(0, length_1 - 1);\n }\n }\n\n return imageUrl;\n }\n\n throw \"pipeline's first param should be array\";\n}","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.Pool = void 0;\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar Pool =\n/** @class */\nfunction () {\n function Pool(runTask, limit) {\n this.runTask = runTask;\n this.limit = limit;\n this.aborted = false;\n this.queue = [];\n this.processing = [];\n }\n\n Pool.prototype.enqueue = function (task) {\n var _this = this;\n\n return new _promise[\"default\"](function (resolve, reject) {\n _this.queue.push({\n task: task,\n resolve: resolve,\n reject: reject\n });\n\n _this.check();\n });\n };\n\n Pool.prototype.run = function (item) {\n var _this = this;\n\n this.queue = this.queue.filter(function (v) {\n return v !== item;\n });\n this.processing.push(item);\n this.runTask(item.task).then(function () {\n _this.processing = _this.processing.filter(function (v) {\n return v !== item;\n });\n item.resolve();\n\n _this.check();\n }, function (err) {\n return item.reject(err);\n });\n };\n\n Pool.prototype.check = function () {\n var _this = this;\n\n if (this.aborted) return;\n var processingNum = this.processing.length;\n var availableNum = this.limit - processingNum;\n this.queue.slice(0, availableNum).forEach(function (item) {\n _this.run(item);\n });\n };\n\n Pool.prototype.abort = function () {\n this.queue = [];\n this.aborted = true;\n };\n\n return Pool;\n}();\n\nexports.Pool = Pool;","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.Observable = exports.Subscriber = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/typeof\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/create\"));\n\nvar _setPrototypeOf = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\"));\n\nvar __extends = void 0 && (void 0).__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = _setPrototypeOf[\"default\"] || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? (0, _create[\"default\"])(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n/** 表示可清理的资源,比如 Observable 的执行 */\n\n\nvar Subscription =\n/** @class */\nfunction () {\n function Subscription() {\n /** 用来标示该 Subscription 是否被取消订阅的标示位 */\n this.closed = false;\n }\n /** 取消 observer 的订阅 */\n\n\n Subscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n\n this.closed = true;\n\n if (this._unsubscribe) {\n this._unsubscribe();\n }\n };\n /** 添加一个 tear down 在该 Subscription 的 unsubscribe() 期间调用 */\n\n\n Subscription.prototype.add = function (teardown) {\n this._unsubscribe = teardown;\n };\n\n return Subscription;\n}();\n/**\n * 实现 Observer 接口并且继承 Subscription 类,Observer 是消费 Observable 值的公有 API\n * 所有 Observers 都转化成了 Subscriber,以便提供类似 Subscription 的能力,比如 unsubscribe\n*/\n\n\nvar Subscriber =\n/** @class */\nfunction (_super) {\n __extends(Subscriber, _super);\n\n function Subscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n\n _this.isStopped = false;\n\n if (observerOrNext && (0, _typeof2[\"default\"])(observerOrNext) === 'object') {\n _this.destination = observerOrNext;\n } else {\n _this.destination = __assign(__assign(__assign({}, observerOrNext && {\n next: observerOrNext\n }), error && {\n error: error\n }), complete && {\n complete: complete\n });\n }\n\n return _this;\n }\n\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n\n this.isStopped = true;\n\n _super.prototype.unsubscribe.call(this);\n };\n\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped && this.destination.next) {\n this.destination.next(value);\n }\n };\n\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped && this.destination.error) {\n this.isStopped = true;\n this.destination.error(err);\n }\n };\n\n Subscriber.prototype.complete = function (result) {\n if (!this.isStopped && this.destination.complete) {\n this.isStopped = true;\n this.destination.complete(result);\n }\n };\n\n return Subscriber;\n}(Subscription);\n\nexports.Subscriber = Subscriber;\n\n/** 可观察对象,当前的上传事件的集合 */\nvar Observable =\n/** @class */\nfunction () {\n function Observable(_subscribe) {\n this._subscribe = _subscribe;\n }\n\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var sink = new Subscriber(observerOrNext, error, complete);\n sink.add(this._subscribe(sink));\n return sink;\n };\n\n return Observable;\n}();\n\nexports.Observable = Observable;","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.normalizeUploadConfig = normalizeUploadConfig;\n\nvar _isArray = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/array/is-array\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/get-own-property-symbols\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _config = require(\"../config\");\n\nvar _upload = require(\"../upload\");\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof _getOwnPropertySymbols[\"default\"] === \"function\") for (var i = 0, p = (0, _getOwnPropertySymbols[\"default\"])(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar __read = void 0 && (void 0).__read || function (o, n) {\n var m = typeof _symbol[\"default\"] === \"function\" && o[_iterator[\"default\"]];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n};\n\nvar __spread = void 0 && (void 0).__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n};\n\nfunction normalizeUploadConfig(config, logger) {\n var _a = __assign({}, config),\n upprotocol = _a.upprotocol,\n uphost = _a.uphost,\n otherConfig = __rest(_a, [\"upprotocol\", \"uphost\"]);\n\n var normalizeConfig = __assign({\n uphost: [],\n retryCount: 3,\n checkByMD5: false,\n forceDirect: false,\n useCdnDomain: true,\n checkByServer: false,\n concurrentRequestLimit: 3,\n chunkSize: _upload.DEFAULT_CHUNK_SIZE,\n upprotocol: 'https',\n debugLogLevel: 'OFF',\n disableStatisticsReport: false\n }, otherConfig); // 兼容原来的 http: https: 的写法\n\n\n if (upprotocol) {\n normalizeConfig.upprotocol = upprotocol.replace(/:$/, '');\n }\n\n var hostList = [];\n\n if (logger && (config === null || config === void 0 ? void 0 : config.uphost) != null && (config === null || config === void 0 ? void 0 : config.region) != null) {\n logger.warn('do not use both the uphost and region config.');\n } // 如果同时指定了 uphost 参数,添加到可用 host 列表\n\n\n if (uphost) {\n if ((0, _isArray[\"default\"])(uphost)) {\n hostList.push.apply(hostList, __spread(uphost));\n } else {\n hostList.push(uphost);\n } // 否则如果用户传了 region,添加指定 region 的 host 到可用 host 列表\n\n } else if (normalizeConfig === null || normalizeConfig === void 0 ? void 0 : normalizeConfig.region) {\n var hostMap = _config.regionUphostMap[normalizeConfig === null || normalizeConfig === void 0 ? void 0 : normalizeConfig.region];\n\n if (normalizeConfig.useCdnDomain) {\n hostList.push.apply(hostList, __spread(hostMap.cdnUphost));\n } else {\n hostList.push.apply(hostList, __spread(hostMap.srcUphost));\n }\n }\n\n return __assign(__assign({}, normalizeConfig), {\n uphost: hostList.filter(Boolean)\n });\n}","module.exports = require(\"core-js/library/fn/array/is-array\");","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","module.exports = require(\"core-js/library/fn/object/get-own-property-symbols\");","require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertySymbols;\n","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.regionUphostMap = exports.region = void 0;\n\nvar _a;\n/** 上传区域 */\n\n\nvar region = {\n z0: 'z0',\n z1: 'z1',\n z2: 'z2',\n na0: 'na0',\n as0: 'as0',\n cnEast2: 'cn-east-2'\n};\n/** 上传区域对应的 host */\n\nexports.region = region;\nvar regionUphostMap = (_a = {}, _a[region.z0] = {\n srcUphost: ['up.qiniup.com'],\n cdnUphost: ['upload.qiniup.com']\n}, _a[region.z1] = {\n srcUphost: ['up-z1.qiniup.com'],\n cdnUphost: ['upload-z1.qiniup.com']\n}, _a[region.z2] = {\n srcUphost: ['up-z2.qiniup.com'],\n cdnUphost: ['upload-z2.qiniup.com']\n}, _a[region.na0] = {\n srcUphost: ['up-na0.qiniup.com'],\n cdnUphost: ['upload-na0.qiniup.com']\n}, _a[region.as0] = {\n srcUphost: ['up-as0.qiniup.com'],\n cdnUphost: ['upload-as0.qiniup.com']\n}, _a[region.cnEast2] = {\n srcUphost: ['up-cn-east-2.qiniup.com'],\n cdnUphost: ['upload-cn-east-2.qiniup.com']\n}, _a);\nexports.regionUphostMap = regionUphostMap;","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptor\");","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","module.exports = require(\"core-js/library/fn/weak-map\");","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es7.weak-map.of');\nrequire('../modules/es7.weak-map.from');\nmodule.exports = require('../modules/_core').WeakMap;\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/json/stringify\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/create\"));\n\nvar _setPrototypeOf = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\"));\n\nvar _api = require(\"../api\");\n\nvar _errors = require(\"../errors\");\n\nvar utils = _interopRequireWildcard(require(\"../utils\"));\n\nvar _base = _interopRequireDefault(require(\"./base\"));\n\nvar __extends = void 0 && (void 0).__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = _setPrototypeOf[\"default\"] || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? (0, _create[\"default\"])(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\n/** 是否为正整数 */\nfunction isPositiveInteger(n) {\n var re = /^[1-9]\\d*$/;\n return re.test(String(n));\n}\n\nvar Resume =\n/** @class */\nfunction (_super) {\n __extends(Resume, _super);\n\n function Resume() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @returns {Promise<ResponseSuccess<any>>}\n * @description 实现了 Base 的 run 接口,处理具体的分片上传事务,并抛出过程中的异常。\n */\n\n\n Resume.prototype.run = function () {\n return __awaiter(this, void 0, void 0, function () {\n var pool, mkFileResponse, localKey, uploadChunks, error_1;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.logger.info('start run Resume.');\n\n if (!this.config.chunkSize || !isPositiveInteger(this.config.chunkSize)) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidChunkSize, 'chunkSize must be a positive integer');\n }\n\n if (this.config.chunkSize > 1024) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.InvalidChunkSize, 'chunkSize maximum value is 1024');\n }\n\n return [4\n /*yield*/\n , this.initBeforeUploadChunks()];\n\n case 1:\n _a.sent();\n\n pool = new utils.Pool(function (chunkInfo) {\n return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.aborted) {\n pool.abort();\n throw new Error('pool is aborted');\n }\n\n return [4\n /*yield*/\n , this.uploadChunk(chunkInfo)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n ];\n }\n });\n });\n }, this.config.concurrentRequestLimit);\n mkFileResponse = null;\n localKey = this.getLocalKey();\n uploadChunks = this.chunks.map(function (chunk, index) {\n return pool.enqueue({\n chunk: chunk,\n index: index\n });\n });\n _a.label = 2;\n\n case 2:\n _a.trys.push([2, 5,, 6]);\n\n return [4\n /*yield*/\n , _promise[\"default\"].all(uploadChunks)];\n\n case 3:\n _a.sent();\n\n return [4\n /*yield*/\n , this.mkFileReq()];\n\n case 4:\n mkFileResponse = _a.sent();\n return [3\n /*break*/\n , 6];\n\n case 5:\n error_1 = _a.sent(); // uploadId 无效,上传参数有误(多由于本地存储信息的 uploadId 失效)\n\n if (error_1 instanceof _errors.QiniuRequestError && (error_1.code === 612 || error_1.code === 400)) {\n utils.removeLocalFileInfo(localKey, this.logger);\n }\n\n throw error_1;\n\n case 6:\n // 上传成功,清理本地缓存数据\n utils.removeLocalFileInfo(localKey, this.logger);\n return [2\n /*return*/\n , mkFileResponse];\n }\n });\n });\n };\n\n Resume.prototype.uploadChunk = function (chunkInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var index, chunk, cachedInfo, shouldCheckMD5, reuseSaved, md5, onProgress, requestOptions, response;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n index = chunkInfo.index, chunk = chunkInfo.chunk;\n cachedInfo = this.cachedUploadedList[index];\n this.logger.info(\"upload part \" + index + \", cache:\", cachedInfo);\n shouldCheckMD5 = this.config.checkByMD5;\n\n reuseSaved = function reuseSaved() {\n _this.usedCacheList[index] = true;\n\n _this.updateChunkProgress(chunk.size, index);\n\n _this.uploadedList[index] = cachedInfo;\n\n _this.updateLocalCache();\n }; // FIXME: 至少判断一下 size\n\n\n if (cachedInfo && !shouldCheckMD5) {\n reuseSaved();\n return [2\n /*return*/\n ];\n }\n\n return [4\n /*yield*/\n , utils.computeMd5(chunk)];\n\n case 1:\n md5 = _a.sent();\n this.logger.info('computed part md5.', md5);\n\n if (cachedInfo && md5 === cachedInfo.md5) {\n reuseSaved();\n return [2\n /*return*/\n ];\n } // 没有使用缓存设置标记为 false\n\n\n this.usedCacheList[index] = false;\n\n onProgress = function onProgress(data) {\n _this.updateChunkProgress(data.loaded, index);\n };\n\n requestOptions = {\n body: chunk,\n md5: this.config.checkByServer ? md5 : undefined,\n onProgress: onProgress,\n onCreate: function onCreate(xhr) {\n return _this.addXhr(xhr);\n }\n };\n this.logger.info(\"part \" + index + \" start uploading.\");\n return [4\n /*yield*/\n , (0, _api.uploadChunk)(this.token, this.key, chunkInfo.index + 1, this.getUploadInfo(), requestOptions)];\n\n case 2:\n response = _a.sent();\n this.logger.info(\"part \" + index + \" upload completed.\"); // 在某些浏览器环境下,xhr 的 progress 事件无法被触发,progress 为 null,这里在每次分片上传完成后都手动更新下 progress\n\n onProgress({\n loaded: chunk.size,\n total: chunk.size\n });\n this.uploadedList[index] = {\n etag: response.data.etag,\n md5: response.data.md5,\n size: chunk.size\n };\n this.updateLocalCache();\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n Resume.prototype.mkFileReq = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, result;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = __assign(__assign(__assign({\n parts: this.uploadedList.map(function (value, index) {\n return {\n etag: value.etag,\n // 接口要求 index 需要从 1 开始,所以需要整体 + 1\n partNumber: index + 1\n };\n }),\n fname: this.putExtra.fname\n }, this.putExtra.mimeType && {\n mimeType: this.putExtra.mimeType\n }), this.putExtra.customVars && {\n customVars: this.putExtra.customVars\n }), this.putExtra.metadata && {\n metadata: this.putExtra.metadata\n });\n this.logger.info('parts upload completed, make file.', data);\n return [4\n /*yield*/\n , (0, _api.uploadComplete)(this.token, this.key, this.getUploadInfo(), {\n onCreate: function onCreate(xhr) {\n return _this.addXhr(xhr);\n },\n body: (0, _stringify[\"default\"])(data)\n })];\n\n case 1:\n result = _a.sent();\n this.logger.info('finish Resume Progress.');\n this.updateMkFileProgress(1);\n return [2\n /*return*/\n , result];\n }\n });\n });\n };\n\n Resume.prototype.initBeforeUploadChunks = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cachedInfo, res, infoMessage;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.uploadedList = [];\n this.usedCacheList = [];\n cachedInfo = utils.getLocalFileInfo(this.getLocalKey(), this.logger);\n if (!!cachedInfo) return [3\n /*break*/\n , 2];\n this.logger.info('init upload parts from api.');\n return [4\n /*yield*/\n , (0, _api.initUploadParts)(this.token, this.bucketName, this.key, this.uploadHost.getUrl())];\n\n case 1:\n res = _a.sent();\n this.logger.info(\"initd upload parts of id: \" + res.data.uploadId + \".\");\n this.uploadId = res.data.uploadId;\n this.cachedUploadedList = [];\n return [3\n /*break*/\n , 3];\n\n case 2:\n infoMessage = ['resume upload parts from local cache,', \"total \" + cachedInfo.data.length + \" part,\", \"id is \" + cachedInfo.id + \".\"];\n this.logger.info(infoMessage.join(' '));\n this.cachedUploadedList = cachedInfo.data;\n this.uploadId = cachedInfo.id;\n _a.label = 3;\n\n case 3:\n this.chunks = utils.getChunks(this.file, this.config.chunkSize);\n this.loaded = {\n mkFileProgress: 0,\n chunks: this.chunks.map(function (_) {\n return 0;\n })\n };\n this.notifyResumeProgress();\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n Resume.prototype.getUploadInfo = function () {\n return {\n id: this.uploadId,\n url: this.uploadHost.getUrl()\n };\n };\n\n Resume.prototype.getLocalKey = function () {\n return utils.createLocalKey(this.file.name, this.key, this.file.size);\n };\n\n Resume.prototype.updateLocalCache = function () {\n utils.setLocalFileInfo(this.getLocalKey(), {\n id: this.uploadId,\n data: this.uploadedList\n }, this.logger);\n };\n\n Resume.prototype.updateChunkProgress = function (loaded, index) {\n this.loaded.chunks[index] = loaded;\n this.notifyResumeProgress();\n };\n\n Resume.prototype.updateMkFileProgress = function (progress) {\n this.loaded.mkFileProgress = progress;\n this.notifyResumeProgress();\n };\n\n Resume.prototype.notifyResumeProgress = function () {\n var _this = this;\n\n this.progress = {\n total: this.getProgressInfoItem(utils.sum(this.loaded.chunks) + this.loaded.mkFileProgress, // FIXME: 不准确的 fileSize\n this.file.size + 1 // 防止在 complete 未调用的时候进度显示 100%\n ),\n chunks: this.chunks.map(function (chunk, index) {\n var fromCache = _this.usedCacheList[index];\n return _this.getProgressInfoItem(_this.loaded.chunks[index], chunk.size, fromCache);\n }),\n uploadInfo: {\n id: this.uploadId,\n url: this.uploadHost.getUrl()\n }\n };\n this.onData(this.progress);\n };\n\n return Resume;\n}(_base[\"default\"]);\n\nvar _default = Resume;\nexports[\"default\"] = _default;","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\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'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\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'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/keys\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/create\"));\n\nvar _setPrototypeOf = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\"));\n\nvar _crc = require(\"../utils/crc32\");\n\nvar _api = require(\"../api\");\n\nvar _base = _interopRequireDefault(require(\"./base\"));\n\nvar __extends = void 0 && (void 0).__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = _setPrototypeOf[\"default\"] || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? (0, _create[\"default\"])(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar Direct =\n/** @class */\nfunction (_super) {\n __extends(Direct, _super);\n\n function Direct() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n Direct.prototype.run = function () {\n return __awaiter(this, void 0, void 0, function () {\n var formData, crcSign, customVars_1, result;\n\n var _this = this;\n\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.logger.info('start run Direct.');\n formData = new FormData();\n formData.append('file', this.file);\n formData.append('token', this.token);\n\n if (this.key != null) {\n formData.append('key', this.key);\n }\n\n formData.append('fname', this.putExtra.fname);\n if (!this.config.checkByServer) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , _crc.CRC32.file(this.file)];\n\n case 1:\n crcSign = _a.sent();\n formData.append('crc32', crcSign.toString());\n _a.label = 2;\n\n case 2:\n if (this.putExtra.customVars) {\n this.logger.info('init customVars.');\n customVars_1 = this.putExtra.customVars;\n (0, _keys[\"default\"])(customVars_1).forEach(function (key) {\n return formData.append(key, customVars_1[key].toString());\n });\n this.logger.info('customVars inited.');\n }\n\n this.logger.info('formData inited.');\n return [4\n /*yield*/\n , (0, _api.direct)(this.uploadHost.getUrl(), formData, {\n onProgress: function onProgress(data) {\n _this.updateDirectProgress(data.loaded, data.total);\n },\n onCreate: function onCreate(xhr) {\n return _this.addXhr(xhr);\n }\n })];\n\n case 3:\n result = _a.sent();\n this.logger.info('Direct progress finish.');\n this.finishDirectProgress();\n return [2\n /*return*/\n , result];\n }\n });\n });\n };\n\n Direct.prototype.updateDirectProgress = function (loaded, total) {\n // 当请求未完成时可能进度会达到100,所以total + 1来防止这种情况出现\n this.progress = {\n total: this.getProgressInfoItem(loaded, total + 1)\n };\n this.onData(this.progress);\n };\n\n Direct.prototype.finishDirectProgress = function () {\n // 在某些浏览器环境下,xhr 的 progress 事件无法被触发,progress 为 null,这里 fake 下\n if (!this.progress) {\n this.logger.warn('progress is null.');\n this.progress = {\n total: this.getProgressInfoItem(this.file.size, this.file.size)\n };\n this.onData(this.progress);\n return;\n }\n\n var total = this.progress.total;\n this.progress = {\n total: this.getProgressInfoItem(total.loaded + 1, total.size)\n };\n this.onData(this.progress);\n };\n\n return Direct;\n}(_base[\"default\"]);\n\nvar _default = Direct;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.CRC32 = void 0;\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _helper = require(\"./helper\");\n\n/* eslint-disable no-bitwise */\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\n/**\n * 以下 class 实现参考\n * https://github.com/Stuk/jszip/blob/d4702a70834bd953d4c2d0bc155fad795076631a/lib/crc32.js\n * 该实现主要针对大文件优化、对计算的值进行了 `>>> 0` 运算(为与服务端保持一致)\n */\nvar CRC32 =\n/** @class */\nfunction () {\n function CRC32() {\n this.crc = -1;\n this.table = this.makeTable();\n }\n\n CRC32.prototype.makeTable = function () {\n var table = new Array();\n\n for (var i = 0; i < 256; i++) {\n var t = i;\n\n for (var j = 0; j < 8; j++) {\n if (t & 1) {\n // IEEE 标准\n t = t >>> 1 ^ 0xEDB88320;\n } else {\n t >>>= 1;\n }\n }\n\n table[i] = t;\n }\n\n return table;\n };\n\n CRC32.prototype.append = function (data) {\n var crc = this.crc;\n\n for (var offset = 0; offset < data.byteLength; offset++) {\n crc = crc >>> 8 ^ this.table[(crc ^ data[offset]) & 0xFF];\n }\n\n this.crc = crc;\n };\n\n CRC32.prototype.compute = function () {\n return (this.crc ^ -1) >>> 0;\n };\n\n CRC32.prototype.readAsUint8Array = function (file) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(typeof file.arrayBuffer === 'function')) return [3\n /*break*/\n , 2];\n _a = Uint8Array.bind;\n return [4\n /*yield*/\n , file.arrayBuffer()];\n\n case 1:\n return [2\n /*return*/\n , new (_a.apply(Uint8Array, [void 0, _b.sent()]))()];\n\n case 2:\n return [2\n /*return*/\n , new _promise[\"default\"](function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onload = function () {\n if (reader.result == null) {\n reject();\n return;\n }\n\n if (typeof reader.result === 'string') {\n reject();\n return;\n }\n\n resolve(new Uint8Array(reader.result));\n };\n\n reader.readAsArrayBuffer(file);\n })];\n }\n });\n });\n };\n\n CRC32.prototype.file = function (file) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, count, index, start, end, chuck;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(file.size <= _helper.MB)) return [3\n /*break*/\n , 2];\n _a = this.append;\n return [4\n /*yield*/\n , this.readAsUint8Array(file)];\n\n case 1:\n _a.apply(this, [_b.sent()]);\n\n return [2\n /*return*/\n , this.compute()];\n\n case 2:\n count = Math.ceil(file.size / _helper.MB);\n index = 0;\n _b.label = 3;\n\n case 3:\n if (!(index < count)) return [3\n /*break*/\n , 6];\n start = index * _helper.MB;\n end = index === count - 1 ? file.size : start + _helper.MB;\n return [4\n /*yield*/\n , this.readAsUint8Array(file.slice(start, end))];\n\n case 4:\n chuck = _b.sent();\n this.append(new Uint8Array(chuck));\n _b.label = 5;\n\n case 5:\n index++;\n return [3\n /*break*/\n , 3];\n\n case 6:\n return [2\n /*return*/\n , this.compute()];\n }\n });\n });\n };\n\n CRC32.file = function (file) {\n var crc = new CRC32();\n return crc.file(file);\n };\n\n return CRC32;\n}();\n\nexports.CRC32 = CRC32;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = void 0;\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _reportV = require(\"./report-v3\");\n\nvar __read = void 0 && (void 0).__read || function (o, n) {\n var m = typeof _symbol[\"default\"] === \"function\" && o[_iterator[\"default\"]];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n};\n\nvar __spread = void 0 && (void 0).__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n};\n\nvar Logger =\n/** @class */\nfunction () {\n function Logger(token, disableReport, level, prefix) {\n if (disableReport === void 0) {\n disableReport = true;\n }\n\n if (level === void 0) {\n level = 'OFF';\n }\n\n if (prefix === void 0) {\n prefix = 'UPLOAD';\n }\n\n this.token = token;\n this.disableReport = disableReport;\n this.level = level;\n this.prefix = prefix; // 为每个类分配一个 id\n // 用以区分不同的上传任务\n\n this.id = ++Logger.id;\n }\n\n Logger.prototype.getPrintPrefix = function (level) {\n return \"Qiniu-JS-SDK [\" + level + \"][\" + this.prefix + \"#\" + this.id + \"]:\";\n };\n /**\n * @param {V3LogInfo} data 上报的数据。\n * @param {boolean} retry 重试次数,可选,默认为 3。\n * @description 向服务端上报统计信息。\n */\n\n\n Logger.prototype.report = function (data, retry) {\n if (this.disableReport) return;\n\n try {\n (0, _reportV.reportV3)(this.token, data, retry);\n } catch (error) {\n this.warn(error);\n }\n };\n /**\n * @param {unknown[]} ...args\n * @description 输出 info 级别的调试信息。\n */\n\n\n Logger.prototype.info = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var allowLevel = ['INFO'];\n\n if (allowLevel.includes(this.level)) {\n // eslint-disable-next-line no-console\n console.log.apply(console, __spread([this.getPrintPrefix('INFO')], args));\n }\n };\n /**\n * @param {unknown[]} ...args\n * @description 输出 warn 级别的调试信息。\n */\n\n\n Logger.prototype.warn = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var allowLevel = ['INFO', 'WARN'];\n\n if (allowLevel.includes(this.level)) {\n // eslint-disable-next-line no-console\n console.warn.apply(console, __spread([this.getPrintPrefix('WARN')], args));\n }\n };\n /**\n * @param {unknown[]} ...args\n * @description 输出 error 级别的调试信息。\n */\n\n\n Logger.prototype.error = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var allowLevel = ['INFO', 'WARN', 'ERROR'];\n\n if (allowLevel.includes(this.level)) {\n // eslint-disable-next-line no-console\n console.error.apply(console, __spread([this.getPrintPrefix('ERROR')], args));\n }\n };\n\n Logger.id = 0;\n return Logger;\n}();\n\nvar _default = Logger;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.reportV3 = reportV3;\n\nvar _utils = require(\"../utils\");\n\n/**\n * @param {string} token 上传使用的 token\n * @param {V3LogInfo} data 上报的统计数据\n * @param {number} retry 重试的次数,默认值 3\n * @description v3 版本的日志上传接口,参考文档 https://github.com/qbox/product/blob/master/kodo/uplog.md#%E7%89%88%E6%9C%AC-3。\n */\nfunction reportV3(token, data, retry) {\n if (retry === void 0) {\n retry = 3;\n }\n\n var xhr = (0, _utils.createXHR)();\n xhr.open('POST', 'https://uplog.qbox.me/log/3');\n xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n xhr.setRequestHeader('Authorization', (0, _utils.getAuthHeaders)(token).Authorization);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status !== 200 && retry > 0) {\n reportV3(token, data, retry - 1);\n }\n }; // 顺序参考:https://github.com/qbox/product/blob/master/kodo/uplog.md#%E7%89%88%E6%9C%AC-3\n\n\n var stringifyData = [data.code || '', data.reqId || '', data.host || '', data.remoteIp || '', data.port || '', data.duration || '', data.time || '', data.bytesSent || '', data.upType || '', data.size || ''].join(',');\n xhr.send(stringifyData);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.HostPool = exports.Host = void 0;\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/map\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _api = require(\"../api\");\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __read = void 0 && (void 0).__read || function (o, n) {\n var m = typeof _symbol[\"default\"] === \"function\" && o[_iterator[\"default\"]];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n};\n\nvar __spread = void 0 && (void 0).__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n};\n\n/**\n * @description 解冻时间,key 是 host,value 为解冻时间\n */\nvar unfreezeTimeMap = new _map[\"default\"]();\n\nvar Host =\n/** @class */\nfunction () {\n function Host(host, protocol) {\n this.host = host;\n this.protocol = protocol;\n }\n /**\n * @description 当前 host 是否为冻结状态\n */\n\n\n Host.prototype.isFrozen = function () {\n var currentTime = new Date().getTime();\n var unfreezeTime = unfreezeTimeMap.get(this.host);\n return unfreezeTime != null && unfreezeTime >= currentTime;\n };\n /**\n * @param {number} time 单位秒,默认 20s\n * @description 冻结该 host 对象,该 host 将在指定时间内不可用\n */\n\n\n Host.prototype.freeze = function (time) {\n if (time === void 0) {\n time = 20;\n }\n\n var unfreezeTime = new Date().getTime() + time * 1000;\n unfreezeTimeMap.set(this.host, unfreezeTime);\n };\n /**\n * @description 解冻该 host\n */\n\n\n Host.prototype.unfreeze = function () {\n unfreezeTimeMap[\"delete\"](this.host);\n };\n /**\n * @description 获取当前 host 的完整 url\n */\n\n\n Host.prototype.getUrl = function () {\n return this.protocol + \"://\" + this.host;\n };\n /**\n * @description 获取解冻时间\n */\n\n\n Host.prototype.getUnfreezeTime = function () {\n return unfreezeTimeMap.get(this.host);\n };\n\n return Host;\n}();\n\nexports.Host = Host;\n\nvar HostPool =\n/** @class */\nfunction () {\n /**\n * @param {string[]} initHosts\n * @description 如果在构造时传入 initHosts,则该 host 池始终使用传入的 initHosts 做为可用的数据\n */\n function HostPool(initHosts) {\n if (initHosts === void 0) {\n initHosts = [];\n }\n\n this.initHosts = initHosts;\n /**\n * @description 缓存的 host 表,以 bucket 和 accessKey 作为 key\n */\n\n this.cachedHostsMap = new _map[\"default\"]();\n }\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {string[]} hosts\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {void}\n * @description 注册可用 host\n */\n\n\n HostPool.prototype.register = function (accessKey, bucketName, hosts, protocol) {\n this.cachedHostsMap.set(accessKey + \"@\" + bucketName, hosts.map(function (host) {\n return new Host(host, protocol);\n }));\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<void>}\n * @description 刷新最新的 host 数据,如果用户在构造时该类时传入了 host 或者已经存在缓存则不会发起请求\n */\n\n\n HostPool.prototype.refresh = function (accessKey, bucketName, protocol) {\n var _a, _b, _c, _d;\n\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, response, stashHosts;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length > 0) return [2\n /*return*/\n ];\n\n if (this.initHosts.length > 0) {\n this.register(accessKey, bucketName, this.initHosts, protocol);\n return [2\n /*return*/\n ];\n }\n\n return [4\n /*yield*/\n , (0, _api.getUpHosts)(accessKey, bucketName, protocol)];\n\n case 1:\n response = _e.sent();\n\n if ((response === null || response === void 0 ? void 0 : response.data) != null) {\n stashHosts = __spread(((_b = (_a = response.data.up) === null || _a === void 0 ? void 0 : _a.acc) === null || _b === void 0 ? void 0 : _b.main) || [], ((_d = (_c = response.data.up) === null || _c === void 0 ? void 0 : _c.acc) === null || _d === void 0 ? void 0 : _d.backup) || []);\n this.register(accessKey, bucketName, stashHosts, protocol);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n /**\n * @param {string} accessKey\n * @param {string} bucketName\n * @param {InternalConfig['upprotocol']} protocol\n * @returns {Promise<Host | null>}\n * @description 获取一个可用的上传 Host,排除已冻结的\n */\n\n\n HostPool.prototype.getUp = function (accessKey, bucketName, protocol) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedHostList, availableHostList, priorityQueue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4\n /*yield*/\n , this.refresh(accessKey, bucketName, protocol)];\n\n case 1:\n _a.sent();\n\n cachedHostList = this.cachedHostsMap.get(accessKey + \"@\" + bucketName) || [];\n if (cachedHostList.length === 0) return [2\n /*return*/\n , null];\n availableHostList = cachedHostList.filter(function (host) {\n return !host.isFrozen();\n });\n if (availableHostList.length > 0) return [2\n /*return*/\n , availableHostList[0] // 无可用的,去取离解冻最近的 host\n ];\n priorityQueue = cachedHostList.slice().sort(function (hostA, hostB) {\n return (hostA.getUnfreezeTime() || 0) - (hostB.getUnfreezeTime() || 0);\n });\n return [2\n /*return*/\n , priorityQueue[0]];\n }\n });\n });\n };\n\n return HostPool;\n}();\n\nexports.HostPool = HostPool;","module.exports = require(\"core-js/library/fn/map\");","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/keys\"));\n\nvar _iterator = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol/iterator\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/object/assign\"));\n\nvar _errors = require(\"../errors\");\n\nvar _helper = require(\"./helper\");\n\nvar __assign = void 0 && (void 0).__assign || function () {\n __assign = _assign[\"default\"] || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = _promise[\"default\"]))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = void 0 && (void 0).__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof _symbol[\"default\"] === \"function\" && (g[_iterator[\"default\"]] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar mimeTypes = {\n PNG: 'image/png',\n JPEG: 'image/jpeg',\n WEBP: 'image/webp',\n BMP: 'image/bmp'\n};\nvar maxSteps = 4;\nvar scaleFactor = Math.log(2);\nvar supportMimeTypes = (0, _keys[\"default\"])(mimeTypes).map(function (type) {\n return mimeTypes[type];\n});\nvar defaultType = mimeTypes.JPEG;\n\nfunction isSupportedType(type) {\n return supportMimeTypes.includes(type);\n}\n\nvar Compress =\n/** @class */\nfunction () {\n function Compress(file, config) {\n this.file = file;\n this.config = config;\n this.config = __assign({\n quality: 0.92,\n noCompressIfLarger: false\n }, this.config);\n }\n\n Compress.prototype.process = function () {\n return __awaiter(this, void 0, void 0, function () {\n var srcDimension, originImage, canvas, scale, scaleCanvas, distBlob;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.outputType = this.file.type;\n srcDimension = {};\n\n if (!isSupportedType(this.file.type)) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.UnsupportedFileType, \"unsupported file type: \" + this.file.type);\n }\n\n return [4\n /*yield*/\n , this.getOriginImage()];\n\n case 1:\n originImage = _a.sent();\n return [4\n /*yield*/\n , this.getCanvas(originImage)];\n\n case 2:\n canvas = _a.sent();\n scale = 1;\n\n if (this.config.maxWidth) {\n scale = Math.min(1, this.config.maxWidth / canvas.width);\n }\n\n if (this.config.maxHeight) {\n scale = Math.min(1, scale, this.config.maxHeight / canvas.height);\n }\n\n srcDimension.width = canvas.width;\n srcDimension.height = canvas.height;\n return [4\n /*yield*/\n , this.doScale(canvas, scale)];\n\n case 3:\n scaleCanvas = _a.sent();\n distBlob = this.toBlob(scaleCanvas);\n\n if (distBlob.size > this.file.size && this.config.noCompressIfLarger) {\n return [2\n /*return*/\n , {\n dist: this.file,\n width: srcDimension.width,\n height: srcDimension.height\n }];\n }\n\n return [2\n /*return*/\n , {\n dist: distBlob,\n width: scaleCanvas.width,\n height: scaleCanvas.height\n }];\n }\n });\n });\n };\n\n Compress.prototype.clear = function (ctx, width, height) {\n // jpeg 没有 alpha 通道,透明区间会被填充成黑色,这里把透明区间填充为白色\n if (this.outputType === defaultType) {\n ctx.fillStyle = '#fff';\n ctx.fillRect(0, 0, width, height);\n } else {\n ctx.clearRect(0, 0, width, height);\n }\n };\n /** 通过 file 初始化 image 对象 */\n\n\n Compress.prototype.getOriginImage = function () {\n var _this = this;\n\n return new _promise[\"default\"](function (resolve, reject) {\n var url = (0, _helper.createObjectURL)(_this.file);\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject('image load error');\n };\n\n img.src = url;\n });\n };\n\n Compress.prototype.getCanvas = function (img) {\n var _this = this;\n\n return new _promise[\"default\"](function (resolve, reject) {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n\n if (!context) {\n reject(new _errors.QiniuError(_errors.QiniuErrorName.GetCanvasContextFailed, 'context is null'));\n return;\n }\n\n var width = img.width,\n height = img.height;\n canvas.height = height;\n canvas.width = width;\n\n _this.clear(context, width, height);\n\n context.drawImage(img, 0, 0);\n resolve(canvas);\n });\n };\n\n Compress.prototype.doScale = function (source, scale) {\n return __awaiter(this, void 0, void 0, function () {\n var sctx, steps, factor, mirror, mctx, width, height, originWidth, originHeight, src, context, i, dw, dh, canvas, data;\n return __generator(this, function (_a) {\n if (scale === 1) {\n return [2\n /*return*/\n , source];\n }\n\n sctx = source.getContext('2d');\n steps = Math.min(maxSteps, Math.ceil(1 / scale / scaleFactor));\n factor = Math.pow(scale, 1 / steps);\n mirror = document.createElement('canvas');\n mctx = mirror.getContext('2d');\n width = source.width, height = source.height;\n originWidth = width;\n originHeight = height;\n mirror.width = width;\n mirror.height = height;\n\n if (!mctx || !sctx) {\n throw new _errors.QiniuError(_errors.QiniuErrorName.GetCanvasContextFailed, \"mctx or sctx can't be null\");\n }\n\n for (i = 0; i < steps; i++) {\n dw = width * factor | 0 // eslint-disable-line no-bitwise\n ;\n dh = height * factor | 0 // eslint-disable-line no-bitwise\n ; // 到最后一步的时候 dw, dh 用目标缩放尺寸,否则会出现最后尺寸偏小的情况\n\n if (i === steps - 1) {\n dw = originWidth * scale;\n dh = originHeight * scale;\n }\n\n if (i % 2 === 0) {\n src = source;\n context = mctx;\n } else {\n src = mirror;\n context = sctx;\n } // 每次画前都清空,避免图像重叠\n\n\n this.clear(context, width, height);\n context.drawImage(src, 0, 0, width, height, 0, 0, dw, dh);\n width = dw;\n height = dh;\n }\n\n canvas = src === source ? mirror : source;\n data = context.getImageData(0, 0, width, height); // resize\n\n canvas.width = width;\n canvas.height = height; // store image data\n\n context.putImageData(data, 0, 0);\n return [2\n /*return*/\n , canvas];\n });\n });\n };\n /** 这里把 base64 字符串转为 blob 对象 */\n\n\n Compress.prototype.toBlob = function (result) {\n var dataURL = result.toDataURL(this.outputType, this.config.quality);\n var buffer = atob(dataURL.split(',')[1]).split('').map(function (_char) {\n return _char.charCodeAt(0);\n });\n var blob = new Blob([new Uint8Array(buffer)], {\n type: this.outputType\n });\n return blob;\n };\n\n return Compress;\n}();\n\nvar compressImage = function compressImage(file, options) {\n return new Compress(file, options).process();\n};\n\nvar _default = compressImage;\nexports[\"default\"] = _default;"],"sourceRoot":""}