{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/core-js/modules/web.dom-exception.constructor.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./src/services/WhitePaperService.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./src/components/Content/Upload/DragAndDropUploadCard.vue?9f37","webpack:///./node_modules/image-blob-reduce/dist/image-blob-reduce.esm.mjs","webpack:///./src/services/ImageResizeService.js","webpack:///./src/services/AzureBlobUploadService.js","webpack:///src/components/Content/Upload/DragAndDropUploadCard.vue","webpack:///./src/components/Content/Upload/DragAndDropUploadCard.vue?0568","webpack:///./src/components/Content/Upload/DragAndDropUploadCard.vue","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/core-js/internals/try-node-require.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/core-js/modules/web.dom-exception.to-string-tag.js","webpack:///./node_modules/core-js/modules/es.typed-array.at.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/core-js/internals/error-to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/core-js/internals/typed-array-species-constructor.js","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/core-js/internals/dom-exception-constants.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/internals/is-integral-number.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./src/components/Content/Upload/DragAndDropUploadCard.vue?7cc2","webpack:///./node_modules/core-js/internals/to-positive-integer.js"],"names":["global","toIntegerOrInfinity","toLength","RangeError","module","exports","it","undefined","number","length","$","tryNodeRequire","getBuiltIn","fails","create","createPropertyDescriptor","defineProperty","f","defineProperties","redefine","hasOwn","anInstance","anObject","errorToString","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","InternalStateModule","DESCRIPTORS","IS_PURE","DOM_EXCEPTION","DATA_CLONE_ERR","Error","NativeDOMException","MessageChannel","port1","postMessage","WeakMap","error","name","code","constructor","NativeDOMExceptionPrototype","prototype","ErrorPrototype","setInternalState","set","getInternalState","getterFor","HAS_STACK","codeFor","m","c","$DOMException","this","DOMExceptionPrototype","argumentsLength","arguments","message","type","stack","createGetterDescriptor","get","enumerable","configurable","key","INCORRECT_CONSTRUCTOR","INCORRECT_TO_STRING","toString","String","INCORRECT_CODE","MISSED_CONSTANTS","FORCED_CONSTRUCTOR","forced","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","s","descriptor","apply","call","uncurryThis","fixRegExpWellKnownSymbolLogic","isRegExp","requireObjectCoercible","speciesConstructor","advanceStringIndex","getMethod","arraySlice","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","MAX_UINT32","min","Math","$push","push","exec","stringSlice","slice","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","re","originalExec","result","split","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","RegExp","source","index","O","splitter","rx","S","res","done","value","C","unicodeMatching","p","q","A","e","z","i","arrayFromConstructorAndList","typedArraySpeciesConstructor","instance","list","toObject","toAbsoluteIndex","lengthOfArrayLike","copyWithin","target","start","len","to","from","end","count","inc","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","begin","beginIndex","buffer","byteOffset","BYTES_PER_ELEMENT","toPositiveInteger","BYTES","offset","http","APIService","getWhitePapers","filter","auth","getInstance","apiAuthConfig","authHeaders","post","data","getContentRemaining","companyid","getWhitepapersForSite","siteid","saveContent","whitepaper","archiveWhitepaperSite","getWhitePaper","whitepaperid","getWhitePaperSites","getWhitePaperByTitle","getWhitePaperSiteCategory","getSiteCategoryForWhitePaper","clientUploadUrl","upload","uploadWhitePaper","addWhitePaper","order","deleteWhitePaper","saveWhitePaper","aCallable","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","Array","Uint16Array","un$Sort","sort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","mod","array","expected","a","b","getSortCompare","comparefn","x","y","render","_vm","_h","$createElement","_c","_self","staticClass","on","dragover","dragleave","drop","_e","ref","attrs","uniqueId","accept","onChange","file","_v","_s","label","helpText","displayWidth","displayHeight","baseUrl","uploading","$event","preventDefault","remove","preview","staticRenderFns","commonjsRequire","path","utils$1","pick","props","forEach","Object","hasOwnProperty","pick_pica_resize_options","assign","pica$1","r","n","t","o","u","1","_dereq_","Multimath","mm_unsharp_mask","mm_resize","MathLib","requested_features","__requested_features","features","js","indexOf","wasm","has_wasm","use","resizeAndUnsharp","options","cache","resize","unsharpAmount","unsharp_mask","toWidth","toHeight","unsharpRadius","unsharpThreshold","2","clampTo8","clampNegative","convolveHor","src","dest","srcW","srcH","destW","filters","g","filterPtr","filterShift","filterSize","srcPtr","srcY","destX","filterVal","srcOffset","destOffset","convolveVert","convolveHorWithPre","alpha","convolveVertWithPre","3","4","fn","wasm_fn","wasm_src","5","createFilters","_require","hasAlpha","width","height","ptr","resetAlpha","dst","destH","scaleX","scaleY","offsetX","offsetY","Uint8Array","filtersX","filtersY","tmp","6","FILTER_INFO","FIXED_FRAC_BITS","toFixedPoint","num","round","srcSize","destSize","scale","destPixel","srcPixel","srcFirst","srcLast","filterElementSize","floatFilter","fxpFilter","total","pxl","idx","floatVal","filterTotal","leftNotEmpty","rightNotEmpty","filterFunction","scaleInverted","scaleClamped","srcWindow","win","maxFilterElementSize","floor","packedFilter","Int16Array","packedFilterPtr","slowCopy","subarray","max","ceil","Float32Array","7","box","hamming","xpi","PI","sin","cos","lanczos2","lanczos3","mks2013","f2q","q2f","8","asUint8Array","byteLength","IS_LE","Uint32Array","__","copyInt16asLE","target_offset","src_offset","src_size","tmp_offset","__align","tmp_size","filtersX_offset","filtersY_offset","alloc_bytes","__instance","mem","__memory","mem32","src32","convolveHV","_convolveHV","dest32","9","10","glur_mono16","hsv_v16","img","size","out","amount","radius","threshold","v1","v2","vmul","diff","iTimes4","brightness","blured","amountFp","thresholdFp","abs","11","pixels","img_bytes_cnt","hsv_bytes_cnt","blur_bytes_cnt","blur_line_byte_cnt","blur_coeffs_byte_cnt","img_offset","hsv_offset","blur_offset","blur_tmp_offset","blur_line_offset","blur_coeffs_offset","exp","img32","_hsv_v16","blurMono16","_blurMono16","unsharp","_unsharp","12","13","GC_INTERVAL","Pool","idle","available","acquired","lastId","timeoutId","acquire","resource","_this","pop","id","release","_this2","lastUsed","Date","now","setTimeout","gc","_this3","destroy","14","MIN_INNER_TILE_SIZE","fromWidth","fromHeight","srcTileSize","destTileBorder","minScale","stageCount","log","pow","15","PIXEL_EPSILON","pixelFloor","nearest","pixelCeil","innerX","innerY","toTileWidth","toTileHeight","innerTileWidth","innerTileHeight","tile","tiles","toX","toY","toInnerX","toInnerY","toInnerWidth","toInnerHeight","16","objClass","obj","isCanvas","element","cname","isImage","isImageBitmap","limiter","concurrency","active","queue","roll","shift","Promise","resolve","reject","then","err","cib_quality_name","cib_support","createCanvas","createImageBitmap","resizeWidth","resizeHeight","resizeQuality","bitmap","status","close","worker_offscreen_canvas_support","OffscreenCanvas","btoa","concat","workerPayload","w","Worker","onmessage","ev","onerror","self","canvas","ctx","getContext","rect","can_use_canvas","usable","d","createImageData","putImageData","getImageData","cib_can_use_region","image","Image","onload","17","mathLib","tileOpts","opts","srcBitmap","drawImage","18","a0","a1","a2","a3","b1","b2","left_corner","right_corner","gaussCoef","sigma","g1","g2","k","convolveMono16","line","coeff","prev_src","curr_src","curr_out","prev_out","prev_prev_out","src_index","out_index","line_index","j","coeff_a0","coeff_a1","coeff_b1","coeff_b2","tmp_line","19","base64decode","hasWebAssembly","DEFAULT_OPTIONS","MultiMath","__cache","__init_promise","__modules","modules","__wasm","__isLE","init","all","keys","map","WebAssembly","compile","__base64decode","__reallocate","bytes","Memory","initial","mem_size","grow","memsize","env_extra","Module","env_base","memoryBase","memory","tableBase","table","Table","Instance","env","base","reminder","20","BASE64_MAP","str","input","replace","bits","charAt","tailbits","21","wa","bin","test","22","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","val","TypeError","shouldUseNative","test1","getOwnPropertyNames","test2","fromCharCode","order2","join","test3","letter","symbols","23","bundleFn","sources","stringify","JSON","wkey","cacheKeys","l","default","random","wcache","skey","scache","workerSources","resolveSources","depPath","depKey","URL","window","webkitURL","mozURL","msURL","blob","Blob","bare","workerUrl","createObjectURL","worker","objectURL","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","_i","Symbol","iterator","_arr","_n","_d","next","isArray","webworkify","utils","createStages","createRegions","filter_info","singletones","NEED_SAFARI_FIX","navigator","userAgent","hardwareConcurrency","DEFAULT_PICA_OPTS","tmpCanvas","document","createElement","DEFAULT_RESIZE_OPTS","CAN_NEW_IMAGE_DATA","CAN_CREATE_IMAGE_BITMAP","CAN_USE_CANVAS_GET_IMAGE_DATA","CAN_USE_OFFSCREEN_CANVAS","CAN_USE_CIB_REGION_FOR_IMAGE","workerFabric","terminate","url","revokeObjectURL","Pica","limiter_key","__limit","cib","ww","__workersPool","__mathlib","__initPromise","ImageData","Uint8ClampedArray","ImageBitmap","debug","wkr","wpool_key","checkCibResize","checkOffscreenCanvas","initMath","mathlib","checkCibRegion","__invokeResize","__mathCache","cancelToken","transfer","preload","wasm_nodule","__extractTileData","stageEnv","extractTo","srcImageBitmap","srcCtx","tmpCtx","globalCompositeOperation","__landTileData","toImageData","toCtx","__tileAndResize","isImageBitmapReused","processTile","canceled","srcImageData","imageBitmap","regions","__destTileBorder","jobs","cleanup","__processStages","stages","_this4","_stages$shift","_stages$shift2","isLastStage","__resizeViaCreateImageBitmap","_this5","iData","_this6","isNaN","quality","naturalWidth","naturalHeight","DEST_TILE_BORDER","resizeBuffer","_this7","toBlob","mimeType","convertToBlob","asString","atob","toDataURL","asBuffer","charCodeAt","jpeg_plugins","image_traverse$1","to_hex","toUpperCase","utf8_encode","unescape","encodeURIComponent","_","utf8_decode","decodeURIComponent","escape","is_uint8array","ExifParser","jpeg_bin","exif_start","exif_end","sig","big_endian","each","on_entry","aborted","read_uint32","ifds_to_read","scan_ifd","ifds","entries","entry","is_subifd_link","format","ifd","ifd1","ifd_no","data_length","write_uint16","write_uint32","written_offset","ifd_start","ifd_end","tag","entry_offset","link_offset","data_offset","next_ifd","read_uint16","exif_format_length","exif_format_read","v","entry_count","comp_length","comp_offset","item","Number","isInteger","is_big_endian","is_jpeg","jpeg_segments_each","on_segment","inside_scan","segment_code","segment_length","byte1","byte2","pos","jpeg_segments_filter","ranges","out_length","segment","new_segment","new_range","range","jpeg_exif_tags_each","on_exif_entry","jpeg_exif_tags_filter","stop_search","new_exif","header","jpeg_add_comment","comment","comment_inserted","segment_count","csegment","image_traverse","jpeg_patch_exif","_getUint8Array","orig_blob","exif_is_big_endian","orientation_offset","orientation","orientation_patch","jpeg_rotate_canvas","pica","out_canvas","save","transform","restore","jpeg_attach_orig_segments","out_blob","data_out","segments","reducer","before","after","ImageBlobReduce","initialized","plugin","args","Infinity","_blob_to_image","_calculate_size","_transform","_cleanup","_create_blob","_env","toCanvas","method_name","old_fn","image_url","scale_factor","transform_width","transform_height","pica_opts","arrayBuffer","buf","fr","FileReader","readAsArrayBuffer","abort","onabort","imageBlobReduce","reduce","ratio","maxWidth","maxHeight","loadImage","addEventListener","imageSrc","finalCanvas","fillStyle","fillRect","endBlob","commit","fileUrl","blocks","contentType","uri","requestBody","put","headers","config","currentPointer","block","blockSize","bytesRemaining","blockPrefix","currentBytes","currentBlockId","pad","sasToken","uploadUrl","watch","serverName","mounted","computed","contentTypes","methods","extension","ImageResizeService","WhitePaperService","filename","fileSize","uploadTo","console","AzureBlobUploadService","clientName","event","$refs","files","dataTransfer","component","$reduceRight","right","callbackfn","FORCED","Int8Array","$lastIndexOf","searchElement","$findIndex","findIndex","predicate","toOffset","toIndexedObject","Int8ArrayPrototype","$set","WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS","0","TO_OBJECT_BUG","NATIVE_ARRAY_BUFFER_VIEWS","arrayLike","$map","mapfn","createTypedArrayConstructor","$join","ArrayIterators","wellKnownSymbol","ITERATOR","arrayValues","values","arrayKeys","arrayEntries","TypedArrayPrototype","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","NATIVE_ARRAY_BUFFER","FunctionName","createNonEnumerableProperty","redefineAll","toIndex","IEEE754","getPrototypeOf","setPrototypeOf","arrayFill","setToStringTag","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","ObjectPrototype","fill","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","Constructor","view","isLittleEndian","intIndex","store","conversion","INCORRECT_ARRAY_BUFFER_NAME","NaN","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBuffer","DataView","$some","some","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","$fill","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","isIntegralNumber","toPropertyKey","classof","isObject","isSymbol","isPrototypeOf","typedArrayFrom","setSpecies","definePropertyModule","getOwnPropertyDescriptorModule","inheritIfRequired","nativeDefineProperty","nativeGetOwnPropertyDescriptor","TYPED_ARRAY_CONSTRUCTOR","TYPED_ARRAY_TAG","TypedArray","aTypedArrayConstructor","isTypedArray","fromList","isArrayBuffer","klass","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","writable","stat","getOwnPropertyDescriptor","TYPE","wrapper","CLAMPED","CONSTRUCTOR_NAME","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","exported","getter","that","setter","addElement","dummy","typedArrayOffset","$length","$len","sham","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","nBits","IS_NODE","Function","endPos","$includes","includes","checkCorrectnessOfIteration","iterable","relativeIndex","$ArrayCopyWithin","u$ArrayCopyWithin","bind","aConstructor","getIterator","getIteratorMethod","isArrayIteratorMethod","step","mapping","iteratorMethod","IndexedObject","arrayMethodIsStrict","un$Join","ES3_STRINGS","STRICT_METHOD","proto","$every","every","nativeErrorToString","object","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","originalArray","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","$filter","fromSpeciesAndList","$reduce","left","middle","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","$find","find","createMethod","IS_RIGHT","memo","$forEach","lastIndexOf","NEGATIVE_ZERO","$indexOf","isFinite","NAME","Prototype","isCallable","tryToString","uid","Uint8ClampedArrayPrototype","TO_STRING_TAG","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","KEY","property","ARRAY","error2","exportTypedArrayStaticMethod"],"mappings":"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","file":"js/chunk-78287bce.b99b4c93.js","sourcesContent":["var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineProperties = require('../internals/object-define-properties').f;\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar errorToString = require('../internals/error-to-string');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar InternalStateModule = require('../internals/internal-state');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar DATA_CLONE_ERR = 'DATA_CLONE_ERR';\nvar Error = getBuiltIn('Error');\n// NodeJS < 17.0 does not expose `DOMException` to global\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {\n try {\n // NodeJS < 15.0 does not expose `MessageChannel` to global\n var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel;\n // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe\n new MessageChannel().port1.postMessage(new WeakMap());\n } catch (error) {\n if (error.name == DATA_CLONE_ERR && error.code == 25) return error.constructor;\n }\n})();\nvar NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype;\nvar ErrorPrototype = Error.prototype;\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION);\nvar HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\n\nvar codeFor = function (name) {\n return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0;\n};\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var code = codeFor(name);\n setInternalState(this, {\n type: DOM_EXCEPTION,\n name: name,\n message: message,\n code: code\n });\n if (!DESCRIPTORS) {\n this.name = name;\n this.message = message;\n this.code = code;\n }\n if (HAS_STACK) {\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n }\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype);\n\nvar createGetterDescriptor = function (get) {\n return { enumerable: true, configurable: true, get: get };\n};\n\nvar getterFor = function (key) {\n return createGetterDescriptor(function () {\n return getInternalState(this)[key];\n });\n};\n\nif (DESCRIPTORS) defineProperties(DOMExceptionPrototype, {\n name: getterFor('name'),\n message: getterFor('message'),\n code: getterFor('code')\n});\n\ndefineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));\n\n// FF36- DOMException is a function, but can't be constructed\nvar INCORRECT_CONSTRUCTOR = fails(function () {\n return !(new NativeDOMException() instanceof Error);\n});\n\n// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs\nvar INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () {\n return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1';\n});\n\n// Deno 1.6.3- DOMException.prototype.code just missed\nvar INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () {\n return new NativeDOMException(1, 'DataCloneError').code !== 25;\n});\n\n// Deno 1.6.3- DOMException constants just missed\nvar MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR\n || NativeDOMException[DATA_CLONE_ERR] !== 25\n || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25;\n\nvar FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR;\n\n// `DOMException` constructor\n// https://webidl.spec.whatwg.org/#idl-DOMException\n$({ global: true, forced: FORCED_CONSTRUCTOR }, {\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {\n redefine(PolyfilledDOMExceptionPrototype, 'toString', errorToString);\n}\n\nif (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {\n return codeFor(anObject(this).name);\n }));\n}\n\nfor (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n var descriptor = createPropertyDescriptor(6, constant.c);\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, descriptor);\n }\n if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) {\n defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor);\n }\n}\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","import APIService from \"./APIService\";\nimport { getInstance } from \"../auth/auth\";\n\nconst http = APIService.http;\n\nexport default {\n async getWhitePapers(filter) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/GetWhitePapers\",\n filter,\n authHeaders\n );\n return res.data;\n },\n async getContentRemaining(companyid) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.get(\n `api/WhitePapers/ContentRemaining/${companyid}`,\n authHeaders\n );\n return res.data;\n },\n async getWhitepapersForSite(companyid, siteid) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.get(\n `api/WhitePapers/WhitepapersBySite/${companyid}/${siteid}`,\n authHeaders\n );\n return res.data;\n },\n async saveContent(whitepaper) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n `api/WhitePapers/NewSaveWhitepaper`,\n whitepaper,\n authHeaders\n );\n return res.data;\n },\n async archiveWhitepaperSite(companyid, siteid, whitepaper) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n `api/WhitePapers/ArchiveWhitepaper/${companyid}/${siteid}`,\n whitepaper,\n authHeaders\n );\n return res.data;\n },\n async getWhitePaper(companyid, whitepaperid) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.get(\n `api/WhitePapers/WhitepaperById/${companyid}/${whitepaperid}`,\n authHeaders\n );\n return res.data;\n },\n async getWhitePaperSites(filter) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/GetWhitePaperSites\",\n filter,\n authHeaders\n );\n return res.data;\n },\n async getWhitePaperByTitle(filter) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/GetWhitePaperByTitle\",\n filter,\n authHeaders\n );\n return res.data;\n },\n async getWhitePaperSiteCategory(filter) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/GetWhitePaperSiteCategory\",\n filter,\n authHeaders\n );\n return res.data;\n },\n async getSiteCategoryForWhitePaper(filter) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/GetSiteCategoryForWhitePaper\",\n filter,\n authHeaders\n );\n return res.data;\n },\n async clientUploadUrl(upload) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\n \"api/WhitePapers/ClientUpload\",\n upload,\n authHeaders\n );\n return res.data;\n },\n async uploadWhitePaper(upload) {\n let auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\"api/WhitePapers/Upload\", upload, authHeaders);\n return res.data;\n },\n async addWhitePaper(order) {\n const auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\"api/WhitePapers/Add\", order, authHeaders);\n return res.data;\n },\n async deleteWhitePaper(order) {\n const auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\"api/WhitePapers/Delete\", order, authHeaders);\n return res.data;\n },\n async saveWhitePaper(order) {\n const auth = getInstance();\n let authHeaders = await auth.apiAuthConfig();\n let res = await http.post(\"api/WhitePapers/Save\", order, authHeaders);\n return res.data;\n },\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card p-4 d-flex align-content-center justify-content-center align-items-center\",on:{\"dragover\":_vm.dragover,\"dragleave\":_vm.dragleave,\"drop\":_vm.drop}},[(_vm.uploading)?_c('div',{staticClass:\"progress progress-sm card-progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-indeterminate\"})]):_vm._e(),_c('input',{ref:\"file\",staticClass:\"w-0 h-0 opacity-0 overflow-hidden position-absolute\",attrs:{\"type\":\"file\",\"id\":(\"assetsFieldHandle-\" + _vm.uniqueId),\"accept\":_vm.accept},on:{\"change\":_vm.onChange}}),(!_vm.file)?_c('label',{staticClass:\"d-block cursor-pointer\",attrs:{\"for\":(\"assetsFieldHandle-\" + _vm.uniqueId)}},[_c('div',{staticClass:\"text-center\"},[_c('strong',[_vm._v(\" Drag & drop \"+_vm._s(_vm.label)+\" here or \"),_c('span',{staticClass:\"text-decoration-underline\"},[_vm._v(\"click here\")]),_vm._v(\" to select a \"+_vm._s(_vm.label)+\" \")])]),(_vm.helpText)?_c('div',{staticClass:\"text-center\"},[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.helpText))])]):_vm._e()]):_vm._e(),(_vm.file)?_c('div',{staticClass:\"d-flex flex-column align-items-center\"},[(_vm.uploading)?_c('p',{staticClass:\"pb-0 mb-2\"},[_vm._v(\" Uploading \"),_c('strong',[_vm._v(_vm._s(_vm.file.name))]),_vm._v(\", please wait. \")]):_c('div',{staticClass:\"mb-2 pb-0\"},[(_vm.inlinePreview)?_c('div',{staticClass:\"text-center\"},[(_vm.displayWidth && _vm.displayHeight)?_c('img',{staticClass:\"preview d-block mb-1 mx-auto\",attrs:{\"draggable\":\"false\",\"width\":_vm.displayWidth,\"height\":_vm.displayHeight,\"src\":_vm.value.baseUrl}}):_c('img',{staticClass:\"preview d-block mb-1 mx-auto\",attrs:{\"draggable\":\"false\",\"src\":_vm.value.baseUrl}}),(!_vm.uploading)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.remove.apply(null, arguments)}}},[_vm._v(\" Change \"+_vm._s(_vm.label)+\" \")]):_vm._e()]):_c('div',[_c('p',{staticClass:\"p-0 m-0 mb-2\"},[_vm._v(\" Uploaded \"),_c('strong',[_vm._v(_vm._s(_vm.file.name))]),_vm._v(\".  \"),(!_vm.uploading)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.remove.apply(null, arguments)}}},[_vm._v(\"Change\")]):_vm._e()]),_c('p',{staticClass:\"text-center p-0 m-0\"},[_c('a',{attrs:{\"href\":\"#\",\"target\":\"_blank\"},on:{\"click\":function($event){$event.preventDefault();return _vm.preview.apply(null, arguments)}}},[_c('svg',{staticClass:\"icon icon-tabler icon-tabler-external-link\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"stroke-width\":\"2\",\"stroke\":\"currentColor\",\"fill\":\"none\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('path',{attrs:{\"stroke\":\"none\",\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M11 7h-5a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-5\"}}),_c('line',{attrs:{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"20\",\"y2\":\"4\"}}),_c('polyline',{attrs:{\"points\":\"15 4 20 4 20 9\"}})]),_vm._v(\" Open Preview \")])])])])]):_vm._e(),(_vm.error)?_c('div',{staticClass:\"text-center\"},[_c('span',{staticClass:\"text-red\"},[_c('strong',[_vm._v(\"File must be a \"+_vm._s(_vm.accept)+\".\")])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n/*! image-blob-reduce 4.1.0 https://github.com/nodeca/image-blob-reduce @license MIT */\nfunction commonjsRequire (path) {\n\tthrow new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\n\nvar utils$1 = {};\n\nutils$1.assign = function assign(to) {\n var from;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) to[key] = from[key];\n }\n }\n\n return to;\n};\n\n\nfunction pick(from, props) {\n var to = {};\n\n props.forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(from, key)) to[key] = from[key];\n });\n\n return to;\n}\n\n\nfunction pick_pica_resize_options(from) {\n return pick(from, [\n 'alpha',\n 'unsharpAmount',\n 'unsharpRadius',\n 'unsharpThreshold',\n 'cancelToken'\n ]);\n}\n\n\nutils$1.pick = pick;\nutils$1.pick_pica_resize_options = pick_pica_resize_options;\n\nvar pica$1 = {exports: {}};\n\n/*!\n\npica\nhttps://github.com/nodeca/pica\n\n*/\n\n(function (module, exports) {\n(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i= 0,\n wasm: __requested_features.indexOf('wasm') >= 0\n };\n Multimath.call(this, features);\n this.features = {\n js: features.js,\n wasm: features.wasm && this.has_wasm()\n };\n this.use(mm_unsharp_mask);\n this.use(mm_resize);\n}\n\nMathLib.prototype = Object.create(Multimath.prototype);\nMathLib.prototype.constructor = MathLib;\n\nMathLib.prototype.resizeAndUnsharp = function resizeAndUnsharp(options, cache) {\n var result = this.resize(options, cache);\n\n if (options.unsharpAmount) {\n this.unsharp_mask(result, options.toWidth, options.toHeight, options.unsharpAmount, options.unsharpRadius, options.unsharpThreshold);\n }\n\n return result;\n};\n\nmodule.exports = MathLib;\n\n},{\"./mm_resize\":4,\"./mm_unsharp_mask\":9,\"multimath\":19}],2:[function(_dereq_,module,exports){\n//var FIXED_FRAC_BITS = 14;\n\nfunction clampTo8(i) {\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clampNegative(i) {\n return i >= 0 ? i : 0;\n} // Convolve image data in horizontal direction. Can be used for:\n//\n// 1. bitmap with premultiplied alpha\n// 2. bitmap without alpha (all values 255)\n//\n// Notes:\n//\n// - output is transposed\n// - output resolution is ~15 bits per channel(for better precision).\n//\n\n\nfunction convolveHor(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n a = a + filterVal * src[srcPtr + 3] | 0;\n b = b + filterVal * src[srcPtr + 2] | 0;\n g = g + filterVal * src[srcPtr + 1] | 0;\n r = r + filterVal * src[srcPtr] | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Store 15 bits between passes for better precision\n // Instead of shift to 14 (FIXED_FRAC_BITS), shift to 7 only\n //\n\n\n dest[destOffset + 3] = clampNegative(a >> 7);\n dest[destOffset + 2] = clampNegative(b >> 7);\n dest[destOffset + 1] = clampNegative(g >> 7);\n dest[destOffset] = clampNegative(r >> 7);\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n} // Supplementary method for `convolveHor()`\n//\n\n\nfunction convolveVert(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n a = a + filterVal * src[srcPtr + 3] | 0;\n b = b + filterVal * src[srcPtr + 2] | 0;\n g = g + filterVal * src[srcPtr + 1] | 0;\n r = r + filterVal * src[srcPtr] | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Sync with premultiplied version for exact result match\n\n\n r >>= 7;\n g >>= 7;\n b >>= 7;\n a >>= 7; // Bring this value back in range + round result.\n //\n\n dest[destOffset + 3] = clampTo8(a + (1 << 13) >> 14);\n dest[destOffset + 2] = clampTo8(b + (1 << 13) >> 14);\n dest[destOffset + 1] = clampTo8(g + (1 << 13) >> 14);\n dest[destOffset] = clampTo8(r + (1 << 13) >> 14);\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n} // Premultiply & convolve image data in horizontal direction. Can be used for:\n//\n// - Any bitmap data, extracted with `.getImageData()` method (with\n// non-premultiplied alpha)\n//\n// For images without alpha channel this method is slower than `convolveHor()`\n//\n\n\nfunction convolveHorWithPre(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a, alpha;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n alpha = src[srcPtr + 3];\n a = a + filterVal * alpha | 0;\n b = b + filterVal * src[srcPtr + 2] * alpha | 0;\n g = g + filterVal * src[srcPtr + 1] * alpha | 0;\n r = r + filterVal * src[srcPtr] * alpha | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Premultiply is (* alpha / 255).\n // Postpone division for better performance\n\n\n b = b / 255 | 0;\n g = g / 255 | 0;\n r = r / 255 | 0; // Store 15 bits between passes for better precision\n // Instead of shift to 14 (FIXED_FRAC_BITS), shift to 7 only\n //\n\n dest[destOffset + 3] = clampNegative(a >> 7);\n dest[destOffset + 2] = clampNegative(b >> 7);\n dest[destOffset + 1] = clampNegative(g >> 7);\n dest[destOffset] = clampNegative(r >> 7);\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n} // Supplementary method for `convolveHorWithPre()`\n//\n\n\nfunction convolveVertWithPre(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n a = a + filterVal * src[srcPtr + 3] | 0;\n b = b + filterVal * src[srcPtr + 2] | 0;\n g = g + filterVal * src[srcPtr + 1] | 0;\n r = r + filterVal * src[srcPtr] | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Downscale to leave room for un-premultiply\n\n\n r >>= 7;\n g >>= 7;\n b >>= 7;\n a >>= 7; // Un-premultiply\n\n a = clampTo8(a + (1 << 13) >> 14);\n\n if (a > 0) {\n r = r * 255 / a | 0;\n g = g * 255 / a | 0;\n b = b * 255 / a | 0;\n } // Bring this value back in range + round result.\n // Shift value = FIXED_FRAC_BITS + 7\n //\n\n\n dest[destOffset + 3] = a;\n dest[destOffset + 2] = clampTo8(b + (1 << 13) >> 14);\n dest[destOffset + 1] = clampTo8(g + (1 << 13) >> 14);\n dest[destOffset] = clampTo8(r + (1 << 13) >> 14);\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n}\n\nmodule.exports = {\n convolveHor: convolveHor,\n convolveVert: convolveVert,\n convolveHorWithPre: convolveHorWithPre,\n convolveVertWithPre: convolveVertWithPre\n};\n\n},{}],3:[function(_dereq_,module,exports){\n/* eslint-disable max-len */\n\nmodule.exports = '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';\n\n},{}],4:[function(_dereq_,module,exports){\n\nmodule.exports = {\n name: 'resize',\n fn: _dereq_('./resize'),\n wasm_fn: _dereq_('./resize_wasm'),\n wasm_src: _dereq_('./convolve_wasm_base64')\n};\n\n},{\"./convolve_wasm_base64\":3,\"./resize\":5,\"./resize_wasm\":8}],5:[function(_dereq_,module,exports){\n\nvar createFilters = _dereq_('./resize_filter_gen');\n\nvar _require = _dereq_('./convolve'),\n convolveHor = _require.convolveHor,\n convolveVert = _require.convolveVert,\n convolveHorWithPre = _require.convolveHorWithPre,\n convolveVertWithPre = _require.convolveVertWithPre;\n\nfunction hasAlpha(src, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n if (src[ptr] !== 255) return true;\n ptr = ptr + 4 | 0;\n }\n\n return false;\n}\n\nfunction resetAlpha(dst, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n dst[ptr] = 0xFF;\n ptr = ptr + 4 | 0;\n }\n}\n\nmodule.exports = function resize(options) {\n var src = options.src;\n var srcW = options.width;\n var srcH = options.height;\n var destW = options.toWidth;\n var destH = options.toHeight;\n var scaleX = options.scaleX || options.toWidth / options.width;\n var scaleY = options.scaleY || options.toHeight / options.height;\n var offsetX = options.offsetX || 0;\n var offsetY = options.offsetY || 0;\n var dest = options.dest || new Uint8Array(destW * destH * 4);\n var filter = typeof options.filter === 'undefined' ? 'mks2013' : options.filter;\n var filtersX = createFilters(filter, srcW, destW, scaleX, offsetX),\n filtersY = createFilters(filter, srcH, destH, scaleY, offsetY);\n var tmp = new Uint16Array(destW * srcH * 4); // Autodetect if alpha channel exists, and use appropriate method\n\n if (hasAlpha(src, srcW, srcH)) {\n convolveHorWithPre(src, tmp, srcW, srcH, destW, filtersX);\n convolveVertWithPre(tmp, dest, srcH, destW, destH, filtersY);\n } else {\n convolveHor(src, tmp, srcW, srcH, destW, filtersX);\n convolveVert(tmp, dest, srcH, destW, destH, filtersY);\n resetAlpha(dest, destW, destH);\n }\n\n return dest;\n};\n\n},{\"./convolve\":2,\"./resize_filter_gen\":6}],6:[function(_dereq_,module,exports){\n\nvar FILTER_INFO = _dereq_('./resize_filter_info'); // Precision of fixed FP values\n\n\nvar FIXED_FRAC_BITS = 14;\n\nfunction toFixedPoint(num) {\n return Math.round(num * ((1 << FIXED_FRAC_BITS) - 1));\n}\n\nmodule.exports = function resizeFilterGen(filter, srcSize, destSize, scale, offset) {\n var filterFunction = FILTER_INFO.filter[filter].fn;\n var scaleInverted = 1.0 / scale;\n var scaleClamped = Math.min(1.0, scale); // For upscale\n // Filter window (averaging interval), scaled to src image\n\n var srcWindow = FILTER_INFO.filter[filter].win / scaleClamped;\n var destPixel, srcPixel, srcFirst, srcLast, filterElementSize, floatFilter, fxpFilter, total, pxl, idx, floatVal, filterTotal, filterVal;\n var leftNotEmpty, rightNotEmpty, filterShift, filterSize;\n var maxFilterElementSize = Math.floor((srcWindow + 1) * 2);\n var packedFilter = new Int16Array((maxFilterElementSize + 2) * destSize);\n var packedFilterPtr = 0;\n var slowCopy = !packedFilter.subarray || !packedFilter.set; // For each destination pixel calculate source range and built filter values\n\n for (destPixel = 0; destPixel < destSize; destPixel++) {\n // Scaling should be done relative to central pixel point\n srcPixel = (destPixel + 0.5) * scaleInverted + offset;\n srcFirst = Math.max(0, Math.floor(srcPixel - srcWindow));\n srcLast = Math.min(srcSize - 1, Math.ceil(srcPixel + srcWindow));\n filterElementSize = srcLast - srcFirst + 1;\n floatFilter = new Float32Array(filterElementSize);\n fxpFilter = new Int16Array(filterElementSize);\n total = 0.0; // Fill filter values for calculated range\n\n for (pxl = srcFirst, idx = 0; pxl <= srcLast; pxl++, idx++) {\n floatVal = filterFunction((pxl + 0.5 - srcPixel) * scaleClamped);\n total += floatVal;\n floatFilter[idx] = floatVal;\n } // Normalize filter, convert to fixed point and accumulate conversion error\n\n\n filterTotal = 0;\n\n for (idx = 0; idx < floatFilter.length; idx++) {\n filterVal = floatFilter[idx] / total;\n filterTotal += filterVal;\n fxpFilter[idx] = toFixedPoint(filterVal);\n } // Compensate normalization error, to minimize brightness drift\n\n\n fxpFilter[destSize >> 1] += toFixedPoint(1.0 - filterTotal); //\n // Now pack filter to useable form\n //\n // 1. Trim heading and tailing zero values, and compensate shitf/length\n // 2. Put all to single array in this format:\n //\n // [ pos shift, data length, value1, value2, value3, ... ]\n //\n\n leftNotEmpty = 0;\n\n while (leftNotEmpty < fxpFilter.length && fxpFilter[leftNotEmpty] === 0) {\n leftNotEmpty++;\n }\n\n if (leftNotEmpty < fxpFilter.length) {\n rightNotEmpty = fxpFilter.length - 1;\n\n while (rightNotEmpty > 0 && fxpFilter[rightNotEmpty] === 0) {\n rightNotEmpty--;\n }\n\n filterShift = srcFirst + leftNotEmpty;\n filterSize = rightNotEmpty - leftNotEmpty + 1;\n packedFilter[packedFilterPtr++] = filterShift; // shift\n\n packedFilter[packedFilterPtr++] = filterSize; // size\n\n if (!slowCopy) {\n packedFilter.set(fxpFilter.subarray(leftNotEmpty, rightNotEmpty + 1), packedFilterPtr);\n packedFilterPtr += filterSize;\n } else {\n // fallback for old IE < 11, without subarray/set methods\n for (idx = leftNotEmpty; idx <= rightNotEmpty; idx++) {\n packedFilter[packedFilterPtr++] = fxpFilter[idx];\n }\n }\n } else {\n // zero data, write header only\n packedFilter[packedFilterPtr++] = 0; // shift\n\n packedFilter[packedFilterPtr++] = 0; // size\n }\n }\n\n return packedFilter;\n};\n\n},{\"./resize_filter_info\":7}],7:[function(_dereq_,module,exports){\n\nvar filter = {\n // Nearest neibor\n box: {\n win: 0.5,\n fn: function fn(x) {\n if (x < 0) x = -x;\n return x < 0.5 ? 1.0 : 0.0;\n }\n },\n // // Hamming\n hamming: {\n win: 1.0,\n fn: function fn(x) {\n if (x < 0) x = -x;\n\n if (x >= 1.0) {\n return 0.0;\n }\n\n if (x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * (0.54 + 0.46 * Math.cos(xpi / 1.0));\n }\n },\n // Lanczos, win = 2\n lanczos2: {\n win: 2.0,\n fn: function fn(x) {\n if (x < 0) x = -x;\n\n if (x >= 2.0) {\n return 0.0;\n }\n\n if (x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * Math.sin(xpi / 2.0) / (xpi / 2.0);\n }\n },\n // Lanczos, win = 3\n lanczos3: {\n win: 3.0,\n fn: function fn(x) {\n if (x < 0) x = -x;\n\n if (x >= 3.0) {\n return 0.0;\n }\n\n if (x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * Math.sin(xpi / 3.0) / (xpi / 3.0);\n }\n },\n // Magic Kernel Sharp 2013, win = 2.5\n // http://johncostella.com/magic/\n mks2013: {\n win: 2.5,\n fn: function fn(x) {\n if (x < 0) x = -x;\n\n if (x >= 2.5) {\n return 0.0;\n }\n\n if (x >= 1.5) {\n return -0.125 * (x - 2.5) * (x - 2.5);\n }\n\n if (x >= 0.5) {\n return 0.25 * (4 * x * x - 11 * x + 7);\n }\n\n return 1.0625 - 1.75 * x * x;\n }\n }\n};\nmodule.exports = {\n filter: filter,\n // Legacy mapping\n f2q: {\n box: 0,\n hamming: 1,\n lanczos2: 2,\n lanczos3: 3\n },\n q2f: ['box', 'hamming', 'lanczos2', 'lanczos3']\n};\n\n},{}],8:[function(_dereq_,module,exports){\n\nvar createFilters = _dereq_('./resize_filter_gen');\n\nfunction hasAlpha(src, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n if (src[ptr] !== 255) return true;\n ptr = ptr + 4 | 0;\n }\n\n return false;\n}\n\nfunction resetAlpha(dst, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n dst[ptr] = 0xFF;\n ptr = ptr + 4 | 0;\n }\n}\n\nfunction asUint8Array(src) {\n return new Uint8Array(src.buffer, 0, src.byteLength);\n}\n\nvar IS_LE = true; // should not crash everything on module load in old browsers\n\ntry {\n IS_LE = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1;\n} catch (__) {}\n\nfunction copyInt16asLE(src, target, target_offset) {\n if (IS_LE) {\n target.set(asUint8Array(src), target_offset);\n return;\n }\n\n for (var ptr = target_offset, i = 0; i < src.length; i++) {\n var data = src[i];\n target[ptr++] = data & 0xFF;\n target[ptr++] = data >> 8 & 0xFF;\n }\n}\n\nmodule.exports = function resize_wasm(options) {\n var src = options.src;\n var srcW = options.width;\n var srcH = options.height;\n var destW = options.toWidth;\n var destH = options.toHeight;\n var scaleX = options.scaleX || options.toWidth / options.width;\n var scaleY = options.scaleY || options.toHeight / options.height;\n var offsetX = options.offsetX || 0.0;\n var offsetY = options.offsetY || 0.0;\n var dest = options.dest || new Uint8Array(destW * destH * 4);\n var filter = typeof options.filter === 'undefined' ? 'mks2013' : options.filter;\n var filtersX = createFilters(filter, srcW, destW, scaleX, offsetX),\n filtersY = createFilters(filter, srcH, destH, scaleY, offsetY); // destination is 0 too.\n\n var src_offset = 0;\n var src_size = Math.max(src.byteLength, dest.byteLength); // buffer between convolve passes\n\n var tmp_offset = this.__align(src_offset + src_size);\n\n var tmp_size = srcH * destW * 4 * 2; // 2 bytes per channel\n\n var filtersX_offset = this.__align(tmp_offset + tmp_size);\n\n var filtersY_offset = this.__align(filtersX_offset + filtersX.byteLength);\n\n var alloc_bytes = filtersY_offset + filtersY.byteLength;\n\n var instance = this.__instance('resize', alloc_bytes); //\n // Fill memory block with data to process\n //\n\n\n var mem = new Uint8Array(this.__memory.buffer);\n var mem32 = new Uint32Array(this.__memory.buffer); // 32-bit copy is much faster in chrome\n\n var src32 = new Uint32Array(src.buffer);\n mem32.set(src32); // We should guarantee LE bytes order. Filters are not big, so\n // speed difference is not significant vs direct .set()\n\n copyInt16asLE(filtersX, mem, filtersX_offset);\n copyInt16asLE(filtersY, mem, filtersY_offset); // Now call webassembly method\n // emsdk does method names with '_'\n\n var fn = instance.exports.convolveHV || instance.exports._convolveHV;\n\n if (hasAlpha(src, srcW, srcH)) {\n fn(filtersX_offset, filtersY_offset, tmp_offset, srcW, srcH, destW, destH, 1);\n } else {\n fn(filtersX_offset, filtersY_offset, tmp_offset, srcW, srcH, destW, destH, 0);\n resetAlpha(dest, destW, destH);\n } //\n // Copy data back to typed array\n //\n // 32-bit copy is much faster in chrome\n\n\n var dest32 = new Uint32Array(dest.buffer);\n dest32.set(new Uint32Array(this.__memory.buffer, 0, destH * destW));\n return dest;\n};\n\n},{\"./resize_filter_gen\":6}],9:[function(_dereq_,module,exports){\n\nmodule.exports = {\n name: 'unsharp_mask',\n fn: _dereq_('./unsharp_mask'),\n wasm_fn: _dereq_('./unsharp_mask_wasm'),\n wasm_src: _dereq_('./unsharp_mask_wasm_base64')\n};\n\n},{\"./unsharp_mask\":10,\"./unsharp_mask_wasm\":11,\"./unsharp_mask_wasm_base64\":12}],10:[function(_dereq_,module,exports){\n\nvar glur_mono16 = _dereq_('glur/mono16');\n\nfunction hsv_v16(img, width, height) {\n var size = width * height;\n var out = new Uint16Array(size);\n var r, g, b, max;\n\n for (var i = 0; i < size; i++) {\n r = img[4 * i];\n g = img[4 * i + 1];\n b = img[4 * i + 2];\n max = r >= g && r >= b ? r : g >= b && g >= r ? g : b;\n out[i] = max << 8;\n }\n\n return out;\n}\n\nmodule.exports = function unsharp(img, width, height, amount, radius, threshold) {\n var v1, v2, vmul;\n var diff, iTimes4;\n\n if (amount === 0 || radius < 0.5) {\n return;\n }\n\n if (radius > 2.0) {\n radius = 2.0;\n }\n\n var brightness = hsv_v16(img, width, height);\n var blured = new Uint16Array(brightness); // copy, because blur modify src\n\n glur_mono16(blured, width, height, radius);\n var amountFp = amount / 100 * 0x1000 + 0.5 | 0;\n var thresholdFp = threshold << 8;\n var size = width * height;\n /* eslint-disable indent */\n\n for (var i = 0; i < size; i++) {\n v1 = brightness[i];\n diff = v1 - blured[i];\n\n if (Math.abs(diff) >= thresholdFp) {\n // add unsharp mask to the brightness channel\n v2 = v1 + (amountFp * diff + 0x800 >> 12); // Both v1 and v2 are within [0.0 .. 255.0] (0000-FF00) range, never going into\n // [255.003 .. 255.996] (FF01-FFFF). This allows to round this value as (x+.5)|0\n // later without overflowing.\n\n v2 = v2 > 0xff00 ? 0xff00 : v2;\n v2 = v2 < 0x0000 ? 0x0000 : v2; // Avoid division by 0. V=0 means rgb(0,0,0), unsharp with unsharpAmount>0 cannot\n // change this value (because diff between colors gets inflated), so no need to verify correctness.\n\n v1 = v1 !== 0 ? v1 : 1; // Multiplying V in HSV model by a constant is equivalent to multiplying each component\n // in RGB by the same constant (same for HSL), see also:\n // https://beesbuzz.biz/code/16-hsv-color-transforms\n\n vmul = (v2 << 12) / v1 | 0; // Result will be in [0..255] range because:\n // - all numbers are positive\n // - r,g,b <= (v1/256)\n // - r,g,b,(v1/256),(v2/256) <= 255\n // So highest this number can get is X*255/X+0.5=255.5 which is < 256 and rounds down.\n\n iTimes4 = i * 4;\n img[iTimes4] = img[iTimes4] * vmul + 0x800 >> 12; // R\n\n img[iTimes4 + 1] = img[iTimes4 + 1] * vmul + 0x800 >> 12; // G\n\n img[iTimes4 + 2] = img[iTimes4 + 2] * vmul + 0x800 >> 12; // B\n }\n }\n};\n\n},{\"glur/mono16\":18}],11:[function(_dereq_,module,exports){\n\nmodule.exports = function unsharp(img, width, height, amount, radius, threshold) {\n if (amount === 0 || radius < 0.5) {\n return;\n }\n\n if (radius > 2.0) {\n radius = 2.0;\n }\n\n var pixels = width * height;\n var img_bytes_cnt = pixels * 4;\n var hsv_bytes_cnt = pixels * 2;\n var blur_bytes_cnt = pixels * 2;\n var blur_line_byte_cnt = Math.max(width, height) * 4; // float32 array\n\n var blur_coeffs_byte_cnt = 8 * 4; // float32 array\n\n var img_offset = 0;\n var hsv_offset = img_bytes_cnt;\n var blur_offset = hsv_offset + hsv_bytes_cnt;\n var blur_tmp_offset = blur_offset + blur_bytes_cnt;\n var blur_line_offset = blur_tmp_offset + blur_bytes_cnt;\n var blur_coeffs_offset = blur_line_offset + blur_line_byte_cnt;\n\n var instance = this.__instance('unsharp_mask', img_bytes_cnt + hsv_bytes_cnt + blur_bytes_cnt * 2 + blur_line_byte_cnt + blur_coeffs_byte_cnt, {\n exp: Math.exp\n }); // 32-bit copy is much faster in chrome\n\n\n var img32 = new Uint32Array(img.buffer);\n var mem32 = new Uint32Array(this.__memory.buffer);\n mem32.set(img32); // HSL\n\n var fn = instance.exports.hsv_v16 || instance.exports._hsv_v16;\n fn(img_offset, hsv_offset, width, height); // BLUR\n\n fn = instance.exports.blurMono16 || instance.exports._blurMono16;\n fn(hsv_offset, blur_offset, blur_tmp_offset, blur_line_offset, blur_coeffs_offset, width, height, radius); // UNSHARP\n\n fn = instance.exports.unsharp || instance.exports._unsharp;\n fn(img_offset, img_offset, hsv_offset, blur_offset, width, height, amount, threshold); // 32-bit copy is much faster in chrome\n\n img32.set(new Uint32Array(this.__memory.buffer, 0, pixels));\n};\n\n},{}],12:[function(_dereq_,module,exports){\n/* eslint-disable max-len */\n\nmodule.exports = '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';\n\n},{}],13:[function(_dereq_,module,exports){\n\nvar GC_INTERVAL = 100;\n\nfunction Pool(create, idle) {\n this.create = create;\n this.available = [];\n this.acquired = {};\n this.lastId = 1;\n this.timeoutId = 0;\n this.idle = idle || 2000;\n}\n\nPool.prototype.acquire = function () {\n var _this = this;\n\n var resource;\n\n if (this.available.length !== 0) {\n resource = this.available.pop();\n } else {\n resource = this.create();\n resource.id = this.lastId++;\n\n resource.release = function () {\n return _this.release(resource);\n };\n }\n\n this.acquired[resource.id] = resource;\n return resource;\n};\n\nPool.prototype.release = function (resource) {\n var _this2 = this;\n\n delete this.acquired[resource.id];\n resource.lastUsed = Date.now();\n this.available.push(resource);\n\n if (this.timeoutId === 0) {\n this.timeoutId = setTimeout(function () {\n return _this2.gc();\n }, GC_INTERVAL);\n }\n};\n\nPool.prototype.gc = function () {\n var _this3 = this;\n\n var now = Date.now();\n this.available = this.available.filter(function (resource) {\n if (now - resource.lastUsed > _this3.idle) {\n resource.destroy();\n return false;\n }\n\n return true;\n });\n\n if (this.available.length !== 0) {\n this.timeoutId = setTimeout(function () {\n return _this3.gc();\n }, GC_INTERVAL);\n } else {\n this.timeoutId = 0;\n }\n};\n\nmodule.exports = Pool;\n\n},{}],14:[function(_dereq_,module,exports){\n// min size = 1 can consume large amount of memory\n\nvar MIN_INNER_TILE_SIZE = 2;\n\nmodule.exports = function createStages(fromWidth, fromHeight, toWidth, toHeight, srcTileSize, destTileBorder) {\n var scaleX = toWidth / fromWidth;\n var scaleY = toHeight / fromHeight; // derived from createRegions equation:\n // innerTileWidth = pixelFloor(srcTileSize * scaleX) - 2 * destTileBorder;\n\n var minScale = (2 * destTileBorder + MIN_INNER_TILE_SIZE + 1) / srcTileSize; // refuse to scale image multiple times by less than twice each time,\n // it could only happen because of invalid options\n\n if (minScale > 0.5) return [[toWidth, toHeight]];\n var stageCount = Math.ceil(Math.log(Math.min(scaleX, scaleY)) / Math.log(minScale)); // no additional resizes are necessary,\n // stageCount can be zero or be negative when enlarging the image\n\n if (stageCount <= 1) return [[toWidth, toHeight]];\n var result = [];\n\n for (var i = 0; i < stageCount; i++) {\n var width = Math.round(Math.pow(Math.pow(fromWidth, stageCount - i - 1) * Math.pow(toWidth, i + 1), 1 / stageCount));\n var height = Math.round(Math.pow(Math.pow(fromHeight, stageCount - i - 1) * Math.pow(toHeight, i + 1), 1 / stageCount));\n result.push([width, height]);\n }\n\n return result;\n};\n\n},{}],15:[function(_dereq_,module,exports){\n/*\n * pixelFloor and pixelCeil are modified versions of Math.floor and Math.ceil\n * functions which take into account floating point arithmetic errors.\n * Those errors can cause undesired increments/decrements of sizes and offsets:\n * Math.ceil(36 / (36 / 500)) = 501\n * pixelCeil(36 / (36 / 500)) = 500\n */\n\nvar PIXEL_EPSILON = 1e-5;\n\nfunction pixelFloor(x) {\n var nearest = Math.round(x);\n\n if (Math.abs(x - nearest) < PIXEL_EPSILON) {\n return nearest;\n }\n\n return Math.floor(x);\n}\n\nfunction pixelCeil(x) {\n var nearest = Math.round(x);\n\n if (Math.abs(x - nearest) < PIXEL_EPSILON) {\n return nearest;\n }\n\n return Math.ceil(x);\n}\n\nmodule.exports = function createRegions(options) {\n var scaleX = options.toWidth / options.width;\n var scaleY = options.toHeight / options.height;\n var innerTileWidth = pixelFloor(options.srcTileSize * scaleX) - 2 * options.destTileBorder;\n var innerTileHeight = pixelFloor(options.srcTileSize * scaleY) - 2 * options.destTileBorder; // prevent infinite loop, this should never happen\n\n if (innerTileWidth < 1 || innerTileHeight < 1) {\n throw new Error('Internal error in pica: target tile width/height is too small.');\n }\n\n var x, y;\n var innerX, innerY, toTileWidth, toTileHeight;\n var tiles = [];\n var tile; // we go top-to-down instead of left-to-right to make image displayed from top to\n // doesn in the browser\n\n for (innerY = 0; innerY < options.toHeight; innerY += innerTileHeight) {\n for (innerX = 0; innerX < options.toWidth; innerX += innerTileWidth) {\n x = innerX - options.destTileBorder;\n\n if (x < 0) {\n x = 0;\n }\n\n toTileWidth = innerX + innerTileWidth + options.destTileBorder - x;\n\n if (x + toTileWidth >= options.toWidth) {\n toTileWidth = options.toWidth - x;\n }\n\n y = innerY - options.destTileBorder;\n\n if (y < 0) {\n y = 0;\n }\n\n toTileHeight = innerY + innerTileHeight + options.destTileBorder - y;\n\n if (y + toTileHeight >= options.toHeight) {\n toTileHeight = options.toHeight - y;\n }\n\n tile = {\n toX: x,\n toY: y,\n toWidth: toTileWidth,\n toHeight: toTileHeight,\n toInnerX: innerX,\n toInnerY: innerY,\n toInnerWidth: innerTileWidth,\n toInnerHeight: innerTileHeight,\n offsetX: x / scaleX - pixelFloor(x / scaleX),\n offsetY: y / scaleY - pixelFloor(y / scaleY),\n scaleX: scaleX,\n scaleY: scaleY,\n x: pixelFloor(x / scaleX),\n y: pixelFloor(y / scaleY),\n width: pixelCeil(toTileWidth / scaleX),\n height: pixelCeil(toTileHeight / scaleY)\n };\n tiles.push(tile);\n }\n }\n\n return tiles;\n};\n\n},{}],16:[function(_dereq_,module,exports){\n\nfunction objClass(obj) {\n return Object.prototype.toString.call(obj);\n}\n\nmodule.exports.isCanvas = function isCanvas(element) {\n var cname = objClass(element);\n return cname === '[object HTMLCanvasElement]'\n /* browser */\n || cname === '[object OffscreenCanvas]' || cname === '[object Canvas]'\n /* node-canvas */\n ;\n};\n\nmodule.exports.isImage = function isImage(element) {\n return objClass(element) === '[object HTMLImageElement]';\n};\n\nmodule.exports.isImageBitmap = function isImageBitmap(element) {\n return objClass(element) === '[object ImageBitmap]';\n};\n\nmodule.exports.limiter = function limiter(concurrency) {\n var active = 0,\n queue = [];\n\n function roll() {\n if (active < concurrency && queue.length) {\n active++;\n queue.shift()();\n }\n }\n\n return function limit(fn) {\n return new Promise(function (resolve, reject) {\n queue.push(function () {\n fn().then(function (result) {\n resolve(result);\n active--;\n roll();\n }, function (err) {\n reject(err);\n active--;\n roll();\n });\n });\n roll();\n });\n };\n};\n\nmodule.exports.cib_quality_name = function cib_quality_name(num) {\n switch (num) {\n case 0:\n return 'pixelated';\n\n case 1:\n return 'low';\n\n case 2:\n return 'medium';\n }\n\n return 'high';\n};\n\nmodule.exports.cib_support = function cib_support(createCanvas) {\n return Promise.resolve().then(function () {\n if (typeof createImageBitmap === 'undefined') {\n return false;\n }\n\n var c = createCanvas(100, 100);\n return createImageBitmap(c, 0, 0, 100, 100, {\n resizeWidth: 10,\n resizeHeight: 10,\n resizeQuality: 'high'\n }).then(function (bitmap) {\n var status = bitmap.width === 10; // Branch below is filtered on upper level. We do not call resize\n // detection for basic ImageBitmap.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap\n // old Crome 51 has ImageBitmap without .close(). Then this code\n // will throw and return 'false' as expected.\n //\n\n bitmap.close();\n c = null;\n return status;\n });\n })[\"catch\"](function () {\n return false;\n });\n};\n\nmodule.exports.worker_offscreen_canvas_support = function worker_offscreen_canvas_support() {\n return new Promise(function (resolve, reject) {\n if (typeof OffscreenCanvas === 'undefined') {\n // if OffscreenCanvas is present, we assume browser supports Worker and built-in Promise as well\n resolve(false);\n return;\n }\n\n function workerPayload(self) {\n if (typeof createImageBitmap === 'undefined') {\n self.postMessage(false);\n return;\n }\n\n Promise.resolve().then(function () {\n var canvas = new OffscreenCanvas(10, 10); // test that 2d context can be used in worker\n\n var ctx = canvas.getContext('2d');\n ctx.rect(0, 0, 1, 1); // test that cib can be used to return image bitmap from worker\n\n return createImageBitmap(canvas, 0, 0, 1, 1);\n }).then(function () {\n return self.postMessage(true);\n }, function () {\n return self.postMessage(false);\n });\n }\n\n var code = btoa(\"(\".concat(workerPayload.toString(), \")(self);\"));\n var w = new Worker(\"data:text/javascript;base64,\".concat(code));\n\n w.onmessage = function (ev) {\n return resolve(ev.data);\n };\n\n w.onerror = reject;\n }).then(function (result) {\n return result;\n }, function () {\n return false;\n });\n}; // Check if canvas.getContext('2d').getImageData can be used,\n// FireFox randomizes the output of that function in `privacy.resistFingerprinting` mode\n\n\nmodule.exports.can_use_canvas = function can_use_canvas(createCanvas) {\n var usable = false;\n\n try {\n var canvas = createCanvas(2, 1);\n var ctx = canvas.getContext('2d');\n var d = ctx.createImageData(2, 1);\n d.data[0] = 12;\n d.data[1] = 23;\n d.data[2] = 34;\n d.data[3] = 255;\n d.data[4] = 45;\n d.data[5] = 56;\n d.data[6] = 67;\n d.data[7] = 255;\n ctx.putImageData(d, 0, 0);\n d = null;\n d = ctx.getImageData(0, 0, 2, 1);\n\n if (d.data[0] === 12 && d.data[1] === 23 && d.data[2] === 34 && d.data[3] === 255 && d.data[4] === 45 && d.data[5] === 56 && d.data[6] === 67 && d.data[7] === 255) {\n usable = true;\n }\n } catch (err) {}\n\n return usable;\n}; // Check if createImageBitmap(img, sx, sy, sw, sh) signature works correctly\n// with JPEG images oriented with Exif;\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1220671\n// TODO: remove after it's fixed in chrome for at least 2 releases\n\n\nmodule.exports.cib_can_use_region = function cib_can_use_region() {\n return new Promise(function (resolve) {\n if (typeof createImageBitmap === 'undefined') {\n resolve(false);\n return;\n }\n\n var image = new Image();\n image.src = 'data:image/jpeg;base64,' + '/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAA' + 'AABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9' + 'sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRc' + 'ZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoa' + 'GhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRA' + 'f/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAA' + 'IQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAA' + 'AAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIB' + 'AT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAA' + 'AAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAA' + 'AAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQ' + 'QAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z';\n\n image.onload = function () {\n createImageBitmap(image, 0, 0, image.width, image.height).then(function (bitmap) {\n if (bitmap.width === image.width && bitmap.height === image.height) {\n resolve(true);\n } else {\n resolve(false);\n }\n }, function () {\n return resolve(false);\n });\n };\n\n image.onerror = function () {\n return resolve(false);\n };\n });\n};\n\n},{}],17:[function(_dereq_,module,exports){\n\nmodule.exports = function () {\n var MathLib = _dereq_('./mathlib');\n\n var mathLib;\n /* eslint-disable no-undef */\n\n onmessage = function onmessage(ev) {\n var tileOpts = ev.data.opts;\n\n if (!tileOpts.src && tileOpts.srcBitmap) {\n var canvas = new OffscreenCanvas(tileOpts.width, tileOpts.height);\n var ctx = canvas.getContext('2d');\n ctx.drawImage(tileOpts.srcBitmap, 0, 0);\n tileOpts.src = ctx.getImageData(0, 0, tileOpts.width, tileOpts.height).data;\n canvas.width = canvas.height = 0;\n canvas = null;\n tileOpts.srcBitmap.close();\n tileOpts.srcBitmap = null; // Temporary force out data to typed array, because Chrome have artefacts\n // https://github.com/nodeca/pica/issues/223\n // returnBitmap = true;\n }\n\n if (!mathLib) mathLib = new MathLib(ev.data.features); // Use multimath's sync auto-init. Avoid Promise use in old browsers,\n // because polyfills are not propagated to webworker.\n\n var data = mathLib.resizeAndUnsharp(tileOpts);\n\n {\n postMessage({\n data: data\n }, [data.buffer]);\n }\n };\n};\n\n},{\"./mathlib\":1}],18:[function(_dereq_,module,exports){\n// Calculate Gaussian blur of an image using IIR filter\n// The method is taken from Intel's white paper and code example attached to it:\n// https://software.intel.com/en-us/articles/iir-gaussian-blur-filter\n// -implementation-using-intel-advanced-vector-extensions\n\nvar a0, a1, a2, a3, b1, b2, left_corner, right_corner;\n\nfunction gaussCoef(sigma) {\n if (sigma < 0.5) {\n sigma = 0.5;\n }\n\n var a = Math.exp(0.726 * 0.726) / sigma,\n g1 = Math.exp(-a),\n g2 = Math.exp(-2 * a),\n k = (1 - g1) * (1 - g1) / (1 + 2 * a * g1 - g2);\n\n a0 = k;\n a1 = k * (a - 1) * g1;\n a2 = k * (a + 1) * g1;\n a3 = -k * g2;\n b1 = 2 * g1;\n b2 = -g2;\n left_corner = (a0 + a1) / (1 - b1 - b2);\n right_corner = (a2 + a3) / (1 - b1 - b2);\n\n // Attempt to force type to FP32.\n return new Float32Array([ a0, a1, a2, a3, b1, b2, left_corner, right_corner ]);\n}\n\nfunction convolveMono16(src, out, line, coeff, width, height) {\n // takes src image and writes the blurred and transposed result into out\n\n var prev_src, curr_src, curr_out, prev_out, prev_prev_out;\n var src_index, out_index, line_index;\n var i, j;\n var coeff_a0, coeff_a1, coeff_b1, coeff_b2;\n\n for (i = 0; i < height; i++) {\n src_index = i * width;\n out_index = i;\n line_index = 0;\n\n // left to right\n prev_src = src[src_index];\n prev_prev_out = prev_src * coeff[6];\n prev_out = prev_prev_out;\n\n coeff_a0 = coeff[0];\n coeff_a1 = coeff[1];\n coeff_b1 = coeff[4];\n coeff_b2 = coeff[5];\n\n for (j = 0; j < width; j++) {\n curr_src = src[src_index];\n\n curr_out = curr_src * coeff_a0 +\n prev_src * coeff_a1 +\n prev_out * coeff_b1 +\n prev_prev_out * coeff_b2;\n\n prev_prev_out = prev_out;\n prev_out = curr_out;\n prev_src = curr_src;\n\n line[line_index] = prev_out;\n line_index++;\n src_index++;\n }\n\n src_index--;\n line_index--;\n out_index += height * (width - 1);\n\n // right to left\n prev_src = src[src_index];\n prev_prev_out = prev_src * coeff[7];\n prev_out = prev_prev_out;\n curr_src = prev_src;\n\n coeff_a0 = coeff[2];\n coeff_a1 = coeff[3];\n\n for (j = width - 1; j >= 0; j--) {\n curr_out = curr_src * coeff_a0 +\n prev_src * coeff_a1 +\n prev_out * coeff_b1 +\n prev_prev_out * coeff_b2;\n\n prev_prev_out = prev_out;\n prev_out = curr_out;\n\n prev_src = curr_src;\n curr_src = src[src_index];\n\n out[out_index] = line[line_index] + prev_out;\n\n src_index--;\n line_index--;\n out_index -= height;\n }\n }\n}\n\n\nfunction blurMono16(src, width, height, radius) {\n // Quick exit on zero radius\n if (!radius) { return; }\n\n var out = new Uint16Array(src.length),\n tmp_line = new Float32Array(Math.max(width, height));\n\n var coeff = gaussCoef(radius);\n\n convolveMono16(src, out, tmp_line, coeff, width, height);\n convolveMono16(out, src, tmp_line, coeff, height, width);\n}\n\nmodule.exports = blurMono16;\n\n},{}],19:[function(_dereq_,module,exports){\n\n\nvar assign = _dereq_('object-assign');\nvar base64decode = _dereq_('./lib/base64decode');\nvar hasWebAssembly = _dereq_('./lib/wa_detect');\n\n\nvar DEFAULT_OPTIONS = {\n js: true,\n wasm: true\n};\n\n\nfunction MultiMath(options) {\n if (!(this instanceof MultiMath)) return new MultiMath(options);\n\n var opts = assign({}, DEFAULT_OPTIONS, options || {});\n\n this.options = opts;\n\n this.__cache = {};\n\n this.__init_promise = null;\n this.__modules = opts.modules || {};\n this.__memory = null;\n this.__wasm = {};\n\n this.__isLE = ((new Uint32Array((new Uint8Array([ 1, 0, 0, 0 ])).buffer))[0] === 1);\n\n if (!this.options.js && !this.options.wasm) {\n throw new Error('mathlib: at least \"js\" or \"wasm\" should be enabled');\n }\n}\n\n\nMultiMath.prototype.has_wasm = hasWebAssembly;\n\n\nMultiMath.prototype.use = function (module) {\n this.__modules[module.name] = module;\n\n // Pin the best possible implementation\n if (this.options.wasm && this.has_wasm() && module.wasm_fn) {\n this[module.name] = module.wasm_fn;\n } else {\n this[module.name] = module.fn;\n }\n\n return this;\n};\n\n\nMultiMath.prototype.init = function () {\n if (this.__init_promise) return this.__init_promise;\n\n if (!this.options.js && this.options.wasm && !this.has_wasm()) {\n return Promise.reject(new Error('mathlib: only \"wasm\" was enabled, but it\\'s not supported'));\n }\n\n var self = this;\n\n this.__init_promise = Promise.all(Object.keys(self.__modules).map(function (name) {\n var module = self.__modules[name];\n\n if (!self.options.wasm || !self.has_wasm() || !module.wasm_fn) return null;\n\n // If already compiled - exit\n if (self.__wasm[name]) return null;\n\n // Compile wasm source\n return WebAssembly.compile(self.__base64decode(module.wasm_src))\n .then(function (m) { self.__wasm[name] = m; });\n }))\n .then(function () { return self; });\n\n return this.__init_promise;\n};\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Methods below are for internal use from plugins\n\n\n// Simple decode base64 to typed array. Useful to load embedded webassembly\n// code. You probably don't need to call this method directly.\n//\nMultiMath.prototype.__base64decode = base64decode;\n\n\n// Increase current memory to include specified number of bytes. Do nothing if\n// size is already ok. You probably don't need to call this method directly,\n// because it will be invoked from `.__instance()`.\n//\nMultiMath.prototype.__reallocate = function mem_grow_to(bytes) {\n if (!this.__memory) {\n this.__memory = new WebAssembly.Memory({\n initial: Math.ceil(bytes / (64 * 1024))\n });\n return this.__memory;\n }\n\n var mem_size = this.__memory.buffer.byteLength;\n\n if (mem_size < bytes) {\n this.__memory.grow(Math.ceil((bytes - mem_size) / (64 * 1024)));\n }\n\n return this.__memory;\n};\n\n\n// Returns instantinated webassembly item by name, with specified memory size\n// and environment.\n// - use cache if available\n// - do sync module init, if async init was not called earlier\n// - allocate memory if not enougth\n// - can export functions to webassembly via \"env_extra\",\n// for example, { exp: Math.exp }\n//\nMultiMath.prototype.__instance = function instance(name, memsize, env_extra) {\n if (memsize) this.__reallocate(memsize);\n\n // If .init() was not called, do sync compile\n if (!this.__wasm[name]) {\n var module = this.__modules[name];\n this.__wasm[name] = new WebAssembly.Module(this.__base64decode(module.wasm_src));\n }\n\n if (!this.__cache[name]) {\n var env_base = {\n memoryBase: 0,\n memory: this.__memory,\n tableBase: 0,\n table: new WebAssembly.Table({ initial: 0, element: 'anyfunc' })\n };\n\n this.__cache[name] = new WebAssembly.Instance(this.__wasm[name], {\n env: assign(env_base, env_extra || {})\n });\n }\n\n return this.__cache[name];\n};\n\n\n// Helper to calculate memory aligh for pointers. Webassembly does not require\n// this, but you may wish to experiment. Default base = 8;\n//\nMultiMath.prototype.__align = function align(number, base) {\n base = base || 8;\n var reminder = number % base;\n return number + (reminder ? base - reminder : 0);\n};\n\n\nmodule.exports = MultiMath;\n\n},{\"./lib/base64decode\":20,\"./lib/wa_detect\":21,\"object-assign\":22}],20:[function(_dereq_,module,exports){\n\n\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n\nmodule.exports = function base64decode(str) {\n var input = str.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length;\n\n var out = new Uint8Array((max * 3) >> 2);\n\n // Collect by 6*4 bits (3 bytes)\n\n var bits = 0;\n var ptr = 0;\n\n for (var idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n out[ptr++] = (bits >> 16) & 0xFF;\n out[ptr++] = (bits >> 8) & 0xFF;\n out[ptr++] = bits & 0xFF;\n }\n\n bits = (bits << 6) | BASE64_MAP.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n var tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n out[ptr++] = (bits >> 16) & 0xFF;\n out[ptr++] = (bits >> 8) & 0xFF;\n out[ptr++] = bits & 0xFF;\n } else if (tailbits === 18) {\n out[ptr++] = (bits >> 10) & 0xFF;\n out[ptr++] = (bits >> 2) & 0xFF;\n } else if (tailbits === 12) {\n out[ptr++] = (bits >> 4) & 0xFF;\n }\n\n return out;\n};\n\n},{}],21:[function(_dereq_,module,exports){\n\n\nvar wa;\n\n\nmodule.exports = function hasWebAssembly() {\n // use cache if called before;\n if (typeof wa !== 'undefined') return wa;\n\n wa = false;\n\n if (typeof WebAssembly === 'undefined') return wa;\n\n // If WebAssenbly is disabled, code can throw on compile\n try {\n // https://github.com/brion/min-wasm-fail/blob/master/min-wasm-fail.in.js\n // Additional check that WA internals are correct\n\n /* eslint-disable comma-spacing, max-len */\n var bin = new Uint8Array([ 0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11 ]);\n var module = new WebAssembly.Module(bin);\n var instance = new WebAssembly.Instance(module, {});\n\n // test storing to and loading from a non-zero location via a parameter.\n // Safari on iOS 11.2.5 returns 0 unexpectedly at non-zero locations\n if (instance.exports.test(4) !== 0) wa = true;\n\n return wa;\n } catch (__) {}\n\n return wa;\n};\n\n},{}],22:[function(_dereq_,module,exports){\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n},{}],23:[function(_dereq_,module,exports){\nvar bundleFn = arguments[3];\nvar sources = arguments[4];\nvar cache = arguments[5];\n\nvar stringify = JSON.stringify;\n\nmodule.exports = function (fn, options) {\n var wkey;\n var cacheKeys = Object.keys(cache);\n\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n var exp = cache[key].exports;\n // Using babel as a transpiler to use esmodule, the export will always\n // be an object with the default export as a property of it. To ensure\n // the existing api and babel esmodule exports are both supported we\n // check for both\n if (exp === fn || exp && exp.default === fn) {\n wkey = key;\n break;\n }\n }\n\n if (!wkey) {\n wkey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n var wcache = {};\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n wcache[key] = key;\n }\n sources[wkey] = [\n 'function(require,module,exports){' + fn + '(self); }',\n wcache\n ];\n }\n var skey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n\n var scache = {}; scache[wkey] = wkey;\n sources[skey] = [\n 'function(require,module,exports){' +\n // try to call default if defined to also support babel esmodule exports\n 'var f = require(' + stringify(wkey) + ');' +\n '(f.default ? f.default : f)(self);' +\n '}',\n scache\n ];\n\n var workerSources = {};\n resolveSources(skey);\n\n function resolveSources(key) {\n workerSources[key] = true;\n\n for (var depPath in sources[key][1]) {\n var depKey = sources[key][1][depPath];\n if (!workerSources[depKey]) {\n resolveSources(depKey);\n }\n }\n }\n\n var src = '(' + bundleFn + ')({'\n + Object.keys(workerSources).map(function (key) {\n return stringify(key) + ':['\n + sources[key][0]\n + ',' + stringify(sources[key][1]) + ']'\n ;\n }).join(',')\n + '},{},[' + stringify(skey) + '])'\n ;\n\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\n\n var blob = new Blob([src], { type: 'text/javascript' });\n if (options && options.bare) { return blob; }\n var workerUrl = URL.createObjectURL(blob);\n var worker = new Worker(workerUrl);\n worker.objectURL = workerUrl;\n return worker;\n};\n\n},{}],\"/index.js\":[function(_dereq_,module,exports){\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar assign = _dereq_('object-assign');\n\nvar webworkify = _dereq_('webworkify');\n\nvar MathLib = _dereq_('./lib/mathlib');\n\nvar Pool = _dereq_('./lib/pool');\n\nvar utils = _dereq_('./lib/utils');\n\nvar worker = _dereq_('./lib/worker');\n\nvar createStages = _dereq_('./lib/stepper');\n\nvar createRegions = _dereq_('./lib/tiler');\n\nvar filter_info = _dereq_('./lib/mm_resize/resize_filter_info'); // Deduplicate pools & limiters with the same configs\n// when user creates multiple pica instances.\n\n\nvar singletones = {};\nvar NEED_SAFARI_FIX = false;\n\ntry {\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\n NEED_SAFARI_FIX = navigator.userAgent.indexOf('Safari') >= 0;\n }\n} catch (e) {}\n\nvar concurrency = 1;\n\nif (typeof navigator !== 'undefined') {\n concurrency = Math.min(navigator.hardwareConcurrency || 1, 4);\n}\n\nvar DEFAULT_PICA_OPTS = {\n tile: 1024,\n concurrency: concurrency,\n features: ['js', 'wasm', 'ww'],\n idle: 2000,\n createCanvas: function createCanvas(width, height) {\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n return tmpCanvas;\n }\n};\nvar DEFAULT_RESIZE_OPTS = {\n filter: 'mks2013',\n unsharpAmount: 0,\n unsharpRadius: 0.0,\n unsharpThreshold: 0\n};\nvar CAN_NEW_IMAGE_DATA = false;\nvar CAN_CREATE_IMAGE_BITMAP = false;\nvar CAN_USE_CANVAS_GET_IMAGE_DATA = false;\nvar CAN_USE_OFFSCREEN_CANVAS = false;\nvar CAN_USE_CIB_REGION_FOR_IMAGE = false;\n\nfunction workerFabric() {\n return {\n value: webworkify(worker),\n destroy: function destroy() {\n this.value.terminate();\n\n if (typeof window !== 'undefined') {\n var url = window.URL || window.webkitURL || window.mozURL || window.msURL;\n\n if (url && url.revokeObjectURL && this.value.objectURL) {\n url.revokeObjectURL(this.value.objectURL);\n }\n }\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// API methods\n\n\nfunction Pica(options) {\n if (!(this instanceof Pica)) return new Pica(options);\n this.options = assign({}, DEFAULT_PICA_OPTS, options || {});\n var limiter_key = \"lk_\".concat(this.options.concurrency); // Share limiters to avoid multiple parallel workers when user creates\n // multiple pica instances.\n\n this.__limit = singletones[limiter_key] || utils.limiter(this.options.concurrency);\n if (!singletones[limiter_key]) singletones[limiter_key] = this.__limit; // List of supported features, according to options & browser/node.js\n\n this.features = {\n js: false,\n // pure JS implementation, can be disabled for testing\n wasm: false,\n // webassembly implementation for heavy functions\n cib: false,\n // resize via createImageBitmap (only FF at this moment)\n ww: false // webworkers\n\n };\n this.__workersPool = null; // Store requested features for webworkers\n\n this.__requested_features = [];\n this.__mathlib = null;\n}\n\nPica.prototype.init = function () {\n var _this = this;\n\n if (this.__initPromise) return this.__initPromise; // Test if we can create ImageData without canvas and memory copy\n\n if (typeof ImageData !== 'undefined' && typeof Uint8ClampedArray !== 'undefined') {\n try {\n /* eslint-disable no-new */\n new ImageData(new Uint8ClampedArray(400), 10, 10);\n CAN_NEW_IMAGE_DATA = true;\n } catch (__) {}\n } // ImageBitmap can be effective in 2 places:\n //\n // 1. Threaded jpeg unpack (basic)\n // 2. Built-in resize (blocked due problem in chrome, see issue #89)\n //\n // For basic use we also need ImageBitmap wo support .close() method,\n // see https://developer.mozilla.org/ru/docs/Web/API/ImageBitmap\n\n\n if (typeof ImageBitmap !== 'undefined') {\n if (ImageBitmap.prototype && ImageBitmap.prototype.close) {\n CAN_CREATE_IMAGE_BITMAP = true;\n } else {\n this.debug('ImageBitmap does not support .close(), disabled');\n }\n }\n\n var features = this.options.features.slice();\n\n if (features.indexOf('all') >= 0) {\n features = ['cib', 'wasm', 'js', 'ww'];\n }\n\n this.__requested_features = features;\n this.__mathlib = new MathLib(features); // Check WebWorker support if requested\n\n if (features.indexOf('ww') >= 0) {\n if (typeof window !== 'undefined' && 'Worker' in window) {\n // IE <= 11 don't allow to create webworkers from string. We should check it.\n // https://connect.microsoft.com/IE/feedback/details/801810/web-workers-from-blob-urls-in-ie-10-and-11\n try {\n var wkr = _dereq_('webworkify')(function () {});\n\n wkr.terminate();\n this.features.ww = true; // pool uniqueness depends on pool config + webworker config\n\n var wpool_key = \"wp_\".concat(JSON.stringify(this.options));\n\n if (singletones[wpool_key]) {\n this.__workersPool = singletones[wpool_key];\n } else {\n this.__workersPool = new Pool(workerFabric, this.options.idle);\n singletones[wpool_key] = this.__workersPool;\n }\n } catch (__) {}\n }\n }\n\n var initMath = this.__mathlib.init().then(function (mathlib) {\n // Copy detected features\n assign(_this.features, mathlib.features);\n });\n\n var checkCibResize;\n\n if (!CAN_CREATE_IMAGE_BITMAP) {\n checkCibResize = Promise.resolve(false);\n } else {\n checkCibResize = utils.cib_support(this.options.createCanvas).then(function (status) {\n if (_this.features.cib && features.indexOf('cib') < 0) {\n _this.debug('createImageBitmap() resize supported, but disabled by config');\n\n return;\n }\n\n if (features.indexOf('cib') >= 0) _this.features.cib = status;\n });\n }\n\n CAN_USE_CANVAS_GET_IMAGE_DATA = utils.can_use_canvas(this.options.createCanvas);\n var checkOffscreenCanvas;\n\n if (CAN_CREATE_IMAGE_BITMAP && CAN_NEW_IMAGE_DATA && features.indexOf('ww') !== -1) {\n checkOffscreenCanvas = utils.worker_offscreen_canvas_support();\n } else {\n checkOffscreenCanvas = Promise.resolve(false);\n }\n\n checkOffscreenCanvas = checkOffscreenCanvas.then(function (result) {\n CAN_USE_OFFSCREEN_CANVAS = result;\n }); // we use createImageBitmap to crop image data and pass it to workers,\n // so need to check whether function works correctly;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1220671\n\n var checkCibRegion = utils.cib_can_use_region().then(function (result) {\n CAN_USE_CIB_REGION_FOR_IMAGE = result;\n }); // Init math lib. That's async because can load some\n\n this.__initPromise = Promise.all([initMath, checkCibResize, checkOffscreenCanvas, checkCibRegion]).then(function () {\n return _this;\n });\n return this.__initPromise;\n}; // Call resizer in webworker or locally, depending on config\n\n\nPica.prototype.__invokeResize = function (tileOpts, opts) {\n var _this2 = this;\n\n // Share cache between calls:\n //\n // - wasm instance\n // - wasm memory object\n //\n opts.__mathCache = opts.__mathCache || {};\n return Promise.resolve().then(function () {\n if (!_this2.features.ww) {\n // not possible to have ImageBitmap here if user disabled WW\n return {\n data: _this2.__mathlib.resizeAndUnsharp(tileOpts, opts.__mathCache)\n };\n }\n\n return new Promise(function (resolve, reject) {\n var w = _this2.__workersPool.acquire();\n\n if (opts.cancelToken) opts.cancelToken[\"catch\"](function (err) {\n return reject(err);\n });\n\n w.value.onmessage = function (ev) {\n w.release();\n if (ev.data.err) reject(ev.data.err);else resolve(ev.data);\n };\n\n var transfer = [];\n if (tileOpts.src) transfer.push(tileOpts.src.buffer);\n if (tileOpts.srcBitmap) transfer.push(tileOpts.srcBitmap);\n w.value.postMessage({\n opts: tileOpts,\n features: _this2.__requested_features,\n preload: {\n wasm_nodule: _this2.__mathlib.__\n }\n }, transfer);\n });\n });\n}; // this function can return promise if createImageBitmap is used\n\n\nPica.prototype.__extractTileData = function (tile, from, opts, stageEnv, extractTo) {\n if (this.features.ww && CAN_USE_OFFSCREEN_CANVAS && ( // createImageBitmap doesn't work for images (Image, ImageBitmap) with Exif orientation in Chrome,\n // can use canvas because canvas doesn't have orientation;\n // see https://bugs.chromium.org/p/chromium/issues/detail?id=1220671\n utils.isCanvas(from) || CAN_USE_CIB_REGION_FOR_IMAGE)) {\n this.debug('Create tile for OffscreenCanvas');\n return createImageBitmap(stageEnv.srcImageBitmap || from, tile.x, tile.y, tile.width, tile.height).then(function (bitmap) {\n extractTo.srcBitmap = bitmap;\n return extractTo;\n });\n } // Extract tile RGBA buffer, depending on input type\n\n\n if (utils.isCanvas(from)) {\n if (!stageEnv.srcCtx) stageEnv.srcCtx = from.getContext('2d'); // If input is Canvas - extract region data directly\n\n this.debug('Get tile pixel data');\n extractTo.src = stageEnv.srcCtx.getImageData(tile.x, tile.y, tile.width, tile.height).data;\n return extractTo;\n } // If input is Image or decoded to ImageBitmap,\n // draw region to temporary canvas and extract data from it\n //\n // Note! Attempt to reuse this canvas causes significant slowdown in chrome\n //\n\n\n this.debug('Draw tile imageBitmap/image to temporary canvas');\n var tmpCanvas = this.options.createCanvas(tile.width, tile.height);\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.globalCompositeOperation = 'copy';\n tmpCtx.drawImage(stageEnv.srcImageBitmap || from, tile.x, tile.y, tile.width, tile.height, 0, 0, tile.width, tile.height);\n this.debug('Get tile pixel data');\n extractTo.src = tmpCtx.getImageData(0, 0, tile.width, tile.height).data; // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n\n tmpCanvas.width = tmpCanvas.height = 0;\n return extractTo;\n};\n\nPica.prototype.__landTileData = function (tile, result, stageEnv) {\n var toImageData;\n this.debug('Convert raw rgba tile result to ImageData');\n\n if (result.bitmap) {\n stageEnv.toCtx.drawImage(result.bitmap, tile.toX, tile.toY);\n return null;\n }\n\n if (CAN_NEW_IMAGE_DATA) {\n // this branch is for modern browsers\n // If `new ImageData()` & Uint8ClampedArray suported\n toImageData = new ImageData(new Uint8ClampedArray(result.data), tile.toWidth, tile.toHeight);\n } else {\n // fallback for `node-canvas` and old browsers\n // (IE11 has ImageData but does not support `new ImageData()`)\n toImageData = stageEnv.toCtx.createImageData(tile.toWidth, tile.toHeight);\n\n if (toImageData.data.set) {\n toImageData.data.set(result.data);\n } else {\n // IE9 don't have `.set()`\n for (var i = toImageData.data.length - 1; i >= 0; i--) {\n toImageData.data[i] = result.data[i];\n }\n }\n }\n\n this.debug('Draw tile');\n\n if (NEED_SAFARI_FIX) {\n // Safari draws thin white stripes between tiles without this fix\n stageEnv.toCtx.putImageData(toImageData, tile.toX, tile.toY, tile.toInnerX - tile.toX, tile.toInnerY - tile.toY, tile.toInnerWidth + 1e-5, tile.toInnerHeight + 1e-5);\n } else {\n stageEnv.toCtx.putImageData(toImageData, tile.toX, tile.toY, tile.toInnerX - tile.toX, tile.toInnerY - tile.toY, tile.toInnerWidth, tile.toInnerHeight);\n }\n\n return null;\n};\n\nPica.prototype.__tileAndResize = function (from, to, opts) {\n var _this3 = this;\n\n var stageEnv = {\n srcCtx: null,\n srcImageBitmap: null,\n isImageBitmapReused: false,\n toCtx: null\n };\n\n var processTile = function processTile(tile) {\n return _this3.__limit(function () {\n if (opts.canceled) return opts.cancelToken;\n var tileOpts = {\n width: tile.width,\n height: tile.height,\n toWidth: tile.toWidth,\n toHeight: tile.toHeight,\n scaleX: tile.scaleX,\n scaleY: tile.scaleY,\n offsetX: tile.offsetX,\n offsetY: tile.offsetY,\n filter: opts.filter,\n unsharpAmount: opts.unsharpAmount,\n unsharpRadius: opts.unsharpRadius,\n unsharpThreshold: opts.unsharpThreshold\n };\n\n _this3.debug('Invoke resize math');\n\n return Promise.resolve(tileOpts).then(function (tileOpts) {\n return _this3.__extractTileData(tile, from, opts, stageEnv, tileOpts);\n }).then(function (tileOpts) {\n _this3.debug('Invoke resize math');\n\n return _this3.__invokeResize(tileOpts, opts);\n }).then(function (result) {\n if (opts.canceled) return opts.cancelToken;\n stageEnv.srcImageData = null;\n return _this3.__landTileData(tile, result, stageEnv);\n });\n });\n }; // Need to normalize data source first. It can be canvas or image.\n // If image - try to decode in background if possible\n\n\n return Promise.resolve().then(function () {\n stageEnv.toCtx = to.getContext('2d');\n if (utils.isCanvas(from)) return null;\n\n if (utils.isImageBitmap(from)) {\n stageEnv.srcImageBitmap = from;\n stageEnv.isImageBitmapReused = true;\n return null;\n }\n\n if (utils.isImage(from)) {\n // try do decode image in background for faster next operations;\n // if we're using offscreen canvas, cib is called per tile, so not needed here\n if (!CAN_CREATE_IMAGE_BITMAP) return null;\n\n _this3.debug('Decode image via createImageBitmap');\n\n return createImageBitmap(from).then(function (imageBitmap) {\n stageEnv.srcImageBitmap = imageBitmap;\n }) // Suppress error to use fallback, if method fails\n // https://github.com/nodeca/pica/issues/190\n\n /* eslint-disable no-unused-vars */\n [\"catch\"](function (e) {\n return null;\n });\n }\n\n throw new Error('Pica: \".from\" should be Image, Canvas or ImageBitmap');\n }).then(function () {\n if (opts.canceled) return opts.cancelToken;\n\n _this3.debug('Calculate tiles'); //\n // Here we are with \"normalized\" source,\n // follow to tiling\n //\n\n\n var regions = createRegions({\n width: opts.width,\n height: opts.height,\n srcTileSize: _this3.options.tile,\n toWidth: opts.toWidth,\n toHeight: opts.toHeight,\n destTileBorder: opts.__destTileBorder\n });\n var jobs = regions.map(function (tile) {\n return processTile(tile);\n });\n\n function cleanup(stageEnv) {\n if (stageEnv.srcImageBitmap) {\n if (!stageEnv.isImageBitmapReused) stageEnv.srcImageBitmap.close();\n stageEnv.srcImageBitmap = null;\n }\n }\n\n _this3.debug('Process tiles');\n\n return Promise.all(jobs).then(function () {\n _this3.debug('Finished!');\n\n cleanup(stageEnv);\n return to;\n }, function (err) {\n cleanup(stageEnv);\n throw err;\n });\n });\n};\n\nPica.prototype.__processStages = function (stages, from, to, opts) {\n var _this4 = this;\n\n if (opts.canceled) return opts.cancelToken;\n\n var _stages$shift = stages.shift(),\n _stages$shift2 = _slicedToArray(_stages$shift, 2),\n toWidth = _stages$shift2[0],\n toHeight = _stages$shift2[1];\n\n var isLastStage = stages.length === 0; // Optimization for legacy filters -\n // only use user-defined quality for the last stage,\n // use simpler (Hamming) filter for the first stages where\n // scale factor is large enough (more than 2-3)\n //\n // For advanced filters (mks2013 and custom) - skip optimization,\n // because need to apply sharpening every time\n\n var filter;\n if (isLastStage || filter_info.q2f.indexOf(opts.filter) < 0) filter = opts.filter;else if (opts.filter === 'box') filter = 'box';else filter = 'hamming';\n opts = assign({}, opts, {\n toWidth: toWidth,\n toHeight: toHeight,\n filter: filter\n });\n var tmpCanvas;\n\n if (!isLastStage) {\n // create temporary canvas\n tmpCanvas = this.options.createCanvas(toWidth, toHeight);\n }\n\n return this.__tileAndResize(from, isLastStage ? to : tmpCanvas, opts).then(function () {\n if (isLastStage) return to;\n opts.width = toWidth;\n opts.height = toHeight;\n return _this4.__processStages(stages, tmpCanvas, to, opts);\n }).then(function (res) {\n if (tmpCanvas) {\n // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n tmpCanvas.width = tmpCanvas.height = 0;\n }\n\n return res;\n });\n};\n\nPica.prototype.__resizeViaCreateImageBitmap = function (from, to, opts) {\n var _this5 = this;\n\n var toCtx = to.getContext('2d');\n this.debug('Resize via createImageBitmap()');\n return createImageBitmap(from, {\n resizeWidth: opts.toWidth,\n resizeHeight: opts.toHeight,\n resizeQuality: utils.cib_quality_name(filter_info.f2q[opts.filter])\n }).then(function (imageBitmap) {\n if (opts.canceled) return opts.cancelToken; // if no unsharp - draw directly to output canvas\n\n if (!opts.unsharpAmount) {\n toCtx.drawImage(imageBitmap, 0, 0);\n imageBitmap.close();\n toCtx = null;\n\n _this5.debug('Finished!');\n\n return to;\n }\n\n _this5.debug('Unsharp result');\n\n var tmpCanvas = _this5.options.createCanvas(opts.toWidth, opts.toHeight);\n\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(imageBitmap, 0, 0);\n imageBitmap.close();\n var iData = tmpCtx.getImageData(0, 0, opts.toWidth, opts.toHeight);\n\n _this5.__mathlib.unsharp_mask(iData.data, opts.toWidth, opts.toHeight, opts.unsharpAmount, opts.unsharpRadius, opts.unsharpThreshold);\n\n toCtx.putImageData(iData, 0, 0); // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n\n tmpCanvas.width = tmpCanvas.height = 0;\n iData = tmpCtx = tmpCanvas = toCtx = null;\n\n _this5.debug('Finished!');\n\n return to;\n });\n};\n\nPica.prototype.resize = function (from, to, options) {\n var _this6 = this;\n\n this.debug('Start resize...');\n var opts = assign({}, DEFAULT_RESIZE_OPTS);\n\n if (!isNaN(options)) {\n opts = assign(opts, {\n quality: options\n });\n } else if (options) {\n opts = assign(opts, options);\n }\n\n opts.toWidth = to.width;\n opts.toHeight = to.height;\n opts.width = from.naturalWidth || from.width;\n opts.height = from.naturalHeight || from.height; // Legacy `.quality` option\n\n if (Object.prototype.hasOwnProperty.call(opts, 'quality')) {\n if (opts.quality < 0 || opts.quality > 3) {\n throw new Error(\"Pica: .quality should be [0..3], got \".concat(opts.quality));\n }\n\n opts.filter = filter_info.q2f[opts.quality];\n } // Prevent stepper from infinite loop\n\n\n if (to.width === 0 || to.height === 0) {\n return Promise.reject(new Error(\"Invalid output size: \".concat(to.width, \"x\").concat(to.height)));\n }\n\n if (opts.unsharpRadius > 2) opts.unsharpRadius = 2;\n opts.canceled = false;\n\n if (opts.cancelToken) {\n // Wrap cancelToken to avoid successive resolve & set flag\n opts.cancelToken = opts.cancelToken.then(function (data) {\n opts.canceled = true;\n throw data;\n }, function (err) {\n opts.canceled = true;\n throw err;\n });\n }\n\n var DEST_TILE_BORDER = 3; // Max possible filter window size\n\n opts.__destTileBorder = Math.ceil(Math.max(DEST_TILE_BORDER, 2.5 * opts.unsharpRadius | 0));\n return this.init().then(function () {\n if (opts.canceled) return opts.cancelToken; // if createImageBitmap supports resize, just do it and return\n\n if (_this6.features.cib) {\n if (filter_info.q2f.indexOf(opts.filter) >= 0) {\n return _this6.__resizeViaCreateImageBitmap(from, to, opts);\n }\n\n _this6.debug('cib is enabled, but not supports provided filter, fallback to manual math');\n }\n\n if (!CAN_USE_CANVAS_GET_IMAGE_DATA) {\n var err = new Error('Pica: cannot use getImageData on canvas, ' + \"make sure fingerprinting protection isn't enabled\");\n err.code = 'ERR_GET_IMAGE_DATA';\n throw err;\n } //\n // No easy way, let's resize manually via arrays\n //\n\n\n var stages = createStages(opts.width, opts.height, opts.toWidth, opts.toHeight, _this6.options.tile, opts.__destTileBorder);\n return _this6.__processStages(stages, from, to, opts);\n });\n}; // RGBA buffer resize\n//\n\n\nPica.prototype.resizeBuffer = function (options) {\n var _this7 = this;\n\n var opts = assign({}, DEFAULT_RESIZE_OPTS, options); // Legacy `.quality` option\n\n if (Object.prototype.hasOwnProperty.call(opts, 'quality')) {\n if (opts.quality < 0 || opts.quality > 3) {\n throw new Error(\"Pica: .quality should be [0..3], got \".concat(opts.quality));\n }\n\n opts.filter = filter_info.q2f[opts.quality];\n }\n\n return this.init().then(function () {\n return _this7.__mathlib.resizeAndUnsharp(opts);\n });\n};\n\nPica.prototype.toBlob = function (canvas, mimeType, quality) {\n mimeType = mimeType || 'image/png';\n return new Promise(function (resolve) {\n if (canvas.toBlob) {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n }, mimeType, quality);\n return;\n }\n\n if (canvas.convertToBlob) {\n resolve(canvas.convertToBlob({\n type: mimeType,\n quality: quality\n }));\n return;\n } // Fallback for old browsers\n\n\n var asString = atob(canvas.toDataURL(mimeType, quality).split(',')[1]);\n var len = asString.length;\n var asBuffer = new Uint8Array(len);\n\n for (var i = 0; i < len; i++) {\n asBuffer[i] = asString.charCodeAt(i);\n }\n\n resolve(new Blob([asBuffer], {\n type: mimeType\n }));\n });\n};\n\nPica.prototype.debug = function () {};\n\nmodule.exports = Pica;\n\n},{\"./lib/mathlib\":1,\"./lib/mm_resize/resize_filter_info\":7,\"./lib/pool\":13,\"./lib/stepper\":14,\"./lib/tiler\":15,\"./lib/utils\":16,\"./lib/worker\":17,\"object-assign\":22,\"webworkify\":23}]},{},[])(\"/index.js\")\n});\n}(pica$1));\n\nvar jpeg_plugins = {};\n\nvar image_traverse$1 = {exports: {}};\n\n(function (module) {\n\n//////////////////////////////////////////////////////////////////////////\n// Helpers\n//\nfunction error(message, code) {\n var err = new Error(message);\n err.code = code;\n return err;\n}\n\n\n// Convert number to 0xHH string\n//\nfunction to_hex(number) {\n var n = number.toString(16).toUpperCase();\n for (var i = 2 - n.length; i > 0; i--) n = '0' + n;\n return '0x' + n;\n}\n\n\nfunction utf8_encode(str) {\n try {\n return unescape(encodeURIComponent(str));\n } catch (_) {\n return str;\n }\n}\n\n\nfunction utf8_decode(str) {\n try {\n return decodeURIComponent(escape(str));\n } catch (_) {\n return str;\n }\n}\n\n\n// Check if input is a Uint8Array\n//\nfunction is_uint8array(bin) {\n return Object.prototype.toString.call(bin) === '[object Uint8Array]';\n}\n\n\n//////////////////////////////////////////////////////////////////////////\n// Exif parser\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - exif_start: Number - start of TIFF header (after Exif\\0\\0)\n// - exif_end: Number - end of Exif segment\n// - on_entry: Number - callback\n//\nfunction ExifParser(jpeg_bin, exif_start, exif_end) {\n // Uint8Array, exif without signature (which isn't included in offsets)\n this.input = jpeg_bin.subarray(exif_start, exif_end);\n\n // offset correction for `on_entry` callback\n this.start = exif_start;\n\n // Check TIFF header (includes byte alignment and first IFD offset)\n var sig = String.fromCharCode.apply(null, this.input.subarray(0, 4));\n\n if (sig !== 'II\\x2A\\0' && sig !== 'MM\\0\\x2A') {\n throw error('invalid TIFF signature', 'EBADDATA');\n }\n\n // true if motorola (big endian) byte alignment, false if intel\n this.big_endian = sig[0] === 'M';\n}\n\n\nExifParser.prototype.each = function (on_entry) {\n // allow premature exit\n this.aborted = false;\n\n var offset = this.read_uint32(4);\n\n this.ifds_to_read = [ {\n id: 0,\n offset: offset\n } ];\n\n while (this.ifds_to_read.length > 0 && !this.aborted) {\n var i = this.ifds_to_read.shift();\n if (!i.offset) continue;\n this.scan_ifd(i.id, i.offset, on_entry);\n }\n};\n\n\nExifParser.prototype.filter = function (on_entry) {\n var ifds = {};\n\n // make sure IFD0 always exists\n ifds.ifd0 = { id: 0, entries: [] };\n\n this.each(function (entry) {\n if (on_entry(entry) === false && !entry.is_subifd_link) return;\n if (entry.is_subifd_link && entry.count !== 1 && entry.format !== 4) return; // filter out bogus links\n\n if (!ifds['ifd' + entry.ifd]) {\n ifds['ifd' + entry.ifd] = { id: entry.ifd, entries: [] };\n }\n\n ifds['ifd' + entry.ifd].entries.push(entry);\n });\n\n // thumbnails are not supported just yet, so delete all information related to it\n delete ifds.ifd1;\n\n // Calculate output size\n var length = 8;\n Object.keys(ifds).forEach(function (ifd_no) {\n length += 2;\n\n ifds[ifd_no].entries.forEach(function (entry) {\n length += 12 + (entry.data_length > 4 ? Math.ceil(entry.data_length / 2) * 2 : 0);\n });\n\n length += 4;\n });\n\n this.output = new Uint8Array(length);\n this.output[0] = this.output[1] = (this.big_endian ? 'M' : 'I').charCodeAt(0);\n this.write_uint16(2, 0x2A);\n\n var offset = 8;\n var self = this;\n this.write_uint32(4, offset);\n\n Object.keys(ifds).forEach(function (ifd_no) {\n ifds[ifd_no].written_offset = offset;\n\n var ifd_start = offset;\n var ifd_end = ifd_start + 2 + ifds[ifd_no].entries.length * 12 + 4;\n offset = ifd_end;\n\n self.write_uint16(ifd_start, ifds[ifd_no].entries.length);\n\n ifds[ifd_no].entries.sort(function (a, b) {\n // IFD entries must be in order of increasing tag IDs\n return a.tag - b.tag;\n }).forEach(function (entry, idx) {\n var entry_offset = ifd_start + 2 + idx * 12;\n\n self.write_uint16(entry_offset, entry.tag);\n self.write_uint16(entry_offset + 2, entry.format);\n self.write_uint32(entry_offset + 4, entry.count);\n\n if (entry.is_subifd_link) {\n // filled in later\n if (ifds['ifd' + entry.tag]) ifds['ifd' + entry.tag].link_offset = entry_offset + 8;\n } else if (entry.data_length <= 4) {\n self.output.set(\n self.input.subarray(entry.data_offset - self.start, entry.data_offset - self.start + 4),\n entry_offset + 8\n );\n } else {\n self.write_uint32(entry_offset + 8, offset);\n self.output.set(\n self.input.subarray(entry.data_offset - self.start, entry.data_offset - self.start + entry.data_length),\n offset\n );\n offset += Math.ceil(entry.data_length / 2) * 2;\n }\n });\n\n var next_ifd = ifds['ifd' + (ifds[ifd_no].id + 1)];\n if (next_ifd) next_ifd.link_offset = ifd_end - 4;\n });\n\n Object.keys(ifds).forEach(function (ifd_no) {\n if (ifds[ifd_no].written_offset && ifds[ifd_no].link_offset) {\n self.write_uint32(ifds[ifd_no].link_offset, ifds[ifd_no].written_offset);\n }\n });\n\n if (this.output.length !== offset) throw error('internal error: incorrect buffer size allocated');\n\n return this.output;\n};\n\n\nExifParser.prototype.read_uint16 = function (offset) {\n var d = this.input;\n if (offset + 2 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x100 + d[offset + 1] :\n d[offset] + d[offset + 1] * 0x100;\n};\n\n\nExifParser.prototype.read_uint32 = function (offset) {\n var d = this.input;\n if (offset + 4 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x1000000 + d[offset + 1] * 0x10000 + d[offset + 2] * 0x100 + d[offset + 3] :\n d[offset] + d[offset + 1] * 0x100 + d[offset + 2] * 0x10000 + d[offset + 3] * 0x1000000;\n};\n\n\nExifParser.prototype.write_uint16 = function (offset, value) {\n var d = this.output;\n\n if (this.big_endian) {\n d[offset] = (value >>> 8) & 0xFF;\n d[offset + 1] = value & 0xFF;\n } else {\n d[offset] = value & 0xFF;\n d[offset + 1] = (value >>> 8) & 0xFF;\n }\n};\n\n\nExifParser.prototype.write_uint32 = function (offset, value) {\n var d = this.output;\n\n if (this.big_endian) {\n d[offset] = (value >>> 24) & 0xFF;\n d[offset + 1] = (value >>> 16) & 0xFF;\n d[offset + 2] = (value >>> 8) & 0xFF;\n d[offset + 3] = value & 0xFF;\n } else {\n d[offset] = value & 0xFF;\n d[offset + 1] = (value >>> 8) & 0xFF;\n d[offset + 2] = (value >>> 16) & 0xFF;\n d[offset + 3] = (value >>> 24) & 0xFF;\n }\n};\n\n\nExifParser.prototype.is_subifd_link = function (ifd, tag) {\n return (ifd === 0 && tag === 0x8769) || // SubIFD\n (ifd === 0 && tag === 0x8825) || // GPS Info\n (ifd === 0x8769 && tag === 0xA005); // Interop IFD\n};\n\n\n// Returns byte length of a single component of a given format\n//\nExifParser.prototype.exif_format_length = function (format) {\n switch (format) {\n case 1: // byte\n case 2: // ascii\n case 6: // sbyte\n case 7: // undefined\n return 1;\n\n case 3: // short\n case 8: // sshort\n return 2;\n\n case 4: // long\n case 9: // slong\n case 11: // float\n return 4;\n\n case 5: // rational\n case 10: // srational\n case 12: // double\n return 8;\n\n default:\n // unknown type\n return 0;\n }\n};\n\n\n// Reads Exif data\n//\nExifParser.prototype.exif_format_read = function (format, offset) {\n var v;\n\n switch (format) {\n case 1: // byte\n case 2: // ascii\n v = this.input[offset];\n return v;\n\n case 6: // sbyte\n v = this.input[offset];\n return v | (v & 0x80) * 0x1fffffe;\n\n case 3: // short\n v = this.read_uint16(offset);\n return v;\n\n case 8: // sshort\n v = this.read_uint16(offset);\n return v | (v & 0x8000) * 0x1fffe;\n\n case 4: // long\n v = this.read_uint32(offset);\n return v;\n\n case 9: // slong\n v = this.read_uint32(offset);\n return v | 0;\n\n case 5: // rational\n case 10: // srational\n case 11: // float\n case 12: // double\n return null; // not implemented\n\n case 7: // undefined\n return null; // blob\n\n default:\n // unknown type\n return null;\n }\n};\n\n\nExifParser.prototype.scan_ifd = function (ifd_no, offset, on_entry) {\n var entry_count = this.read_uint16(offset);\n\n offset += 2;\n\n for (var i = 0; i < entry_count; i++) {\n var tag = this.read_uint16(offset);\n var format = this.read_uint16(offset + 2);\n var count = this.read_uint32(offset + 4);\n\n var comp_length = this.exif_format_length(format);\n var data_length = count * comp_length;\n var data_offset = data_length <= 4 ? offset + 8 : this.read_uint32(offset + 8);\n var is_subifd_link = false;\n\n if (data_offset + data_length > this.input.length) {\n throw error('unexpected EOF', 'EBADDATA');\n }\n\n var value = [];\n var comp_offset = data_offset;\n\n for (var j = 0; j < count; j++, comp_offset += comp_length) {\n var item = this.exif_format_read(format, comp_offset);\n if (item === null) {\n value = null;\n break;\n }\n value.push(item);\n }\n\n if (Array.isArray(value) && format === 2) {\n try {\n value = utf8_decode(String.fromCharCode.apply(null, value));\n } catch (_) {\n value = null;\n }\n\n if (value && value[value.length - 1] === '\\0') value = value.slice(0, -1);\n }\n\n if (this.is_subifd_link(ifd_no, tag)) {\n if (Array.isArray(value) && Number.isInteger(value[0]) && value[0] > 0) {\n this.ifds_to_read.push({\n id: tag,\n offset: value[0]\n });\n is_subifd_link = true;\n }\n }\n\n var entry = {\n is_big_endian: this.big_endian,\n ifd: ifd_no,\n tag: tag,\n format: format,\n count: count,\n entry_offset: offset + this.start,\n data_length: data_length,\n data_offset: data_offset + this.start,\n value: value,\n is_subifd_link: is_subifd_link\n };\n\n if (on_entry(entry) === false) {\n this.aborted = true;\n return;\n }\n\n offset += 12;\n }\n\n if (ifd_no === 0) {\n this.ifds_to_read.push({\n id: 1,\n offset: this.read_uint32(offset)\n });\n }\n};\n\n\n// Check whether input is a JPEG image\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n//\n// Returns true if it is and false otherwise\n//\nmodule.exports.is_jpeg = function (jpeg_bin) {\n return jpeg_bin.length >= 4 && jpeg_bin[0] === 0xFF && jpeg_bin[1] === 0xD8 && jpeg_bin[2] === 0xFF;\n};\n\n\n// Call an iterator on each segment in the given JPEG image\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - on_segment: Function - callback executed on each JPEG marker segment\n// - segment: Object\n// - code: Number - marker type (2nd byte, e.g. 0xE0 for APP0)\n// - offset: Number - offset of the first byte (0xFF) relative to `jpeg_bin` start\n// - length: Number - length of the entire marker segment including first two bytes and length\n// - 2 for standalone markers\n// - 4+length for markers with data\n//\n// Iteration stops when `EOI` (0xFFD9) marker is reached or if `on_segment`\n// function returns `false`.\n//\nmodule.exports.jpeg_segments_each = function (jpeg_bin, on_segment) {\n if (!is_uint8array(jpeg_bin)) {\n throw error('Invalid argument (jpeg_bin), Uint8Array expected', 'EINVAL');\n }\n\n if (typeof on_segment !== 'function') {\n throw error('Invalid argument (on_segment), Function expected', 'EINVAL');\n }\n\n if (!module.exports.is_jpeg(jpeg_bin)) {\n throw error('Unknown file format', 'ENOTJPEG');\n }\n\n var offset = 0, length = jpeg_bin.length, inside_scan = false;\n\n for (;;) {\n var segment_code, segment_length;\n\n if (offset + 1 >= length) throw error('Unexpected EOF', 'EBADDATA');\n var byte1 = jpeg_bin[offset];\n var byte2 = jpeg_bin[offset + 1];\n\n if (byte1 === 0xFF && byte2 === 0xFF) {\n // padding\n segment_code = 0xFF;\n segment_length = 1;\n\n } else if (byte1 === 0xFF && byte2 !== 0) {\n // marker\n segment_code = byte2;\n segment_length = 2;\n\n if ((0xD0 <= segment_code && segment_code <= 0xD9) || segment_code === 0x01) ; else {\n if (offset + 3 >= length) throw error('Unexpected EOF', 'EBADDATA');\n segment_length += jpeg_bin[offset + 2] * 0x100 + jpeg_bin[offset + 3];\n if (segment_length < 2) throw error('Invalid segment length', 'EBADDATA');\n if (offset + segment_length - 1 >= length) throw error('Unexpected EOF', 'EBADDATA');\n }\n\n if (inside_scan) {\n if (segment_code >= 0xD0 && segment_code <= 0xD7) ; else {\n inside_scan = false;\n }\n }\n\n if (segment_code === 0xDA /* SOS */) inside_scan = true;\n } else if (inside_scan) {\n // entropy-encoded segment\n for (var pos = offset + 1; ; pos++) {\n // scan until we find FF\n if (pos >= length) throw error('Unexpected EOF', 'EBADDATA');\n if (jpeg_bin[pos] === 0xFF) {\n if (pos + 1 >= length) throw error('Unexpected EOF', 'EBADDATA');\n if (jpeg_bin[pos + 1] !== 0) {\n segment_code = 0;\n segment_length = pos - offset;\n break;\n }\n }\n }\n } else {\n throw error('Unexpected byte at segment start: ' + to_hex(byte1) +\n ' (offset ' + to_hex(offset) + ')', 'EBADDATA');\n }\n\n if (on_segment({ code: segment_code, offset: offset, length: segment_length }) === false) break;\n if (segment_code === 0xD9 /* EOI */) break;\n offset += segment_length;\n }\n};\n\n\n// Replace or remove segments in the given JPEG image\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - on_segment: Function - callback executed on each JPEG marker segment\n// - segment: Object\n// - code: Number - marker type (2nd byte, e.g. 0xE0 for APP0)\n// - offset: Number - offset of the first byte (0xFF) relative to `jpeg_bin` start\n// - length: Number - length of the entire marker segment including first two bytes and length\n// - 2 for standalone markers\n// - 4+length for markers with data\n//\n// `on_segment` function should return one of the following:\n// - `false` - segment is removed from the output\n// - Uint8Array - segment is replaced with the new data\n// - [ Uint8Array ] - segment is replaced with the new data\n// - anything else - segment is copied to the output as is\n//\n// Any data after `EOI` (0xFFD9) marker is removed.\n//\nmodule.exports.jpeg_segments_filter = function (jpeg_bin, on_segment) {\n if (!is_uint8array(jpeg_bin)) {\n throw error('Invalid argument (jpeg_bin), Uint8Array expected', 'EINVAL');\n }\n\n if (typeof on_segment !== 'function') {\n throw error('Invalid argument (on_segment), Function expected', 'EINVAL');\n }\n\n var ranges = [];\n var out_length = 0;\n\n module.exports.jpeg_segments_each(jpeg_bin, function (segment) {\n var new_segment = on_segment(segment);\n\n if (is_uint8array(new_segment)) {\n ranges.push({ data: new_segment });\n out_length += new_segment.length;\n } else if (Array.isArray(new_segment)) {\n new_segment.filter(is_uint8array).forEach(function (s) {\n ranges.push({ data: s });\n out_length += s.length;\n });\n } else if (new_segment !== false) {\n var new_range = { start: segment.offset, end: segment.offset + segment.length };\n\n if (ranges.length > 0 && ranges[ranges.length - 1].end === new_range.start) {\n ranges[ranges.length - 1].end = new_range.end;\n } else {\n ranges.push(new_range);\n }\n\n out_length += segment.length;\n }\n });\n\n var result = new Uint8Array(out_length);\n var offset = 0;\n\n ranges.forEach(function (range) {\n var data = range.data || jpeg_bin.subarray(range.start, range.end);\n result.set(data, offset);\n offset += data.length;\n });\n\n return result;\n};\n\n\n// Call an iterator on each Exif entry in the given JPEG image\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - on_entry: Function - callback executed on each Exif entry\n// - entry: Object\n// - is_big_endian: Boolean - whether Exif uses big or little endian byte alignment\n// - ifd: Number - IFD identifier (0 for IFD0, 1 for IFD1, 0x8769 for SubIFD,\n// 0x8825 for GPS Info, 0xA005 for Interop IFD)\n// - tag: Number - exif entry tag (0x0110 - camera name, 0x0112 - orientation, etc. - see Exif spec)\n// - format: Number - exif entry format (1 - byte, 2 - ascii, 3 - short, etc. - see Exif spec)\n// - count: Number - number of components of the given format inside data\n// (usually 1, or string length for ascii format)\n// - entry_offset: Number - start of Exif entry (entry length is always 12, so not included)\n// - data_offset: Number - start of data attached to Exif entry (will overlap with entry if length <= 4)\n// - data_length: Number - length of data attached to Exif entry\n// - value: Array|String|Null - our best attempt at parsing data (not all formats supported right now)\n// - is_subifd_link: Boolean - whether this entry is recognized to be a link to subifd (can't filter these out)\n//\n// Iteration stops early if iterator returns `false`.\n//\n// If Exif wasn't found anywhere (before start of the image data, SOS),\n// iterator is never executed.\n//\nmodule.exports.jpeg_exif_tags_each = function (jpeg_bin, on_exif_entry) {\n if (!is_uint8array(jpeg_bin)) {\n throw error('Invalid argument (jpeg_bin), Uint8Array expected', 'EINVAL');\n }\n\n if (typeof on_exif_entry !== 'function') {\n throw error('Invalid argument (on_exif_entry), Function expected', 'EINVAL');\n }\n\n /* eslint-disable consistent-return */\n module.exports.jpeg_segments_each(jpeg_bin, function (segment) {\n if (segment.code === 0xDA /* SOS */) return false;\n\n // look for APP1 segment and compare header with 'Exif\\0\\0'\n if (segment.code === 0xE1 && segment.length >= 10 &&\n jpeg_bin[segment.offset + 4] === 0x45 && jpeg_bin[segment.offset + 5] === 0x78 &&\n jpeg_bin[segment.offset + 6] === 0x69 && jpeg_bin[segment.offset + 7] === 0x66 &&\n jpeg_bin[segment.offset + 8] === 0x00 && jpeg_bin[segment.offset + 9] === 0x00) {\n\n new ExifParser(jpeg_bin, segment.offset + 10, segment.offset + segment.length).each(on_exif_entry);\n return false;\n }\n });\n};\n\n\n// Remove Exif entries in the given JPEG image\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - on_entry: Function - callback executed on each Exif entry\n// - entry: Object\n// - is_big_endian: Boolean - whether Exif uses big or little endian byte alignment\n// - ifd: Number - IFD identifier (0 for IFD0, 1 for IFD1, 0x8769 for SubIFD,\n// 0x8825 for GPS Info, 0xA005 for Interop IFD)\n// - tag: Number - exif entry tag (0x0110 - camera name, 0x0112 - orientation, etc. - see Exif spec)\n// - format: Number - exif entry format (1 - byte, 2 - ascii, 3 - short, etc. - see Exif spec)\n// - count: Number - number of components of the given format inside data\n// (usually 1, or string length for ascii format)\n// - entry_offset: Number - start of Exif entry (entry length is always 12, so not included)\n// - data_offset: Number - start of data attached to Exif entry (will overlap with entry if length <= 4)\n// - data_length: Number - length of data attached to Exif entry\n// - value: Array|String|Null - our best attempt at parsing data (not all formats supported right now)\n// - is_subifd_link: Boolean - whether this entry is recognized to be a link to subifd (can't filter these out)\n//\n// This function removes following from Exif:\n// - all entries where iterator returned false (except subifd links which are mandatory)\n// - IFD1 and thumbnail image (the purpose of this function is to reduce file size,\n// so thumbnail is usually the first thing to go)\n// - all other data that isn't in IFD0, SubIFD, GPSIFD, InteropIFD\n// (theoretically possible proprietary extensions, I haven't seen any of these yet)\n//\n// Changing data inside Exif entries is NOT supported yet (modifying `entry` object inside callback may break stuff).\n//\n// If Exif wasn't found anywhere (before start of the image data, SOS),\n// iterator is never executed, and original JPEG is returned as is.\n//\nmodule.exports.jpeg_exif_tags_filter = function (jpeg_bin, on_exif_entry) {\n if (!is_uint8array(jpeg_bin)) {\n throw error('Invalid argument (jpeg_bin), Uint8Array expected', 'EINVAL');\n }\n\n if (typeof on_exif_entry !== 'function') {\n throw error('Invalid argument (on_exif_entry), Function expected', 'EINVAL');\n }\n\n var stop_search = false;\n\n return module.exports.jpeg_segments_filter(jpeg_bin, function (segment) {\n if (stop_search) return;\n if (segment.code === 0xDA /* SOS */) stop_search = true;\n\n // look for APP1 segment and compare header with 'Exif\\0\\0'\n if (segment.code === 0xE1 && segment.length >= 10 &&\n jpeg_bin[segment.offset + 4] === 0x45 && jpeg_bin[segment.offset + 5] === 0x78 &&\n jpeg_bin[segment.offset + 6] === 0x69 && jpeg_bin[segment.offset + 7] === 0x66 &&\n jpeg_bin[segment.offset + 8] === 0x00 && jpeg_bin[segment.offset + 9] === 0x00) {\n\n var new_exif = new ExifParser(jpeg_bin, segment.offset + 10, segment.offset + segment.length)\n .filter(on_exif_entry);\n if (!new_exif) return false;\n\n var header = new Uint8Array(10);\n\n header.set(jpeg_bin.slice(segment.offset, segment.offset + 10));\n header[2] = ((new_exif.length + 8) >>> 8) & 0xFF;\n header[3] = (new_exif.length + 8) & 0xFF;\n\n stop_search = true;\n return [ header, new_exif ];\n }\n });\n};\n\n\n// Inserts a custom comment marker segment into JPEG file.\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - comment: String\n//\n// Comment is inserted after first two bytes (FFD8, SOI).\n//\n// If JFIF (APP0) marker exists immediately after SOI (as mandated by the JFIF\n// spec), we insert comment after it instead.\n//\nmodule.exports.jpeg_add_comment = function (jpeg_bin, comment) {\n var comment_inserted = false, segment_count = 0;\n\n return module.exports.jpeg_segments_filter(jpeg_bin, function (segment) {\n segment_count++;\n if (segment_count === 1 && segment.code === 0xD8 /* SOI */) return;\n if (segment_count === 2 && segment.code === 0xE0 /* APP0 */) return;\n\n if (comment_inserted) return;\n comment = utf8_encode(comment);\n\n // comment segment\n var csegment = new Uint8Array(5 + comment.length);\n var offset = 0;\n\n csegment[offset++] = 0xFF;\n csegment[offset++] = 0xFE;\n csegment[offset++] = ((comment.length + 3) >>> 8) & 0xFF;\n csegment[offset++] = (comment.length + 3) & 0xFF;\n\n comment.split('').forEach(function (c) {\n csegment[offset++] = c.charCodeAt(0) & 0xFF;\n });\n\n csegment[offset++] = 0;\n comment_inserted = true;\n\n return [ csegment, jpeg_bin.subarray(segment.offset, segment.offset + segment.length) ];\n });\n};\n}(image_traverse$1));\n\nvar image_traverse = image_traverse$1.exports;\n\n\nfunction jpeg_patch_exif(env) {\n return this._getUint8Array(env.blob).then(function (data) {\n env.is_jpeg = image_traverse.is_jpeg(data);\n\n if (!env.is_jpeg) return Promise.resolve(env);\n\n env.orig_blob = env.blob;\n\n try {\n var exif_is_big_endian, orientation_offset;\n\n /* eslint-disable consistent-return */\n image_traverse.jpeg_exif_tags_each(data, function (entry) {\n if (entry.ifd === 0 && entry.tag === 0x112 && Array.isArray(entry.value)) {\n env.orientation = entry.value[0] || 1;\n exif_is_big_endian = entry.is_big_endian;\n orientation_offset = entry.data_offset;\n return false;\n }\n });\n\n if (orientation_offset) {\n var orientation_patch = exif_is_big_endian ?\n new Uint8Array([ 0, 1 ]) :\n new Uint8Array([ 1, 0 ]);\n\n env.blob = new Blob([\n data.slice(0, orientation_offset),\n orientation_patch,\n data.slice(orientation_offset + 2)\n ], { type: 'image/jpeg' });\n }\n } catch (_) {}\n\n return env;\n });\n}\n\n\nfunction jpeg_rotate_canvas(env) {\n if (!env.is_jpeg) return Promise.resolve(env);\n\n var orientation = env.orientation - 1;\n if (!orientation) return Promise.resolve(env);\n\n var canvas;\n\n if (orientation & 4) {\n canvas = this.pica.options.createCanvas(env.out_canvas.height, env.out_canvas.width);\n } else {\n canvas = this.pica.options.createCanvas(env.out_canvas.width, env.out_canvas.height);\n }\n\n var ctx = canvas.getContext('2d');\n\n ctx.save();\n\n if (orientation & 1) ctx.transform(-1, 0, 0, 1, canvas.width, 0);\n if (orientation & 2) ctx.transform(-1, 0, 0, -1, canvas.width, canvas.height);\n if (orientation & 4) ctx.transform(0, 1, 1, 0, 0, 0);\n\n ctx.drawImage(env.out_canvas, 0, 0);\n ctx.restore();\n\n // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n env.out_canvas.width = env.out_canvas.height = 0;\n\n env.out_canvas = canvas;\n\n return Promise.resolve(env);\n}\n\n\nfunction jpeg_attach_orig_segments(env) {\n if (!env.is_jpeg) return Promise.resolve(env);\n\n return Promise.all([\n this._getUint8Array(env.blob),\n this._getUint8Array(env.out_blob)\n ]).then(function (res) {\n var data = res[0];\n var data_out = res[1];\n\n if (!image_traverse.is_jpeg(data)) return Promise.resolve(env);\n\n var segments = [];\n\n image_traverse.jpeg_segments_each(data, function (segment) {\n if (segment.code === 0xDA /* SOS */) return false;\n segments.push(segment);\n });\n\n segments = segments\n .filter(function (segment) {\n // Drop ICC_PROFILE\n //\n if (segment.code === 0xE2) return false;\n\n // Keep all APPn segments excluding APP2 (ICC_PROFILE),\n // remove others because most of them depend on image data (DCT and such).\n //\n // APP0 - JFIF, APP1 - Exif, the rest are photoshop metadata and such\n //\n // See full list at https://www.w3.org/Graphics/JPEG/itu-t81.pdf (table B.1 on page 32)\n //\n if (segment.code >= 0xE0 && segment.code < 0xF0) return true;\n\n // Keep comments\n //\n if (segment.code === 0xFE) return true;\n\n return false;\n })\n .map(function (segment) {\n return data.slice(segment.offset, segment.offset + segment.length);\n });\n\n env.out_blob = new Blob(\n // intentionally omitting expected JFIF segment (offset 2 to 20)\n [ data_out.slice(0, 2) ].concat(segments).concat([ data_out.slice(20) ]),\n { type: 'image/jpeg' }\n );\n\n return env;\n });\n}\n\n\nfunction assign(reducer) {\n reducer.before('_blob_to_image', jpeg_patch_exif);\n reducer.after('_transform', jpeg_rotate_canvas);\n reducer.after('_create_blob', jpeg_attach_orig_segments);\n}\n\n\njpeg_plugins.jpeg_patch_exif = jpeg_patch_exif;\njpeg_plugins.jpeg_rotate_canvas = jpeg_rotate_canvas;\njpeg_plugins.jpeg_attach_orig_segments = jpeg_attach_orig_segments;\njpeg_plugins.assign = assign;\n\nvar utils = utils$1;\nvar pica = pica$1.exports;\n\nfunction ImageBlobReduce(options) {\n if (!(this instanceof ImageBlobReduce)) return new ImageBlobReduce(options);\n\n options = options || {};\n\n this.pica = options.pica || pica({});\n this.initialized = false;\n\n this.utils = utils;\n}\n\n\nImageBlobReduce.prototype.use = function (plugin /*, params, ... */) {\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n\nImageBlobReduce.prototype.init = function () {\n this.use(jpeg_plugins.assign);\n};\n\n\nImageBlobReduce.prototype.toBlob = function (blob, options) {\n var opts = utils.assign({ max: Infinity }, options);\n var env = {\n blob: blob,\n opts: opts\n };\n\n if (!this.initialized) {\n this.init();\n this.initialized = true;\n }\n\n return Promise.resolve(env)\n .then(this._blob_to_image)\n .then(this._calculate_size)\n .then(this._transform)\n .then(this._cleanup)\n .then(this._create_blob)\n .then(function (_env) {\n // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n _env.out_canvas.width = _env.out_canvas.height = 0;\n\n return _env.out_blob;\n });\n};\n\n\nImageBlobReduce.prototype.toCanvas = function (blob, options) {\n var opts = utils.assign({ max: Infinity }, options);\n var env = {\n blob: blob,\n opts: opts\n };\n\n if (!this.initialized) {\n this.init();\n this.initialized = true;\n }\n\n return Promise.resolve(env)\n .then(this._blob_to_image)\n .then(this._calculate_size)\n .then(this._transform)\n .then(this._cleanup)\n .then(function (_env) { return _env.out_canvas; });\n};\n\n\nImageBlobReduce.prototype.before = function (method_name, fn) {\n if (!this[method_name]) throw new Error('Method \"' + method_name + '\" does not exist');\n if (typeof fn !== 'function') throw new Error('Invalid argument \"fn\", function expected');\n\n var old_fn = this[method_name];\n var self = this;\n\n this[method_name] = function (env) {\n return fn.call(self, env).then(function (_env) {\n return old_fn.call(self, _env);\n });\n };\n\n return this;\n};\n\n\nImageBlobReduce.prototype.after = function (method_name, fn) {\n if (!this[method_name]) throw new Error('Method \"' + method_name + '\" does not exist');\n if (typeof fn !== 'function') throw new Error('Invalid argument \"fn\", function expected');\n\n var old_fn = this[method_name];\n var self = this;\n\n this[method_name] = function (env) {\n return old_fn.call(self, env).then(function (_env) {\n return fn.call(self, _env);\n });\n };\n\n return this;\n};\n\n\nImageBlobReduce.prototype._blob_to_image = function (env) {\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\n\n env.image = document.createElement('img');\n env.image_url = URL.createObjectURL(env.blob);\n env.image.src = env.image_url;\n\n return new Promise(function (resolve, reject) {\n env.image.onerror = function () { reject(new Error('ImageBlobReduce: failed to create Image() from blob')); };\n env.image.onload = function () { resolve(env); };\n });\n};\n\n\nImageBlobReduce.prototype._calculate_size = function (env) {\n //\n // Note, if your need not \"symmetric\" resize logic, you MUST check\n // `env.orientation` (set by plugins) and swap width/height appropriately.\n //\n var scale_factor = env.opts.max / Math.max(env.image.width, env.image.height);\n\n if (scale_factor > 1) scale_factor = 1;\n\n env.transform_width = Math.max(Math.round(env.image.width * scale_factor), 1);\n env.transform_height = Math.max(Math.round(env.image.height * scale_factor), 1);\n\n // Info for user plugins, to check if scaling applied\n env.scale_factor = scale_factor;\n\n return Promise.resolve(env);\n};\n\n\nImageBlobReduce.prototype._transform = function (env) {\n env.out_canvas = this.pica.options.createCanvas(env.transform_width, env.transform_height);\n\n // Dim env temporary vars to prohibit use and avoid confusion when orientation\n // changed. You should take real size from canvas.\n env.transform_width = null;\n env.transform_height = null;\n\n // By default use alpha for png only\n var pica_opts = { alpha: env.blob.type === 'image/png' };\n\n // Extract pica options if been passed\n this.utils.assign(pica_opts, this.utils.pick_pica_resize_options(env.opts));\n\n return this.pica\n .resize(env.image, env.out_canvas, pica_opts)\n .then(function () { return env; });\n};\n\n\nImageBlobReduce.prototype._cleanup = function (env) {\n env.image.src = '';\n env.image = null;\n\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\n if (URL.revokeObjectURL) URL.revokeObjectURL(env.image_url);\n\n env.image_url = null;\n\n return Promise.resolve(env);\n};\n\n\nImageBlobReduce.prototype._create_blob = function (env) {\n return this.pica.toBlob(env.out_canvas, env.blob.type)\n .then(function (blob) {\n env.out_blob = blob;\n return env;\n });\n};\n\n\nImageBlobReduce.prototype._getUint8Array = function (blob) {\n if (blob.arrayBuffer) {\n return blob.arrayBuffer().then(function (buf) {\n return new Uint8Array(buf);\n });\n }\n\n return new Promise(function (resolve, reject) {\n var fr = new FileReader();\n\n fr.readAsArrayBuffer(blob);\n\n fr.onload = function () { resolve(new Uint8Array(fr.result)); };\n fr.onerror = function () {\n reject(new Error('ImageBlobReduce: failed to load data from input blob'));\n fr.abort();\n };\n fr.onabort = function () {\n reject(new Error('ImageBlobReduce: failed to load data from input blob (aborted)'));\n };\n });\n};\n\n\nImageBlobReduce.pica = pica;\n\nvar imageBlobReduce = ImageBlobReduce;\n\nexport { imageBlobReduce as default };\n","import reduce from \"image-blob-reduce\";\n\nconst reducer = reduce();\nreducer._calculate_size = function (env) {\n let ratio = Math.min(\n env.opts.maxWidth / env.image.width,\n env.opts.maxHeight / env.image.height\n );\n\n if (ratio > 1) ratio = 1;\n else if (ratio > -0.00001 && ratio < 0.000001) {\n ratio = 1;\n }\n\n env.transform_width = Math.round(env.image.width * ratio);\n env.transform_height = Math.round(env.image.height * ratio);\n\n return env;\n};\n\nexport default {\n loadImage(url) {\n /*\n * We are going to return a Promise which, when we .then\n * will give us an Image that should be fully loaded\n */\n return new Promise((resolve) => {\n /*\n * Create the image that we are going to use to\n * to hold the resource\n */\n const image = new Image();\n /*\n * The Image API deals in even listeners and callbacks\n * we attach a listener for the \"load\" event which fires\n * when the Image has finished the network request and\n * populated the Image with data\n */\n image.addEventListener(\"load\", () => {\n /*\n * You have to manually tell the Promise that you are\n * done dealing with asynchronous stuff and you are ready\n * for it to give anything that attached a callback\n * through .then a realized value. We do that by calling\n * resolve and passing it the realized value\n */\n resolve(image);\n });\n /*\n * Setting the Image.src is what starts the networking process\n * to populate an image. After you set it, the browser fires\n * a request to get the resource. We attached a load listener\n * which will be called once the request finishes and we have\n * image data\n */\n image.src = url;\n });\n },\n async resize(file, maxWidth, maxHeight) {\n let image = await reducer.toBlob(file, {\n maxWidth: maxWidth,\n maxHeight: maxHeight,\n });\n let imageSrc = await this.loadImage(URL.createObjectURL(image));\n const finalCanvas = document.createElement(\"canvas\");\n finalCanvas.width = maxWidth;\n finalCanvas.height = maxHeight;\n const ctx = finalCanvas.getContext(\"2d\");\n ctx.fillStyle = \"white\";\n ctx.fillRect(0, 0, maxWidth, maxHeight);\n ctx.drawImage(\n imageSrc,\n finalCanvas.width / 2 - imageSrc.width / 2,\n finalCanvas.height / 2 - imageSrc.height / 2\n );\n\n const toBlob = (type, quality) =>\n new Promise((resolve) => finalCanvas.toBlob(resolve, type, quality));\n let endBlob = await toBlob(\"image/jpeg\", 1);\n return endBlob;\n },\n};\n","import APIService from \"./APIService\";\n\nconst http = APIService.http;\n\nexport default {\n async commit(fileUrl, blocks, contentType) {\n var uri = fileUrl + \"&comp=blocklist\";\n\n let requestBody = '';\n for (let i = 0; i < blocks.length; i++) {\n requestBody += \"\" + blocks[i] + \"\";\n }\n requestBody += \"\";\n\n return await http.put(uri, requestBody, {\n headers: {\n \"x-ms-blob-content-type\": contentType,\n \"Content-Type\": \"application/xml\",\n },\n });\n },\n async upload(config) {\n let blocks = [];\n let currentPointer = 0;\n let block = 1;\n let blockSize = 1024 * 256;\n let bytesRemaining = config.file.size;\n const blockPrefix = \"block-\";\n\n if (config.file.size < blockSize) {\n blockSize = config.file.size;\n }\n\n while (bytesRemaining > 0) {\n let currentBytes = new Uint8Array(\n await config.file\n .slice(currentPointer, currentPointer + blockSize)\n .arrayBuffer()\n );\n let currentBlockId = `${blockPrefix}${this.pad(block, 6)}`;\n blocks.push(btoa(currentBlockId));\n\n await http.put(\n `${config.baseUrl}${config.sasToken}&comp=block&blockid=${btoa(\n currentBlockId\n )}`,\n currentBytes,\n {\n headers: {\n \"x-ms-blob-type\": \"BlockBlob\",\n \"Content-Type\": config.file.type,\n },\n }\n );\n\n block += 1;\n currentPointer += blockSize;\n bytesRemaining -= blockSize;\n if (bytesRemaining < blockSize) {\n blockSize = bytesRemaining;\n }\n }\n\n await this.commit(\n `${config.baseUrl}${config.sasToken}`,\n blocks,\n config.file.type\n );\n },\n pad(number, length) {\n let str = \"\" + number;\n while (str.length < length) {\n str = \"0\" + str;\n }\n return str;\n },\n};\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropUploadCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropUploadCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DragAndDropUploadCard.vue?vue&type=template&id=d59d2656&scoped=true&\"\nimport script from \"./DragAndDropUploadCard.vue?vue&type=script&lang=js&\"\nexport * from \"./DragAndDropUploadCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DragAndDropUploadCard.vue?vue&type=style&index=0&id=d59d2656&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d59d2656\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\nvar DOM_EXCEPTION = 'DOMException';\n\nsetToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\n\nvar nativeErrorToString = Error.prototype.toString;\n\nvar INCORRECT_TO_STRING = fails(function () {\n if (DESCRIPTORS) {\n // Chrome 32- incorrectly call accessor\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n var object = create(Object.defineProperty({}, 'name', { get: function () {\n return this === object;\n } }));\n if (nativeErrorToString.call(object) !== 'true') return true;\n }\n // FF10- does not properly handle non-strings\n return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1'\n // IE8 does not properly handle defaults\n || nativeErrorToString.call({}) !== 'Error';\n});\n\nmodule.exports = INCORRECT_TO_STRING ? function toString() {\n var O = anObject(this);\n var name = normalizeStringArgument(O.name, 'Error');\n var message = normalizeStringArgument(O.message);\n return !name ? message : !message ? name : name + ': ' + message;\n} : nativeErrorToString;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var global = require('../internals/global');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar TypeError = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropUploadCard.vue?vue&type=style&index=0&id=d59d2656&lang=scss&scoped=true&\"","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n"],"sourceRoot":""}