{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/process/browser.js","webpack:///./src/browser/worker.js","webpack:///./node_modules/check-types/src/check-types.js","webpack:///./src/common/workerUtils.js","webpack:///./node_modules/tesseract.js-utils/src/index.browser.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/cache.js","webpack:///./node_modules/idb-keyval/dist/idb-keyval.mjs","webpack:///./node_modules/tesseract.js-utils/src/loadLang.js","webpack:///./node_modules/tesseract.js-utils/node_modules/is-url/index.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/fetch.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack:///./node_modules/zlibjs/bin/node-zlib.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/resolve-url/resolve-url.js","webpack:///./node_modules/tesseract.js-utils/src/readImage.js","webpack:///./node_modules/bmp-js/index.js","webpack:///./node_modules/bmp-js/lib/encoder.js","webpack:///./node_modules/bmp-js/lib/decoder.js","webpack:///./node_modules/file-type/index.js","webpack:///./src/common/dump.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","this","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","len","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","swap","b","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Slice","start","end","fromByteArray","utf8Slice","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","e","typedArraySupport","poolSize","_augment","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","hexSlice","asciiSlice","latin1Slice","utf16leSlice","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","g","Function","eval","window","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","check","workerUtils","addEventListener","dispatchHandlers","postMessage","setAdapter","getCore","corePath","TesseractCore","progress","status","importScripts","WebAssembly","TesseractCoreWASM","TesseractCoreASM","__WEBPACK_AMD_DEFINE_RESULT__","globals","strings","messages","predicates","functions","assert","not","maybe","collections","neginf","posinf","haveSymbols","assigned","number","integer","greater","lhs","rhs","less","greaterOrEqual","lessOrEqual","nonEmptyString","instanceStrict","error","like","archetype","arrayLike","isFunction","testArray","result","testObject","mixin","source","keys","forEach","assertModifier","predicate","defaultMessage","argCount","message","ErrorType","assertImpl","assertPredicate","notModifier","modifiedPredicate","notImpl","ofModifier","collection","map","coerceCollection","item","ignore","createModifiedPredicates","modifier","createModifiedFunctions","shift","pop","writable","createModifiedModifier","modified","createOfModifiers","base","of","v","al","f","iterator","iteration","values","next","done","substring","regex","constructor","Date","getTime","hasLength","index","mapSimple","mapComplex","all","any","NEGATIVE_INFINITY","POSITIVE_INFINITY","exportFunctions","readImage","loadLang","dump","TessModule","api","latestJob","adapter","setImage","image","w","h","bytesPerPixel","pix","SetImage","SetRectangle","handleInit","Core","[object Object]","percent","then","tessModule","TessBaseAPI","Promise","resolve","loadLanguage","lang","options","jobId","action","payload","send","reject","params","progressUpdate","Init","SetVariable","ptr","Recognize","End","_free","handleRecognize","SetPageSegMode","PSM_OSD_ONLY","results","OSResults","DetectOS","best","best_result","oid","orientation_id","sid","script_id","tesseract_script_id","script","unicharset","get_script_from_script_id","script_confidence","sconfidence","orientation_degrees","orientation_confidence","oconfidence","handleDetect","err","impl","cache","fetch","gunzip","resolveURL","del","readCache","writeCache","deleteCache","checkCache","path","__webpack_exports__","Store","clear","dbName","storeName","_dbp","openreq","indexedDB","open","onerror","onsuccess","onupgradeneeded","createObjectStore","callback","db","transaction","oncomplete","onabort","objectStore","store","getDefaultStore","req","_withIDBStore","put","delete","openKeyCursor","openCursor","continue","isURL","handleLang","dataPath","cachePath","cacheMethod","FS","mkdir","writeFile","langs","split","langPath","catch","fetchTrainedData","iLangPath","resp","arrayBuffer","loadAndGunzipFile","protocolAndDomainRE","everythingAfterProtocol","localhostDomainRE","test","nonLocalhostDomainRE","gunzipSync","q","B","Uint16Array","Uint32Array","DataView","G","k","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","na","oa","F","input","lazy","compressionType","outputBuffer","outputIndex","getParent","U","pa","NONE","X","qa","va","N","C","u","ra","M","z","Y","da","Fa","ea","Ga","la","Ha","Z","ma","E","Ia","D","qb","ta","ua","sa","O","A","fa","H","Ja","Ka","K","J","P","Q","Na","ga","wa","Oa","Pa","Qa","Ra","La","Ma","xa","ya","za","Aa","Ba","flags","filename","comment","deflateOptions","fname","Ca","fcomment","Da","fhcrc","Ea","now","Sa","V","Ta","bufferSize","bufferType","resize","Ua","W","Va","Wa","Xa","Ya","$","ib","Za","$a","ab","bb","cb","eb","fb","gb","hb","kb","lb","jb","mb","nb","ob","verify","pb","method","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","deflateSync","inflate","inflateSync","gzip","gzipSync","b64","placeHoldersCount","tmp","placeHolders","Arr","revLookup","uint8","extraBytes","output","parts","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","__WEBPACK_AMD_DEFINE_FACTORY__","numUrls","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","removeChild","bmp","fileType","iBuf","yres","mime","bmpBuf","decode","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","_pixReadMem","getValue","setValue","idx","encode","BmpEncoder","imgData","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","headerSize","rawSize","palette","blue","green","red","quad","bitn","bit1","xlen","ceil","line","location","rgb","bit4","lines","low_nibble","setPixelData","rgbIndex","before","after","bit8","bit15","dif_w","_1_5","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","bit24","bit32","getData","bmpData","toBytes","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","header","assign","mask","checkString","findNextZipHeaderIndex","startAt","findIndex","el","zipHeaderIndex","oxmlFound","sliced","idPos","docTypePos","findDocType","every","objectSize","default","stream","readableStream","pass","PassThrough","chunk","minimumBytes","unshift","pipeline","pipe","ri","GetIterator","blocks","block","para","textline","word","symbol","enumToString","prefix","filter","Begin","IsAtBeginningOf","RIL_BLOCK","poly","BlockPolygon","polygon","getPointer","get_n","px","get_x","py","get_y","_ptaDestroy","paragraphs","text","GetUTF8Text","confidence","Confidence","baseline","getBaseline","bbox","getBoundingBox","blocktype","BlockType","RIL_PARA","is_ltr","ParagraphIsLtr","RIL_TEXTLINE","words","RIL_WORD","fontInfo","getWordFontAttributes","wordDir","WordDirection","symbols","choices","is_numeric","WordIsNumeric","in_dictionary","WordIsFromDictionary","direction","language","WordRecognitionLanguage","is_bold","is_italic","is_underlined","is_monospace","is_serif","is_smallcaps","font_size","pointsize","font_id","font_name","wc","WordChoiceIterator","Next","destroy","RIL_SYMBOL","is_superscript","SymbolIsSuperscript","is_subscript","SymbolIsSubscript","is_dropcap","SymbolIsDropcap","ci","ChoiceIterator","html","deindent","GetHOCRText","MeanTextConf","psm","GetPageSegMode","oem","Version"],"mappings":"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","file":"worker.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n *\n * Browser worker implementation\n *\n * @fileoverview Browser worker implementation\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\n\nconst check = require('check-types');\nconst workerUtils = require('../common/workerUtils');\n\n/*\n * register message handler\n */\nglobal.addEventListener('message', ({ data }) => {\n workerUtils.dispatchHandlers(data, obj => postMessage(obj));\n});\n\n/*\n * getCore is a sync function to load and return\n * TesseractCore.\n */\nworkerUtils.setAdapter({\n getCore: (corePath, res) => {\n if (check.undefined(global.TesseractCore)) {\n res.progress({ status: 'loading tesseract core', progress: 0 });\n global.importScripts(corePath);\n /*\n * Depending on whether the browser supports WebAssembly,\n * the version of the TesseractCore will be different.\n */\n global.TesseractCore = typeof WebAssembly === 'object' ? global.TesseractCoreWASM : global.TesseractCoreASM;\n res.progress({ status: 'loading tesseract core', progress: 1 });\n }\n return global.TesseractCore;\n },\n});\n","/*globals define, module, Symbol */\n/*jshint -W056 */\n\n(function (globals) {\n 'use strict';\n\n var strings, messages, predicates, functions, assert, not, maybe,\n collections, slice, neginf, posinf, isArray, haveSymbols;\n\n strings = {\n v: 'value',\n n: 'number',\n s: 'string',\n b: 'boolean',\n o: 'object',\n t: 'type',\n a: 'array',\n al: 'array-like',\n i: 'iterable',\n d: 'date',\n f: 'function',\n l: 'length'\n };\n\n messages = {};\n predicates = {};\n\n [\n { n: 'equal', f: equal, s: 'v' },\n { n: 'undefined', f: isUndefined, s: 'v' },\n { n: 'null', f: isNull, s: 'v' },\n { n: 'assigned', f: assigned, s: 'v' },\n { n: 'primitive', f: primitive, s: 'v' },\n { n: 'includes', f: includes, s: 'v' },\n { n: 'zero', f: zero },\n { n: 'infinity', f: infinity },\n { n: 'number', f: number },\n { n: 'integer', f: integer },\n { n: 'even', f: even },\n { n: 'odd', f: odd },\n { n: 'greater', f: greater },\n { n: 'less', f: less },\n { n: 'between', f: between },\n { n: 'greaterOrEqual', f: greaterOrEqual },\n { n: 'lessOrEqual', f: lessOrEqual },\n { n: 'inRange', f: inRange },\n { n: 'positive', f: positive },\n { n: 'negative', f: negative },\n { n: 'string', f: string, s: 's' },\n { n: 'emptyString', f: emptyString, s: 's' },\n { n: 'nonEmptyString', f: nonEmptyString, s: 's' },\n { n: 'contains', f: contains, s: 's' },\n { n: 'match', f: match, s: 's' },\n { n: 'boolean', f: boolean, s: 'b' },\n { n: 'object', f: object, s: 'o' },\n { n: 'emptyObject', f: emptyObject, s: 'o' },\n { n: 'nonEmptyObject', f: nonEmptyObject, s: 'o' },\n { n: 'instanceStrict', f: instanceStrict, s: 't' },\n { n: 'instance', f: instance, s: 't' },\n { n: 'like', f: like, s: 't' },\n { n: 'array', f: array, s: 'a' },\n { n: 'emptyArray', f: emptyArray, s: 'a' },\n { n: 'nonEmptyArray', f: nonEmptyArray, s: 'a' },\n { n: 'arrayLike', f: arrayLike, s: 'al' },\n { n: 'iterable', f: iterable, s: 'i' },\n { n: 'date', f: date, s: 'd' },\n { n: 'function', f: isFunction, s: 'f' },\n { n: 'hasLength', f: hasLength, s: 'l' },\n ].map(function (data) {\n var n = data.n;\n messages[n] = 'Invalid ' + strings[data.s || 'n'];\n predicates[n] = data.f;\n });\n\n functions = {\n apply: apply,\n map: map,\n all: all,\n any: any\n };\n\n collections = [ 'array', 'arrayLike', 'iterable', 'object' ];\n slice = Array.prototype.slice;\n neginf = Number.NEGATIVE_INFINITY;\n posinf = Number.POSITIVE_INFINITY;\n isArray = Array.isArray;\n haveSymbols = typeof Symbol === 'function';\n\n functions = mixin(functions, predicates);\n assert = createModifiedPredicates(assertModifier, assertImpl);\n not = createModifiedPredicates(notModifier, notImpl);\n maybe = createModifiedPredicates(maybeModifier, maybeImpl);\n assert.not = createModifiedModifier(assertModifier, not);\n assert.maybe = createModifiedModifier(assertModifier, maybe);\n\n collections.forEach(createOfPredicates);\n createOfModifiers(assert, assertModifier);\n createOfModifiers(not, notModifier);\n collections.forEach(createMaybeOfModifiers);\n\n exportFunctions(mixin(functions, {\n assert: assert,\n not: not,\n maybe: maybe\n }));\n\n /**\n * Public function `equal`.\n *\n * Returns true if `lhs` and `rhs` are strictly equal, without coercion.\n * Returns false otherwise.\n */\n function equal (lhs, rhs) {\n return lhs === rhs;\n }\n\n /**\n * Public function `undefined`.\n *\n * Returns true if `data` is undefined, false otherwise.\n */\n function isUndefined (data) {\n return data === undefined;\n }\n\n /**\n * Public function `null`.\n *\n * Returns true if `data` is null, false otherwise.\n */\n function isNull (data) {\n return data === null;\n }\n\n /**\n * Public function `assigned`.\n *\n * Returns true if `data` is not null or undefined, false otherwise.\n */\n function assigned (data) {\n return data !== undefined && data !== null;\n }\n\n /**\n * Public function `primitive`.\n *\n * Returns true if `data` is a primitive type, false otherwise.\n */\n function primitive (data) {\n var type;\n\n switch (data) {\n case null:\n case undefined:\n case false:\n case true:\n return true;\n }\n\n type = typeof data;\n return type === 'string' || type === 'number' || (haveSymbols && type === 'symbol');\n }\n\n /**\n * Public function `zero`.\n *\n * Returns true if `data` is zero, false otherwise.\n */\n function zero (data) {\n return data === 0;\n }\n\n /**\n * Public function `infinity`.\n *\n * Returns true if `data` is positive or negative infinity, false otherwise.\n */\n function infinity (data) {\n return data === neginf || data === posinf;\n }\n\n /**\n * Public function `number`.\n *\n * Returns true if `data` is a number, false otherwise.\n */\n function number (data) {\n return typeof data === 'number' && data > neginf && data < posinf;\n }\n\n /**\n * Public function `integer`.\n *\n * Returns true if `data` is an integer, false otherwise.\n */\n function integer (data) {\n return typeof data === 'number' && data % 1 === 0;\n }\n\n /**\n * Public function `even`.\n *\n * Returns true if `data` is an even number, false otherwise.\n */\n function even (data) {\n return typeof data === 'number' && data % 2 === 0;\n }\n\n /**\n * Public function `odd`.\n *\n * Returns true if `data` is an odd number, false otherwise.\n */\n function odd (data) {\n return integer(data) && data % 2 !== 0;\n }\n\n /**\n * Public function `greater`.\n *\n * Returns true if `lhs` is a number greater than `rhs`, false otherwise.\n */\n function greater (lhs, rhs) {\n return number(lhs) && lhs > rhs;\n }\n\n /**\n * Public function `less`.\n *\n * Returns true if `lhs` is a number less than `rhs`, false otherwise.\n */\n function less (lhs, rhs) {\n return number(lhs) && lhs < rhs;\n }\n\n /**\n * Public function `between`.\n *\n * Returns true if `data` is a number between `x` and `y`, false otherwise.\n */\n function between (data, x, y) {\n if (x < y) {\n return greater(data, x) && data < y;\n }\n\n return less(data, x) && data > y;\n }\n\n /**\n * Public function `greaterOrEqual`.\n *\n * Returns true if `lhs` is a number greater than or equal to `rhs`, false\n * otherwise.\n */\n function greaterOrEqual (lhs, rhs) {\n return number(lhs) && lhs >= rhs;\n }\n\n /**\n * Public function `lessOrEqual`.\n *\n * Returns true if `lhs` is a number less than or equal to `rhs`, false\n * otherwise.\n */\n function lessOrEqual (lhs, rhs) {\n return number(lhs) && lhs <= rhs;\n }\n\n /**\n * Public function `inRange`.\n *\n * Returns true if `data` is a number in the range `x..y`, false otherwise.\n */\n function inRange (data, x, y) {\n if (x < y) {\n return greaterOrEqual(data, x) && data <= y;\n }\n\n return lessOrEqual(data, x) && data >= y;\n }\n\n /**\n * Public function `positive`.\n *\n * Returns true if `data` is a positive number, false otherwise.\n */\n function positive (data) {\n return greater(data, 0);\n }\n\n /**\n * Public function `negative`.\n *\n * Returns true if `data` is a negative number, false otherwise.\n */\n function negative (data) {\n return less(data, 0);\n }\n\n /**\n * Public function `string`.\n *\n * Returns true if `data` is a string, false otherwise.\n */\n function string (data) {\n return typeof data === 'string';\n }\n\n /**\n * Public function `emptyString`.\n *\n * Returns true if `data` is the empty string, false otherwise.\n */\n function emptyString (data) {\n return data === '';\n }\n\n /**\n * Public function `nonEmptyString`.\n *\n * Returns true if `data` is a non-empty string, false otherwise.\n */\n function nonEmptyString (data) {\n return string(data) && data !== '';\n }\n\n /**\n * Public function `contains`.\n *\n * Returns true if `data` is a string that contains `substring`, false\n * otherwise.\n */\n function contains (data, substring) {\n return string(data) && data.indexOf(substring) !== -1;\n }\n\n /**\n * Public function `match`.\n *\n * Returns true if `data` is a string that matches `regex`, false otherwise.\n */\n function match (data, regex) {\n return string(data) && !! data.match(regex);\n }\n\n /**\n * Public function `boolean`.\n *\n * Returns true if `data` is a boolean value, false otherwise.\n */\n function boolean (data) {\n return data === false || data === true;\n }\n\n /**\n * Public function `object`.\n *\n * Returns true if `data` is a plain-old JS object, false otherwise.\n */\n function object (data) {\n return Object.prototype.toString.call(data) === '[object Object]';\n }\n\n /**\n * Public function `emptyObject`.\n *\n * Returns true if `data` is an empty object, false otherwise.\n */\n function emptyObject (data) {\n return object(data) && Object.keys(data).length === 0;\n }\n\n /**\n * Public function `nonEmptyObject`.\n *\n * Returns true if `data` is a non-empty object, false otherwise.\n */\n function nonEmptyObject (data) {\n return object(data) && Object.keys(data).length > 0;\n }\n\n /**\n * Public function `instanceStrict`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n */\n function instanceStrict (data, prototype) {\n try {\n return data instanceof prototype;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Public function `instance`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n * Falls back to testing constructor.name and Object.prototype.toString\n * if the initial instanceof test fails.\n */\n function instance (data, prototype) {\n try {\n return instanceStrict(data, prototype) ||\n data.constructor.name === prototype.name ||\n Object.prototype.toString.call(data) === '[object ' + prototype.name + ']';\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Public function `like`.\n *\n * Tests whether `data` 'quacks like a duck'. Returns true if `data` has all\n * of the properties of `archetype` (the 'duck'), false otherwise.\n */\n function like (data, archetype) {\n var name;\n\n for (name in archetype) {\n if (archetype.hasOwnProperty(name)) {\n if (data.hasOwnProperty(name) === false || typeof data[name] !== typeof archetype[name]) {\n return false;\n }\n\n if (object(data[name]) && like(data[name], archetype[name]) === false) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n /**\n * Public function `array`.\n *\n * Returns true if `data` is an array, false otherwise.\n */\n function array (data) {\n return isArray(data);\n }\n\n /**\n * Public function `emptyArray`.\n *\n * Returns true if `data` is an empty array, false otherwise.\n */\n function emptyArray (data) {\n return array(data) && data.length === 0;\n }\n\n /**\n * Public function `nonEmptyArray`.\n *\n * Returns true if `data` is a non-empty array, false otherwise.\n */\n function nonEmptyArray (data) {\n return array(data) && greater(data.length, 0);\n }\n\n /**\n * Public function `arrayLike`.\n *\n * Returns true if `data` is an array-like object, false otherwise.\n */\n function arrayLike (data) {\n return assigned(data) && greaterOrEqual(data.length, 0);\n }\n\n /**\n * Public function `iterable`.\n *\n * Returns true if `data` is an iterable, false otherwise.\n */\n function iterable (data) {\n if (! haveSymbols) {\n // Fall back to `arrayLike` predicate in pre-ES6 environments.\n return arrayLike(data);\n }\n\n return assigned(data) && isFunction(data[Symbol.iterator]);\n }\n\n /**\n * Public function `includes`.\n *\n * Returns true if `data` contains `value`, false otherwise.\n */\n function includes (data, value) {\n var iterator, iteration, keys, length, i;\n\n if (! assigned(data)) {\n return false;\n }\n\n if (haveSymbols && data[Symbol.iterator] && isFunction(data.values)) {\n iterator = data.values();\n\n do {\n iteration = iterator.next();\n\n if (iteration.value === value) {\n return true;\n }\n } while (! iteration.done);\n\n return false;\n }\n\n keys = Object.keys(data);\n length = keys.length;\n for (i = 0; i < length; ++i) {\n if (data[keys[i]] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Public function `hasLength`.\n *\n * Returns true if `data` has a length property that equals `length`, false\n * otherwise.\n */\n function hasLength (data, length) {\n return assigned(data) && data.length === length;\n }\n\n /**\n * Public function `date`.\n *\n * Returns true if `data` is a valid date, false otherwise.\n */\n function date (data) {\n return instanceStrict(data, Date) && integer(data.getTime());\n }\n\n /**\n * Public function `function`.\n *\n * Returns true if `data` is a function, false otherwise.\n */\n function isFunction (data) {\n return typeof data === 'function';\n }\n\n /**\n * Public function `apply`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result array. If the same function is to be applied across all of the\n * data, a single predicate function may be passed in.\n *\n */\n function apply (data, predicates) {\n assert.array(data);\n\n if (isFunction(predicates)) {\n return data.map(function (value) {\n return predicates(value);\n });\n }\n\n assert.array(predicates);\n assert.hasLength(data, predicates.length);\n\n return data.map(function (value, index) {\n return predicates[index](value);\n });\n }\n\n /**\n * Public function `map`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result object. Supports nested objects. If the `data` is not nested and\n * the same function is to be applied across all of it, a single predicate\n * function may be passed in.\n *\n */\n function map (data, predicates) {\n assert.object(data);\n\n if (isFunction(predicates)) {\n return mapSimple(data, predicates);\n }\n\n assert.object(predicates);\n\n return mapComplex(data, predicates);\n }\n\n function mapSimple (data, predicate) {\n var result = {};\n\n Object.keys(data).forEach(function (key) {\n result[key] = predicate(data[key]);\n });\n\n return result;\n }\n\n function mapComplex (data, predicates) {\n var result = {};\n\n Object.keys(predicates).forEach(function (key) {\n var predicate = predicates[key];\n\n if (isFunction(predicate)) {\n if (not.assigned(data)) {\n result[key] = !!predicate.m;\n } else {\n result[key] = predicate(data[key]);\n }\n } else if (object(predicate)) {\n result[key] = mapComplex(data[key], predicate);\n }\n });\n\n return result;\n }\n\n /**\n * Public function `all`\n *\n * Check that all boolean values are true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n function all (data) {\n if (array(data)) {\n return testArray(data, false);\n }\n\n assert.object(data);\n\n return testObject(data, false);\n }\n\n function testArray (data, result) {\n var i;\n\n for (i = 0; i < data.length; i += 1) {\n if (data[i] === result) {\n return result;\n }\n }\n\n return !result;\n }\n\n function testObject (data, result) {\n var key, value;\n\n for (key in data) {\n if (data.hasOwnProperty(key)) {\n value = data[key];\n\n if (object(value) && testObject(value, result) === result) {\n return result;\n }\n\n if (value === result) {\n return result;\n }\n }\n }\n\n return !result;\n }\n\n /**\n * Public function `any`\n *\n * Check that at least one boolean value is true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n function any (data) {\n if (array(data)) {\n return testArray(data, true);\n }\n\n assert.object(data);\n\n return testObject(data, true);\n }\n\n function mixin (target, source) {\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n\n return target;\n }\n\n /**\n * Public modifier `assert`.\n *\n * Throws if `predicate` returns false.\n */\n function assertModifier (predicate, defaultMessage) {\n return function () {\n return assertPredicate(predicate, arguments, defaultMessage);\n };\n }\n\n function assertPredicate (predicate, args, defaultMessage) {\n var argCount = predicate.l || predicate.length;\n var message = args[argCount];\n var ErrorType = args[argCount + 1];\n assertImpl(\n predicate.apply(null, args),\n nonEmptyString(message) ? message : defaultMessage,\n isFunction(ErrorType) ? ErrorType : TypeError\n );\n return args[0];\n }\n\n function assertImpl (value, message, ErrorType) {\n if (value) {\n return value;\n }\n throw new (ErrorType || Error)(message || 'Assertion failed');\n }\n\n /**\n * Public modifier `not`.\n *\n * Negates `predicate`.\n */\n function notModifier (predicate) {\n var modifiedPredicate = function () {\n return notImpl(predicate.apply(null, arguments));\n };\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function notImpl (value) {\n return !value;\n }\n\n /**\n * Public modifier `maybe`.\n *\n * Returns true if predicate argument is null or undefined,\n * otherwise propagates the return value from `predicate`.\n */\n function maybeModifier (predicate) {\n var modifiedPredicate = function () {\n if (not.assigned(arguments[0])) {\n return true;\n }\n\n return predicate.apply(null, arguments);\n };\n modifiedPredicate.l = predicate.length;\n\n // Hackishly indicate that this is a maybe.xxx predicate.\n // Without this flag, the alternative would be to iterate\n // through the maybe predicates or use indexOf to check,\n // which would be time-consuming.\n modifiedPredicate.m = true;\n\n return modifiedPredicate;\n }\n\n function maybeImpl (value) {\n if (assigned(value) === false) {\n return true;\n }\n\n return value;\n }\n\n /**\n * Public modifier `of`.\n *\n * Applies the chained predicate to members of the collection.\n */\n function ofModifier (target, type, predicate) {\n var modifiedPredicate = function () {\n var collection, args;\n\n collection = arguments[0];\n\n if (target === 'maybe' && not.assigned(collection)) {\n return true;\n }\n\n if (!type(collection)) {\n return false;\n }\n\n collection = coerceCollection(type, collection);\n args = slice.call(arguments, 1);\n\n try {\n collection.forEach(function (item) {\n if (\n (target !== 'maybe' || assigned(item)) &&\n !predicate.apply(null, [ item ].concat(args))\n ) {\n // TODO: Replace with for...of when ES6 is required.\n throw 0;\n }\n });\n } catch (ignore) {\n return false;\n }\n\n return true;\n };\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function coerceCollection (type, collection) {\n switch (type) {\n case arrayLike:\n return slice.call(collection);\n case object:\n return Object.keys(collection).map(function (key) {\n return collection[key];\n });\n default:\n return collection;\n }\n }\n\n function createModifiedPredicates (modifier, object) {\n return createModifiedFunctions([ modifier, predicates, object ]);\n }\n\n function createModifiedFunctions (args) {\n var modifier, object, functions, result;\n\n modifier = args.shift();\n object = args.pop();\n functions = args.pop();\n\n result = object || {};\n\n Object.keys(functions).forEach(function (key) {\n Object.defineProperty(result, key, {\n configurable: false,\n enumerable: true,\n writable: false,\n value: modifier.apply(null, args.concat(functions[key], messages[key]))\n });\n });\n\n return result;\n }\n\n function createModifiedModifier (modifier, modified) {\n return createModifiedFunctions([ modifier, modified, null ]);\n }\n\n function createOfPredicates (key) {\n predicates[key].of = createModifiedFunctions(\n [ ofModifier.bind(null, null), predicates[key], predicates, null ]\n );\n }\n\n function createOfModifiers (base, modifier) {\n collections.forEach(function (key) {\n base[key].of = createModifiedModifier(modifier, predicates[key].of);\n });\n }\n\n function createMaybeOfModifiers (key) {\n maybe[key].of = createModifiedFunctions(\n [ ofModifier.bind(null, 'maybe'), predicates[key], predicates, null ]\n );\n assert.maybe[key].of = createModifiedModifier(assertModifier, maybe[key].of);\n assert.not[key].of = createModifiedModifier(assertModifier, not[key].of);\n }\n\n function exportFunctions (functions) {\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return functions;\n });\n } else if (typeof module !== 'undefined' && module !== null && module.exports) {\n module.exports = functions;\n } else {\n globals.check = functions;\n }\n }\n}(this));\n","/**\n *\n * Worker utilities for browser and node\n *\n * @fileoverview Worker utilities for browser and node\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nconst { readImage, loadLang } = require('tesseract.js-utils');\nconst dump = require('./dump');\n\n/*\n * Tesseract Module returned by TesseractCore.\n */\nlet TessModule;\n/*\n * TessearctBaseAPI instance\n */\nlet api;\nlet latestJob;\nlet adapter = {};\n\n/**\n * setImage\n *\n * @name setImage\n * @function set image in tesseract for recognition\n * @access public\n * @param {array} image - binary array in array format\n * @returns {number} - an emscripten pointer of the image\n */\nconst setImage = (image) => {\n const {\n w, h, bytesPerPixel, data, pix,\n } = readImage(TessModule, Array.from(image));\n\n /*\n * As some image format (ex. bmp) is not supported natiely by tesseract,\n * sometimes it will not return pix directly, but data and bytesPerPixel\n * for another SetImage usage.\n *\n */\n if (data === null) {\n api.SetImage(pix);\n } else {\n api.SetImage(data, w, h, bytesPerPixel, w * bytesPerPixel);\n }\n api.SetRectangle(0, 0, w, h);\n return data === null ? pix : data;\n};\n\n/**\n * handleInit\n *\n * @name handleInit\n * @function handle initialization of TessModule\n * @access public\n * @param {object} req - job payload\n * @param {string} req.corePath - path to the tesseract-core.js\n * @param {object} res - job instance\n * @returns {Promise} A Promise for callback\n */\nconst handleInit = ({ corePath }, res) => {\n if (!TessModule) {\n const Core = adapter.getCore(corePath, res);\n\n res.progress({ status: 'initializing tesseract', progress: 0 });\n\n return Core({\n TesseractProgress(percent) {\n latestJob.progress({ status: 'recognizing text', progress: Math.max(0, (percent - 30) / 70) });\n },\n })\n .then((tessModule) => {\n TessModule = tessModule;\n api = new TessModule.TessBaseAPI();\n res.progress({ status: 'initialized tesseract', progress: 1 });\n });\n }\n\n return Promise.resolve();\n};\n\n/**\n * loadLanguage\n *\n * @name loadLanguage\n * @function load language from remote or local cache\n * @access public\n * @param {object} req - job payload\n * @param {string} req.lang - languages to load, ex: eng, eng+chi_tra\n * @param {object} req.options - other options for loadLang function\n * @param {object} res - job instance\n * @returns {Promise} A Promise for callback\n */\nconst loadLanguage = ({ lang, options }, res) => {\n res.progress({ status: 'loading language traineddata', progress: 0 });\n return loadLang({ lang, TessModule, ...options }).then((...args) => {\n res.progress({ status: 'loaded language traineddata', progress: 1 });\n return args;\n });\n};\n\n/**\n * handleRecognize\n *\n * @name handleRecognize\n * @function handle recognition job\n * @access public\n * @param {object} req - job payload\n * @param {array} req.image - binary image in array format\n * @param {string} req.lang - languages to load, ex: eng, eng+chi_tra\n * @param {object} req.options - other options for loadLang function\n * @param {object} req.params - parameters for tesseract\n * @param {object} res - job instance\n */\nconst handleRecognize = ({\n image, lang, options, params,\n}, res) => (\n handleInit(options, res)\n .then(() => (\n loadLanguage({ lang, options }, res)\n .then(() => {\n const progressUpdate = (progress) => {\n res.progress({ status: 'initializing api', progress });\n };\n progressUpdate(0);\n api.Init(null, lang);\n progressUpdate(0.3);\n Object.keys(params).forEach((key) => {\n api.SetVariable(key, params[key]);\n });\n progressUpdate(0.6);\n const ptr = setImage(image);\n progressUpdate(1);\n api.Recognize(null);\n const result = dump(TessModule, api);\n api.End();\n TessModule._free(ptr);\n res.resolve(result);\n })\n ))\n);\n\n/**\n * handleDetect\n *\n * @name handleDetect\n * @function handle detect (Orientation and Script Detection / OSD) job\n * @access public\n * @param {object} req - job payload\n * @param {array} req.image - binary image in array format\n * @param {string} req.lang - languages to load, ex: eng, eng+chi_tra\n * @param {object} req.options - other options for loadLang function\n * @param {object} res - job instance\n */\nconst handleDetect = ({\n image, lang, options,\n}, res) => (\n handleInit(options, res)\n .then(() => (\n loadLanguage({ lang, options }, res)\n .then(() => {\n api.Init(null, lang);\n api.SetPageSegMode(TessModule.PSM_OSD_ONLY);\n\n const ptr = setImage(image);\n const results = new TessModule.OSResults();\n\n if (!api.DetectOS(results)) {\n api.End();\n TessModule._free(ptr);\n res.reject('Failed to detect OS');\n } else {\n const best = results.best_result;\n const oid = best.orientation_id;\n const sid = best.script_id;\n\n api.End();\n TessModule._free(ptr);\n\n res.resolve({\n tesseract_script_id: sid,\n script: results.unicharset.get_script_from_script_id(sid),\n script_confidence: best.sconfidence,\n orientation_degrees: [0, 270, 180, 90][oid],\n orientation_confidence: best.oconfidence,\n });\n }\n })\n ))\n);\n\n/**\n * dispatchHandlers\n *\n * @name dispatchHandlers\n * @function worker data handler\n * @access public\n * @param {object} data\n * @param {string} data.jobId - unique job id\n * @param {string} data.action - action of the job, only recognize and detect for now\n * @param {object} data.payload - data for the job\n * @param {function} send - trigger job to work\n */\nexports.dispatchHandlers = ({ jobId, action, payload }, send) => {\n const res = (status, data) => {\n send({\n jobId,\n status,\n action,\n data,\n });\n };\n res.resolve = res.bind(this, 'resolve');\n res.reject = res.bind(this, 'reject');\n res.progress = res.bind(this, 'progress');\n\n latestJob = res;\n\n try {\n if (action === 'recognize') {\n handleRecognize(payload, res);\n } else if (action === 'detect') {\n handleDetect(payload, res);\n }\n } catch (err) {\n /** Prepare exception to travel through postMessage */\n res.reject(err.toString());\n }\n};\n\n/**\n * setAdapter\n *\n * @name setAdapter\n * @function\n * @access public\n * @param {object} impl - implementation of the worker, different in browser and node environment\n */\nexports.setAdapter = (impl) => {\n adapter = impl;\n};\n","const cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')({\n fetch: require('./common/browser/fetch'),\n gunzip: require('./common/browser/gunzip'),\n resolveURL: require('resolve-url'),\n ...cache,\n }),\n readImage: require('./readImage'),\n cache,\n};\n","const { set, get, del } = require('idb-keyval');\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: path => (\n get(path)\n .then(v => typeof v !== 'undefined')\n ),\n};\n","class Store {\r\n constructor(dbName = 'keyval-store', storeName = 'keyval') {\r\n this.storeName = storeName;\r\n this._dbp = new Promise((resolve, reject) => {\r\n const openreq = indexedDB.open(dbName, 1);\r\n openreq.onerror = () => reject(openreq.error);\r\n openreq.onsuccess = () => resolve(openreq.result);\r\n // First time setup: create an empty object store\r\n openreq.onupgradeneeded = () => {\r\n openreq.result.createObjectStore(storeName);\r\n };\r\n });\r\n }\r\n _withIDBStore(type, callback) {\r\n return this._dbp.then(db => new Promise((resolve, reject) => {\r\n const transaction = db.transaction(this.storeName, type);\r\n transaction.oncomplete = () => resolve();\r\n transaction.onabort = transaction.onerror = () => reject(transaction.error);\r\n callback(transaction.objectStore(this.storeName));\r\n }));\r\n }\r\n}\r\nlet store;\r\nfunction getDefaultStore() {\r\n if (!store)\r\n store = new Store();\r\n return store;\r\n}\r\nfunction get(key, store = getDefaultStore()) {\r\n let req;\r\n return store._withIDBStore('readonly', store => {\r\n req = store.get(key);\r\n }).then(() => req.result);\r\n}\r\nfunction set(key, value, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.put(value, key);\r\n });\r\n}\r\nfunction del(key, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.delete(key);\r\n });\r\n}\r\nfunction clear(store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.clear();\r\n });\r\n}\r\nfunction keys(store = getDefaultStore()) {\r\n const keys = [];\r\n return store._withIDBStore('readonly', store => {\r\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\r\n // And openKeyCursor isn't supported by Safari.\r\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\r\n if (!this.result)\r\n return;\r\n keys.push(this.result.key);\r\n this.result.continue();\r\n };\r\n }).then(() => keys);\r\n}\n\nexport { Store, get, set, del, clear, keys };\n","const isURL = require('is-url');\n\nconst handleLang = modules => ({\n TessModule,\n dataPath,\n cachePath,\n cacheMethod,\n lang,\n}) => (data) => {\n if (TessModule) {\n if (dataPath) {\n try {\n TessModule.FS.mkdir(dataPath);\n } catch (err) {\n // TODO: Do some error handling here.\n }\n }\n TessModule.FS.writeFile(`${dataPath || '.'}/${lang}.traineddata`, data);\n }\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache(`${cachePath || '.'}/${lang}.traineddata`, data)\n .then(() => data);\n }\n\n return data;\n};\n\nconst loadAndGunzipFile = modules => ({\n langPath,\n cachePath,\n cacheMethod,\n ...options\n}) => (lang) => {\n let { readCache } = modules;\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = () => Promise.resolve();\n }\n\n return readCache(`${cachePath || '.'}/${lang}.traineddata`)\n .then((data) => {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n return handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n })(data);\n })\n .catch(() => {\n const fetchTrainedData = iLangPath => (\n modules.fetch(`${iLangPath}/${lang}.traineddata.gz`)\n .then(resp => resp.arrayBuffer())\n .then(buf => modules.gunzip(new Uint8Array(buf)))\n .then(handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n }))\n );\n\n /** When langPath is an URL, just do the fetch */\n if (isURL(langPath)) {\n return fetchTrainedData(langPath);\n }\n\n /** When langPath is not an URL in browser environment */\n if (process.browser) {\n return fetchTrainedData(modules.resolveURL(langPath));\n }\n\n /** When langPath is not an URL in Node.js environment */\n return modules.readCache(`${langPath}/${lang}.traineddata.gz`)\n .then(buf => modules.gunzip(new Uint8Array(buf)))\n .then(handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n }));\n });\n};\n\n/**\n *\n * @name loadLang\n * @function load language(s) from local cache, download from remote if not in cache.\n * @param {object} options\n * @param {string} options.lang - langs to load, use '+' for multiple languages, ex: eng+chi_tra\n * @param {object} options.TessModule - TesseractModule\n * @param {string} options.langPath - prefix path for downloading lang file\n * @param {string} options.cachePath - path to find cache\n * @param {string} options.dataPath - path to store data in mem\n * @param {string} options.cacheMethod -\n * method of cache invaliation, should one of following options:\n * write: read cache and write back (default method)\n * readOnly: read cache and not to write back\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\nmodule.exports = modules => ({\n lang: langs,\n ...options\n}) => (\n Promise\n .all(langs.split('+').map(loadAndGunzipFile(modules)(options)))\n);\n","\n/**\n * Expose `isUrl`.\n */\n\nmodule.exports = isUrl;\n\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string){\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}\n","module.exports = fetch.bind();\n","module.exports = require('zlibjs').gunzipSync;\n","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */(function() {'use strict';function q(b){throw b;}var t=void 0,v=!0;var B=\"undefined\"!==typeof Uint8Array&&\"undefined\"!==typeof Uint16Array&&\"undefined\"!==typeof Uint32Array&&\"undefined\"!==typeof DataView;function G(b,a){this.index=\"number\"===typeof a?a:0;this.m=0;this.buffer=b instanceof(B?Uint8Array:Array)?b:new (B?Uint8Array:Array)(32768);2*this.buffer.length<=this.index&&q(Error(\"invalid index\"));this.buffer.length<=this.index&&this.f()}G.prototype.f=function(){var b=this.buffer,a,c=b.length,d=new (B?Uint8Array:Array)(c<<1);if(B)d.set(b);else for(a=0;a>>8&255]<<16|I[b>>>16&255]<<8|I[b>>>24&255])>>32-a:I[b]>>8-a);if(8>a+f)g=g<>a-k-1&1,8===++f&&(f=0,d[e++]=I[g],g=0,e===d.length&&(d=this.f()));d[e]=g;this.buffer=d;this.m=f;this.index=e};G.prototype.finish=function(){var b=this.buffer,a=this.index,c;0L;++L){for(var R=L,ba=R,ca=7,R=R>>>1;R;R>>>=1)ba<<=1,ba|=R&1,--ca;aa[L]=(ba<>>0}var I=aa;function ha(b,a,c){var d,e=\"number\"===typeof a?a:a=0,f=\"number\"===typeof c?c:b.length;d=-1;for(e=f&7;e--;++a)d=d>>>8^S[(d^b[a])&255];for(e=f>>3;e--;a+=8)d=d>>>8^S[(d^b[a])&255],d=d>>>8^S[(d^b[a+1])&255],d=d>>>8^S[(d^b[a+2])&255],d=d>>>8^S[(d^b[a+3])&255],d=d>>>8^S[(d^b[a+4])&255],d=d>>>8^S[(d^b[a+5])&255],d=d>>>8^S[(d^b[a+6])&255],d=d>>>8^S[(d^b[a+7])&255];return(d^4294967295)>>>0}\nvar ia=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,\n2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,\n2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,\n2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,\n3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,\n936918E3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],S=B?new Uint32Array(ia):ia;function ja(){};function ka(b){this.buffer=new (B?Uint16Array:Array)(2*b);this.length=0}ka.prototype.getParent=function(b){return 2*((b-2)/4|0)};ka.prototype.push=function(b,a){var c,d,e=this.buffer,f;c=this.length;e[this.length++]=a;for(e[this.length++]=b;0e[d])f=e[c],e[c]=e[d],e[d]=f,f=e[c+1],e[c+1]=e[d+1],e[d+1]=f,c=d;else break;return this.length};\nka.prototype.pop=function(){var b,a,c=this.buffer,d,e,f;a=c[0];b=c[1];this.length-=2;c[0]=c[this.length];c[1]=c[this.length+1];for(f=0;;){e=2*f+2;if(e>=this.length)break;e+2c[e]&&(e+=2);if(c[e]>c[f])d=c[f],c[f]=c[e],c[e]=d,d=c[f+1],c[f+1]=c[e+1],c[e+1]=d;else break;f=e}return{index:b,value:a,length:this.length}};function T(b){var a=b.length,c=0,d=Number.POSITIVE_INFINITY,e,f,g,k,h,m,r,p,l,n;for(p=0;pc&&(c=b[p]),b[p]>=1;n=g<<16|p;for(l=m;lU;U++)switch(v){case 143>=U:qa.push([U+48,8]);break;case 255>=U:qa.push([U-144+400,9]);break;case 279>=U:qa.push([U-256+0,7]);break;case 287>=U:qa.push([U-280+192,8]);break;default:q(\"invalid literal: \"+U)}\nna.prototype.h=function(){var b,a,c,d,e=this.input;switch(this.k){case 0:c=0;for(d=e.length;c>>8&255;l[n++]=m&255;l[n++]=m>>>8&255;if(B)l.set(f,n),n+=f.length,l=l.subarray(0,n);else{r=0;for(p=f.length;rA)for(;0A?A:138,F>A-3&&F=F?(J[H++]=17,J[H++]=F-3,P[17]++):(J[H++]=18,J[H++]=F-11,P[18]++),A-=F;else if(J[H++]=K[y],P[K[y]]++,A--,3>A)for(;0A?A:6,F>A-3&&FE;E++)ta[E]=la[qb[E]];for(Y=19;4=a:return[265,a-11,1];case 14>=a:return[266,a-13,1];case 16>=a:return[267,a-15,1];case 18>=a:return[268,a-17,1];case 22>=a:return[269,a-19,2];case 26>=a:return[270,a-23,2];case 30>=a:return[271,a-27,2];case 34>=a:return[272,\na-31,2];case 42>=a:return[273,a-35,3];case 50>=a:return[274,a-43,3];case 58>=a:return[275,a-51,3];case 66>=a:return[276,a-59,3];case 82>=a:return[277,a-67,4];case 98>=a:return[278,a-83,4];case 114>=a:return[279,a-99,4];case 130>=a:return[280,a-115,4];case 162>=a:return[281,a-131,5];case 194>=a:return[282,a-163,5];case 226>=a:return[283,a-195,5];case 257>=a:return[284,a-227,5];case 258===a:return[285,a-258,0];default:q(\"invalid length: \"+a)}}var a=[],c,d;for(c=3;258>=c;c++)d=b(c),a[c]=d[2]<<24|d[1]<<\n16|d[0];return a}(),ya=B?new Uint32Array(xa):xa;\nfunction ra(b,a){function c(a,c){var b=a.N,d=[],f=0,e;e=ya[a.length];d[f++]=e&65535;d[f++]=e>>16&255;d[f++]=e>>24;var g;switch(v){case 1===b:g=[0,b-1,0];break;case 2===b:g=[1,b-2,0];break;case 3===b:g=[2,b-3,0];break;case 4===b:g=[3,b-4,0];break;case 6>=b:g=[4,b-5,1];break;case 8>=b:g=[5,b-7,1];break;case 12>=b:g=[6,b-9,2];break;case 16>=b:g=[7,b-13,2];break;case 24>=b:g=[8,b-17,3];break;case 32>=b:g=[9,b-25,3];break;case 48>=b:g=[10,b-33,4];break;case 64>=b:g=[11,b-49,4];break;case 96>=b:g=[12,b-\n65,5];break;case 128>=b:g=[13,b-97,5];break;case 192>=b:g=[14,b-129,6];break;case 256>=b:g=[15,b-193,6];break;case 384>=b:g=[16,b-257,7];break;case 512>=b:g=[17,b-385,7];break;case 768>=b:g=[18,b-513,8];break;case 1024>=b:g=[19,b-769,8];break;case 1536>=b:g=[20,b-1025,9];break;case 2048>=b:g=[21,b-1537,9];break;case 3072>=b:g=[22,b-2049,10];break;case 4096>=b:g=[23,b-3073,10];break;case 6144>=b:g=[24,b-4097,11];break;case 8192>=b:g=[25,b-6145,11];break;case 12288>=b:g=[26,b-8193,12];break;case 16384>=\nb:g=[27,b-12289,12];break;case 24576>=b:g=[28,b-16385,13];break;case 32768>=b:g=[29,b-24577,13];break;default:q(\"invalid distance\")}e=g;d[f++]=e[0];d[f++]=e[1];d[f++]=e[2];var h,k;h=0;for(k=d.length;h=f;)u[f++]=0;for(f=0;29>=f;)w[f++]=0}u[256]=1;d=0;for(e=a.length;d=e){p&&c(p,-1);f=0;for(g=e-d;fg&&a+gf&&(e=d,f=g);if(258===g)break}return new va(f,a-e)}\nfunction sa(b,a){var c=b.length,d=new ka(572),e=new (B?Uint8Array:Array)(c),f,g,k,h,m;if(!B)for(h=0;h2*e[n-1]+f[n]&&(e[n]=2*e[n-1]+f[n]),k[n]=Array(e[n]),h[n]=Array(e[n]);for(l=0;lb[l]?(k[n][s]=u,h[n][s]=a,w+=2):(k[n][s]=b[l],h[n][s]=l,++l);m[n]=0;1===f[n]&&d(n)}return g}\nfunction ua(b){var a=new (B?Uint16Array:Array)(b.length),c=[],d=[],e=0,f,g,k,h;f=0;for(g=b.length;f>>=1}return a};function Ba(b,a){this.input=b;this.b=this.c=0;this.g={};a&&(a.flags&&(this.g=a.flags),\"string\"===typeof a.filename&&(this.filename=a.filename),\"string\"===typeof a.comment&&(this.w=a.comment),a.deflateOptions&&(this.l=a.deflateOptions));this.l||(this.l={})}\nBa.prototype.h=function(){var b,a,c,d,e,f,g,k,h=new (B?Uint8Array:Array)(32768),m=0,r=this.input,p=this.c,l=this.filename,n=this.w;h[m++]=31;h[m++]=139;h[m++]=8;b=0;this.g.fname&&(b|=Ca);this.g.fcomment&&(b|=Da);this.g.fhcrc&&(b|=Ea);h[m++]=b;a=(Date.now?Date.now():+new Date)/1E3|0;h[m++]=a&255;h[m++]=a>>>8&255;h[m++]=a>>>16&255;h[m++]=a>>>24&255;h[m++]=0;h[m++]=Sa;if(this.g.fname!==t){g=0;for(k=l.length;g>>8&255),h[m++]=f&255;h[m++]=0}if(this.g.comment){g=\n0;for(k=n.length;g>>8&255),h[m++]=f&255;h[m++]=0}this.g.fhcrc&&(c=ha(h,0,m)&65535,h[m++]=c&255,h[m++]=c>>>8&255);this.l.outputBuffer=h;this.l.outputIndex=m;e=new na(r,this.l);h=e.h();m=e.b;B&&(m+8>h.buffer.byteLength?(this.a=new Uint8Array(m+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer));d=ha(r,t,t);h[m++]=d&255;h[m++]=d>>>8&255;h[m++]=d>>>16&255;h[m++]=d>>>24&255;k=r.length;h[m++]=k&255;h[m++]=k>>>8&255;h[m++]=k>>>16&255;h[m++]=\nk>>>24&255;this.c=p;B&&m>>=1;switch(b){case 0:var a=this.input,c=this.c,d=this.a,e=this.b,f=a.length,g=t,k=t,h=d.length,m=t;this.e=this.j=0;c+1>=f&&q(Error(\"invalid uncompressed block header: LEN\"));g=a[c++]|a[c++]<<8;c+1>=f&&q(Error(\"invalid uncompressed block header: NLEN\"));k=a[c++]|a[c++]<<8;g===~k&&q(Error(\"invalid uncompressed block header: length verify\"));c+g>a.length&&q(Error(\"input buffer is broken\"));switch(this.q){case Ua:for(;e+g>d.length;){m=\nh-e;g-=m;if(B)d.set(a.subarray(c,c+m),e),e+=m,c+=m;else for(;m--;)d[e++]=a[c++];this.b=e;d=this.f();e=this.b}break;case Ta:for(;e+g>d.length;)d=this.f({B:2});break;default:q(Error(\"invalid inflate mode\"))}if(B)d.set(a.subarray(c,c+g),e),e+=g,c+=g;else for(;g--;)d[e++]=a[c++];this.c=c;this.b=e;this.a=d;break;case 1:this.r(Va,Wa);break;case 2:for(var r=W(this,5)+257,p=W(this,5)+1,l=W(this,4)+4,n=new (B?Uint8Array:Array)(Xa.length),s=t,u=t,w=t,C=t,x=t,D=t,M=t,z=t,N=t,z=0;z=$?8:255>=$?9:279>=$?7:8;var Va=T(hb),jb=new (B?Uint8Array:Array)(30),kb,lb;kb=0;for(lb=jb.length;kb=g&&q(Error(\"input buffer is broken\")),c|=e[f++]<>>a;b.e=d-a;b.c=f;return k}\nfunction Ya(b,a){for(var c=b.j,d=b.e,e=b.input,f=b.c,g=e.length,k=a[0],h=a[1],m,r;d=g);)c|=e[f++]<>>16;r>d&&q(Error(\"invalid code length: \"+r));b.j=c>>r;b.e=d-r;b.c=f;return m&65535}\nV.prototype.r=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length-258,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(this.b=d,c=this.f(),d=this.b),c[d++]=f;else{g=f-257;h=ab[g];0=e&&(this.b=d,c=this.f(),d=this.b);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.Q=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(c=this.f(),e=c.length),c[d++]=f;else{g=f-257;h=ab[g];0e&&(c=this.f(),e=c.length);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.f=function(){var b=new (B?Uint8Array:Array)(this.b-32768),a=this.b-32768,c,d,e=this.a;if(B)b.set(e.subarray(32768,b.length));else{c=0;for(d=b.length;cc;++c)e[c]=e[a+c];this.b=32768;return e};\nV.prototype.S=function(b){var a,c=this.input.length/this.c+1|0,d,e,f,g=this.input,k=this.a;b&&(\"number\"===typeof b.B&&(c=b.B),\"number\"===typeof b.M&&(c+=b.M));2>c?(d=(g.length-this.c)/this.A[2],f=258*(d/2)|0,e=fa&&(this.a.length=a),b=this.a);return this.buffer=b};function mb(b){this.input=b;this.c=0;this.G=[];this.R=!1}\nmb.prototype.i=function(){for(var b=this.input.length;this.c>>0;ha(e,t,t)!==r&&q(Error(\"invalid CRC-32 checksum: 0x\"+ha(e,t,t).toString(16)+\" / 0x\"+\nr.toString(16)));a.Z=c=(p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24)>>>0;(e.length&4294967295)!==c&&q(Error(\"invalid input size: \"+(e.length&4294967295)+\" / \"+c));this.G.push(a);this.c=l}this.R=v;var n=this.G,s,u,w=0,C=0,x;s=0;for(u=n.length;s>>0;b=a}for(var e=1,f=0,g=b.length,k,h=0;0>>0};function ob(b,a){var c,d;this.input=b;this.c=0;if(a||!(a={}))a.index&&(this.c=a.index),a.verify&&(this.V=a.verify);c=b[this.c++];d=b[this.c++];switch(c&15){case pb:this.method=pb;break;default:q(Error(\"unsupported compression method\"))}0!==((c<<8)+d)%31&&q(Error(\"invalid fcheck flag:\"+((c<<8)+d)%31));d&32&&q(Error(\"fdict flag is not supported\"));this.J=new V(b,{index:this.c,bufferSize:a.bufferSize,bufferType:a.bufferType,resize:a.resize})}\nob.prototype.i=function(){var b=this.input,a,c;a=this.J.i();this.c=this.J.c;this.V&&(c=(b[this.c++]<<24|b[this.c++]<<16|b[this.c++]<<8|b[this.c++])>>>0,c!==nb(a)&&q(Error(\"invalid adler-32 checksum\")));return a};var pb=8;function rb(b,a){this.input=b;this.a=new (B?Uint8Array:Array)(32768);this.k=sb.t;var c={},d;if((a||!(a={}))&&\"number\"===typeof a.compressionType)this.k=a.compressionType;for(d in a)c[d]=a[d];c.outputBuffer=this.a;this.I=new na(this.input,c)}var sb=pa;\nrb.prototype.h=function(){var b,a,c,d,e,f,g,k=0;g=this.a;b=pb;switch(b){case pb:a=Math.LOG2E*Math.log(32768)-8;break;default:q(Error(\"invalid compression method\"))}c=a<<4|b;g[k++]=c;switch(b){case pb:switch(this.k){case sb.NONE:e=0;break;case sb.L:e=1;break;case sb.t:e=2;break;default:q(Error(\"unsupported compression type\"))}break;default:q(Error(\"invalid compression method\"))}d=e<<6|0;g[k++]=d|31-(256*c+d)%31;f=nb(this.input);this.I.b=k;g=this.I.h();k=g.length;B&&(g=new Uint8Array(g.buffer),g.length<=\nk+4&&(this.a=new Uint8Array(g.length+4),this.a.set(g),g=this.a),g=g.subarray(0,k+4));g[k++]=f>>24&255;g[k++]=f>>16&255;g[k++]=f>>8&255;g[k++]=f&255;return g};exports.deflate=tb;exports.deflateSync=ub;exports.inflate=vb;exports.inflateSync=wb;exports.gzip=xb;exports.gzipSync=yb;exports.gunzip=zb;exports.gunzipSync=Ab;function tb(b,a,c){process.nextTick(function(){var d,e;try{e=ub(b,c)}catch(f){d=f}a(d,e)})}function ub(b,a){var c;c=(new rb(b)).h();a||(a={});return a.H?c:Bb(c)}function vb(b,a,c){process.nextTick(function(){var d,e;try{e=wb(b,c)}catch(f){d=f}a(d,e)})}\nfunction wb(b,a){var c;b.subarray=b.slice;c=(new ob(b)).i();a||(a={});return a.noBuffer?c:Bb(c)}function xb(b,a,c){process.nextTick(function(){var d,e;try{e=yb(b,c)}catch(f){d=f}a(d,e)})}function yb(b,a){var c;b.subarray=b.slice;c=(new Ba(b)).h();a||(a={});return a.H?c:Bb(c)}function zb(b,a,c){process.nextTick(function(){var d,e;try{e=Ab(b,c)}catch(f){d=f}a(d,e)})}function Ab(b,a){var c;b.subarray=b.slice;c=(new mb(b)).i();a||(a={});return a.H?c:Bb(c)}\nfunction Bb(b){var a=new Buffer(b.length),c,d;c=0;for(d=b.length;c 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// Copyright 2014 Simon Lydell\r\n// X11 (“MIT”) Licensed. (See LICENSE.)\r\n\r\nvoid (function(root, factory) {\r\n if (typeof define === \"function\" && define.amd) {\r\n define(factory)\r\n } else if (typeof exports === \"object\") {\r\n module.exports = factory()\r\n } else {\r\n root.resolveUrl = factory()\r\n }\r\n}(this, function() {\r\n\r\n function resolveUrl(/* ...urls */) {\r\n var numUrls = arguments.length\r\n\r\n if (numUrls === 0) {\r\n throw new Error(\"resolveUrl requires at least one argument; got none.\")\r\n }\r\n\r\n var base = document.createElement(\"base\")\r\n base.href = arguments[0]\r\n\r\n if (numUrls === 1) {\r\n return base.href\r\n }\r\n\r\n var head = document.getElementsByTagName(\"head\")[0]\r\n head.insertBefore(base, head.firstChild)\r\n\r\n var a = document.createElement(\"a\")\r\n var resolved\r\n\r\n for (var index = 1; index < numUrls; index++) {\r\n a.href = arguments[index]\r\n resolved = a.href\r\n base.href = resolved\r\n }\r\n\r\n head.removeChild(base)\r\n\r\n return resolved\r\n }\r\n\r\n return resolveUrl\r\n\r\n}));\r\n","const bmp = require('bmp-js');\nconst fileType = require('file-type');\n\nmodule.exports = (TessModule, iBuf, yres = 70) => {\n const buf = Buffer.from(iBuf);\n const type = fileType(buf);\n let bytesPerPixel = 0;\n let data = null;\n let pix = null;\n let w = 0;\n let h = 0;\n\n /*\n * Although leptonica should support reading bmp, there is a bug of \"compressed BMP files\".\n * As there is no solution, we need to use bmp-js for now.\n * @see https://groups.google.com/forum/#!topic/tesseract-ocr/4mPD9zTxdxE\n */\n if (type && type.mime === 'image/bmp') {\n const bmpBuf = bmp.decode(buf);\n data = TessModule._malloc(bmpBuf.data.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(bmpBuf.data, data);\n w = bmpBuf.width;\n h = bmpBuf.height;\n bytesPerPixel = 4;\n } else {\n const ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n if (TessModule.getValue(pix + (7 * 4), 'i32') === 0) {\n /*\n * Set a yres default value to prevent warning from tesseract\n * See kMinCredibleResolution in tesseract/src/ccstruct/publictypes.h\n */\n TessModule.setValue(pix + (7 * 4), yres, 'i32');\n }\n [w, h] = Array(2).fill(0)\n .map((v, idx) => (\n TessModule.getValue(pix + (idx * 4), 'i32')\n ));\n }\n\n return {\n w,\n h,\n bytesPerPixel,\n data,\n pix,\n };\n};\n","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\n\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};\n","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\n\nfunction BmpEncoder(imgData){\n\tthis.buffer = imgData.data;\n\tthis.width = imgData.width;\n\tthis.height = imgData.height;\n\tthis.extraBytes = this.width%4;\n\tthis.rgbSize = this.height*(3*this.width+this.extraBytes);\n\tthis.headerInfoSize = 40;\n\n\tthis.data = [];\n\t/******************header***********************/\n\tthis.flag = \"BM\";\n\tthis.reserved = 0;\n\tthis.offset = 54;\n\tthis.fileSize = this.rgbSize+this.offset;\n\tthis.planes = 1;\n\tthis.bitPP = 24;\n\tthis.compress = 0;\n\tthis.hr = 0;\n\tthis.vr = 0;\n\tthis.colors = 0;\n\tthis.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function() {\n\tvar tempBuffer = new Buffer(this.offset+this.rgbSize);\n\tthis.pos = 0;\n\ttempBuffer.write(this.flag,this.pos,2);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.fileSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.reserved,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.offset,this.pos);this.pos+=4;\n\n\ttempBuffer.writeUInt32LE(this.headerInfoSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.width,this.pos);this.pos+=4;\n\ttempBuffer.writeInt32LE(-this.height,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt16LE(this.planes,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt16LE(this.bitPP,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.compress,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.rgbSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.hr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.vr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.colors,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.importantColors,this.pos);this.pos+=4;\n\n\tvar i=0;\n\tvar rowBytes = 3*this.width+this.extraBytes;\n\n\tfor (var y = 0; y 0){\n\t\t\tvar fillOffset = this.pos+y*rowBytes+this.width*3;\n\t\t\ttempBuffer.fill(0,fillOffset,fillOffset+this.extraBytes);\n\t\t}\n\t}\n\n\treturn tempBuffer;\n};\n\nmodule.exports = function(imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n \tvar encoder = new BmpEncoder(imgData);\n\tvar data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nfunction BmpDecoder(buffer,is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag = this.buffer.toString(\"utf-8\", 0, this.pos += 2);\n if (this.flag != \"BM\") throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseRGBA();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.reserved = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.offset = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.headerSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.width = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.height = this.buffer.readInt32LE(this.pos);\n this.pos += 4;\n this.planes = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.bitPP = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.compress = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.rawSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.hr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.vr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.colors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.importantColors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n\n if(this.bitPP === 16 && this.is_with_alpha){\n this.bitPP = 15\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var quad = this.buffer.readUInt8(this.pos++);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if(this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n\n}\n\nBmpDecoder.prototype.parseRGBA = function() {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Buffer(len);\n this[bitn]();\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen%4;\n var y = this.height >= 0 ? this.height - 1 : -this.height\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*8*4;\n for (var i = 0; i < 8; i++) {\n if(x*8+i>(7-i))&0x1)];\n\n this.data[location+i*4] = 0;\n this.data[location+i*4 + 1] = rgb.blue;\n this.data[location+i*4 + 2] = rgb.green;\n this.data[location+i*4 + 3] = rgb.red;\n\n }else{\n break;\n }\n }\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n //RLE-4\n if(this.compress == 2){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n var low_nibble = false;//for all count of pixel\n\n while(location>4);\n }\n\n if ((i & 1) && (i+1 < b)){\n c = this.buffer.readUInt8(this.pos++);\n }\n\n low_nibble = !low_nibble;\n }\n\n if ((((b+1) >> 1) & 1 ) == 1){\n this.pos++\n }\n }\n\n }else{//encoded mode\n for (var i = 0; i < a; i++) {\n if (low_nibble) {\n setPixelData.call(this, (b & 0x0f));\n } else {\n setPixelData.call(this, (b & 0xf0)>>4);\n }\n low_nibble = !low_nibble;\n }\n }\n\n }\n\n\n\n\n function setPixelData(rgbIndex){\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location+=4;\n }\n }else{\n\n var xlen = Math.ceil(this.width/2);\n var mode = xlen%4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*2*4;\n\n var before = b>>4;\n var after = b&0x0F;\n\n var rgb = this.palette[before];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n\n if(x*2+1>=this.width)break;\n\n rgb = this.palette[after];\n\n this.data[location+4] = 0;\n this.data[location+4 + 1] = rgb.blue;\n this.data[location+4 + 2] = rgb.green;\n this.data[location+4 + 3] = rgb.red;\n\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n\n }\n\n};\n\nBmpDecoder.prototype.bit8 = function() {\n //RLE-8\n if(this.compress == 1){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n\n while(location= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n } else {\n this.data[location] = 0;\n this.data[location + 1] = 0xFF;\n this.data[location + 2] = 0xFF;\n this.data[location + 3] = 0xFF;\n }\n }\n if (mode != 0) {\n this.pos += (4 - mode);\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w =this.width % 3;\n var _11111 = parseInt(\"11111\", 2),_1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n var blue = (B & _1_5) / _1_5 * 255 | 0;\n var green = (B >> 5 & _1_5 ) / _1_5 * 255 | 0;\n var red = (B >> 10 & _1_5) / _1_5 * 255 | 0;\n var alpha = (B>>15)?0xFF:0x00;\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w =(this.width % 2)*2;\n //default xrgb555\n this.maskRed = 0x7C00;\n this.maskGreen = 0x3E0;\n this.maskBlue =0x1F;\n this.mask0 = 0;\n\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n }\n\n\n var ns=[0,0,0];\n for (var i=0;i<16;i++){\n if ((this.maskRed>>i)&0x01) ns[0]++;\n if ((this.maskGreen>>i)&0x01) ns[1]++;\n if ((this.maskBlue>>i)&0x01) ns[2]++;\n }\n ns[1]+=ns[0]; ns[2]+=ns[1];\tns[0]=8-ns[0]; ns[1]-=8; ns[2]-=8;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n\n var blue = (B&this.maskBlue)<>ns[1];\n var red = (B&this.maskRed)>>ns[2];\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += (this.width % 4);\n }\n\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //BI_BITFIELDS\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgba\n var alpha = this.buffer.readUInt8(this.pos++);\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }else{\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian argb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var alpha = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }\n\n\n\n\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nmodule.exports = function(bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};\n","'use strict';\nconst toBytes = s => [...s].map(c => c.charCodeAt(0));\nconst xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nconst oxmlContentTypes = toBytes('[Content_Types].xml');\nconst oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset = 0) {\n\tlet n = buf[offset];\n\tlet mul = 1;\n\tlet i = 0;\n\twhile (++i < 8) {\n\t\tmul *= 0x100;\n\t\tn += buf[offset + i] * mul;\n\t}\n\n\treturn n;\n}\n\nconst fileType = input => {\n\tif (!(input instanceof Uint8Array || input instanceof ArrayBuffer || Buffer.isBuffer(input))) {\n\t\tthrow new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`Buffer\\` or \\`ArrayBuffer\\`, got \\`${typeof input}\\``);\n\t}\n\n\tconst buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n\tif (!(buf && buf.length > 1)) {\n\t\treturn null;\n\t}\n\n\tconst check = (header, options) => {\n\t\toptions = Object.assign({\n\t\t\toffset: 0\n\t\t}, options);\n\n\t\tfor (let i = 0; i < header.length; i++) {\n\t\t\t// If a bitmask is set\n\t\t\tif (options.mask) {\n\t\t\t\t// If header doesn't equal `buf` with bits masked off\n\t\t\t\tif (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (header[i] !== buf[i + options.offset]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tconst checkString = (header, options) => check(toBytes(header), options);\n\n\tif (check([0xFF, 0xD8, 0xFF])) {\n\t\treturn {\n\t\t\text: 'jpg',\n\t\t\tmime: 'image/jpeg'\n\t\t};\n\t}\n\n\tif (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png'\n\t\t};\n\t}\n\n\tif (check([0x47, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'gif',\n\t\t\tmime: 'image/gif'\n\t\t};\n\t}\n\n\tif (check([0x57, 0x45, 0x42, 0x50], {offset: 8})) {\n\t\treturn {\n\t\t\text: 'webp',\n\t\t\tmime: 'image/webp'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'flif',\n\t\t\tmime: 'image/flif'\n\t\t};\n\t}\n\n\t// Needs to be before `tif` check\n\tif (\n\t\t(check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) &&\n\t\tcheck([0x43, 0x52], {offset: 8})\n\t) {\n\t\treturn {\n\t\t\text: 'cr2',\n\t\t\tmime: 'image/x-canon-cr2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x49, 0x49, 0x2A, 0x0]) ||\n\t\tcheck([0x4D, 0x4D, 0x0, 0x2A])\n\t) {\n\t\treturn {\n\t\t\text: 'tif',\n\t\t\tmime: 'image/tiff'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4D])) {\n\t\treturn {\n\t\t\text: 'bmp',\n\t\t\tmime: 'image/bmp'\n\t\t};\n\t}\n\n\tif (check([0x49, 0x49, 0xBC])) {\n\t\treturn {\n\t\t\text: 'jxr',\n\t\t\tmime: 'image/vnd.ms-photo'\n\t\t};\n\t}\n\n\tif (check([0x38, 0x42, 0x50, 0x53])) {\n\t\treturn {\n\t\t\text: 'psd',\n\t\t\tmime: 'image/vnd.adobe.photoshop'\n\t\t};\n\t}\n\n\t// Zip-based file formats\n\t// Need to be before the `zip` check\n\tif (check([0x50, 0x4B, 0x3, 0x4])) {\n\t\tif (\n\t\t\tcheck([0x6D, 0x69, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x65, 0x70, 0x75, 0x62, 0x2B, 0x7A, 0x69, 0x70], {offset: 30})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'epub',\n\t\t\t\tmime: 'application/epub+zip'\n\t\t\t};\n\t\t}\n\n\t\t// Assumes signed `.xpi` from addons.mozilla.org\n\t\tif (check(xpiZipFilename, {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'xpi',\n\t\t\t\tmime: 'application/x-xpinstall'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odt',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.text'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'ods',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odp',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation'\n\t\t\t};\n\t\t}\n\n\t\t// The docx, xlsx and pptx file types extend the Office Open XML file format:\n\t\t// https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n\t\t// We look for:\n\t\t// - one entry named '[Content_Types].xml' or '_rels/.rels',\n\t\t// - one entry indicating specific type of file.\n\t\t// MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\t\tconst findNextZipHeaderIndex = (arr, startAt = 0) => arr.findIndex((el, i, arr) => i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4);\n\n\t\tlet zipHeaderIndex = 0; // The first zip header was already found at index 0\n\t\tlet oxmlFound = false;\n\t\tlet type = null;\n\n\t\tdo {\n\t\t\tconst offset = zipHeaderIndex + 30;\n\n\t\t\tif (!oxmlFound) {\n\t\t\t\toxmlFound = (check(oxmlContentTypes, {offset}) || check(oxmlRels, {offset}));\n\t\t\t}\n\n\t\t\tif (!type) {\n\t\t\t\tif (checkString('word/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'docx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('ppt/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'pptx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('xl/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'xlsx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (oxmlFound && type) {\n\t\t\t\treturn type;\n\t\t\t}\n\n\t\t\tzipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n\t\t} while (zipHeaderIndex >= 0);\n\n\t\t// No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\t\tif (type) {\n\t\t\treturn type;\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x50, 0x4B]) &&\n\t\t(buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) &&\n\t\t(buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)\n\t) {\n\t\treturn {\n\t\t\text: 'zip',\n\t\t\tmime: 'application/zip'\n\t\t};\n\t}\n\n\tif (check([0x75, 0x73, 0x74, 0x61, 0x72], {offset: 257})) {\n\t\treturn {\n\t\t\text: 'tar',\n\t\t\tmime: 'application/x-tar'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) &&\n\t\t(buf[6] === 0x0 || buf[6] === 0x1)\n\t) {\n\t\treturn {\n\t\t\text: 'rar',\n\t\t\tmime: 'application/x-rar-compressed'\n\t\t};\n\t}\n\n\tif (check([0x1F, 0x8B, 0x8])) {\n\t\treturn {\n\t\t\text: 'gz',\n\t\t\tmime: 'application/gzip'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x5A, 0x68])) {\n\t\treturn {\n\t\t\text: 'bz2',\n\t\t\tmime: 'application/x-bzip2'\n\t\t};\n\t}\n\n\tif (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n\t\treturn {\n\t\t\text: '7z',\n\t\t\tmime: 'application/x-7z-compressed'\n\t\t};\n\t}\n\n\tif (check([0x78, 0x01])) {\n\t\treturn {\n\t\t\text: 'dmg',\n\t\t\tmime: 'application/x-apple-diskimage'\n\t\t};\n\t}\n\n\tif (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n\t\t(\n\t\t\tcheck([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {offset: 4}) &&\n\t\t\t\t(\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x31], {offset: 8}) || // MP41\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x32], {offset: 8}) || // MP42\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x6D], {offset: 8}) || // ISOM\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x32], {offset: 8}) || // ISO2\n\t\t\t\t\tcheck([0x6D, 0x6D, 0x70, 0x34], {offset: 8}) || // MMP4\n\t\t\t\t\tcheck([0x4D, 0x34, 0x56], {offset: 8}) || // M4V\n\t\t\t\t\tcheck([0x64, 0x61, 0x73, 0x68], {offset: 8}) // DASH\n\t\t\t\t)\n\t\t)) {\n\t\treturn {\n\t\t\text: 'mp4',\n\t\t\tmime: 'video/mp4'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x54, 0x68, 0x64])) {\n\t\treturn {\n\t\t\text: 'mid',\n\t\t\tmime: 'audio/midi'\n\t\t};\n\t}\n\n\t// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\tif (check([0x1A, 0x45, 0xDF, 0xA3])) {\n\t\tconst sliced = buf.subarray(4, 4 + 4096);\n\t\tconst idPos = sliced.findIndex((el, i, arr) => arr[i] === 0x42 && arr[i + 1] === 0x82);\n\n\t\tif (idPos !== -1) {\n\t\t\tconst docTypePos = idPos + 3;\n\t\t\tconst findDocType = type => [...type].every((c, i) => sliced[docTypePos + i] === c.charCodeAt(0));\n\n\t\t\tif (findDocType('matroska')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mkv',\n\t\t\t\t\tmime: 'video/x-matroska'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (findDocType('webm')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'webm',\n\t\t\t\t\tmime: 'video/webm'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\tif (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) ||\n\t\tcheck([0x66, 0x72, 0x65, 0x65], {offset: 4}) || // Type: `free`\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {offset: 4}) ||\n\t\tcheck([0x6D, 0x64, 0x61, 0x74], {offset: 4}) || // MJPEG\n\t\tcheck([0x6D, 0x6F, 0x6F, 0x76], {offset: 4}) || // Type: `moov`\n\t\tcheck([0x77, 0x69, 0x64, 0x65], {offset: 4})) {\n\t\treturn {\n\t\t\text: 'mov',\n\t\t\tmime: 'video/quicktime'\n\t\t};\n\t}\n\n\t// RIFF file format which might be AVI, WAV, QCP, etc\n\tif (check([0x52, 0x49, 0x46, 0x46])) {\n\t\tif (check([0x41, 0x56, 0x49], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'avi',\n\t\t\t\tmime: 'video/vnd.avi'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x57, 0x41, 0x56, 0x45], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'wav',\n\t\t\t\tmime: 'audio/vnd.wave'\n\t\t\t};\n\t\t}\n\n\t\t// QLCM, QCP file\n\t\tif (check([0x51, 0x4C, 0x43, 0x4D], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'qcp',\n\t\t\t\tmime: 'audio/qcelp'\n\t\t\t};\n\t\t}\n\t}\n\n\t// ASF_Header_Object first 80 bytes\n\tif (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n\t\t// Search for header should be in first 1KB of file.\n\n\t\tlet offset = 30;\n\t\tdo {\n\t\t\tconst objectSize = readUInt64LE(buf, offset + 16);\n\t\t\tif (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {offset})) {\n\t\t\t\t// Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n\t\t\t\tif (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found audio:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wma',\n\t\t\t\t\t\tmime: 'audio/x-ms-wma'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found video:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wmv',\n\t\t\t\t\t\tmime: 'video/x-ms-asf'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\toffset += objectSize;\n\t\t} while (offset + 24 <= buf.length);\n\n\t\t// Default to ASF generic extension\n\t\treturn {\n\t\t\text: 'asf',\n\t\t\tmime: 'application/vnd.ms-asf'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x0, 0x0, 0x1, 0xBA]) ||\n\t\tcheck([0x0, 0x0, 0x1, 0xB3])\n\t) {\n\t\treturn {\n\t\t\text: 'mpg',\n\t\t\tmime: 'video/mpeg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {offset: 4})) {\n\t\treturn {\n\t\t\text: '3gp',\n\t\t\tmime: 'video/3gpp'\n\t\t};\n\t}\n\n\t// Check for MPEG header at different starting offsets\n\tfor (let start = 0; start < 2 && start < (buf.length - 16); start++) {\n\t\tif (\n\t\t\tcheck([0x49, 0x44, 0x33], {offset: start}) || // ID3 header\n\t\t\tcheck([0xFF, 0xE2], {offset: start, mask: [0xFF, 0xE2]}) // MPEG 1 or 2 Layer 3 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp3',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xE4], {offset: start, mask: [0xFF, 0xE4]}) // MPEG 1 or 2 Layer 2 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF8], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 2 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF0], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 4 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp4',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {offset: 4})\n\t) {\n\t\treturn { // MPEG-4 layer 3 (audio)\n\t\t\text: 'm4a',\n\t\t\tmime: 'audio/mp4' // RFC 4337\n\t\t};\n\t}\n\n\t// Needs to be before `ogg` check\n\tif (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {offset: 28})) {\n\t\treturn {\n\t\t\text: 'opus',\n\t\t\tmime: 'audio/opus'\n\t\t};\n\t}\n\n\t// If 'OggS' in first bytes, then OGG container\n\tif (check([0x4F, 0x67, 0x67, 0x53])) {\n\t\t// This is a OGG container\n\n\t\t// If ' theora' in header.\n\t\tif (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogv',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01video' in header.\n\t\tif (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogm',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If ' FLAC' in header https://xiph.org/flac/faq.html\n\t\tif (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'oga',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\t\tif (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'spx',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01vorbis' in header\n\t\tif (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogg',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\t\treturn {\n\t\t\text: 'ogx',\n\t\t\tmime: 'application/ogg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x4C, 0x61, 0x43])) {\n\t\treturn {\n\t\t\text: 'flac',\n\t\t\tmime: 'audio/x-flac'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x41, 0x43, 0x20])) { // 'MAC '\n\t\treturn {\n\t\t\text: 'ape',\n\t\t\tmime: 'audio/ape'\n\t\t};\n\t}\n\n\tif (check([0x77, 0x76, 0x70, 0x6B])) { // 'wvpk'\n\t\treturn {\n\t\t\text: 'wv',\n\t\t\tmime: 'audio/wavpack'\n\t\t};\n\t}\n\n\tif (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n\t\treturn {\n\t\t\text: 'amr',\n\t\t\tmime: 'audio/amr'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x50, 0x44, 0x46])) {\n\t\treturn {\n\t\t\text: 'pdf',\n\t\t\tmime: 'application/pdf'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x5A])) {\n\t\treturn {\n\t\t\text: 'exe',\n\t\t\tmime: 'application/x-msdownload'\n\t\t};\n\t}\n\n\tif (\n\t\t(buf[0] === 0x43 || buf[0] === 0x46) &&\n\t\tcheck([0x57, 0x53], {offset: 1})\n\t) {\n\t\treturn {\n\t\t\text: 'swf',\n\t\t\tmime: 'application/x-shockwave-flash'\n\t\t};\n\t}\n\n\tif (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n\t\treturn {\n\t\t\text: 'rtf',\n\t\t\tmime: 'application/rtf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x61, 0x73, 0x6D])) {\n\t\treturn {\n\t\t\text: 'wasm',\n\t\t\tmime: 'application/wasm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x46]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff',\n\t\t\tmime: 'font/woff'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x32]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff2',\n\t\t\tmime: 'font/woff2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4C, 0x50], {offset: 34}) &&\n\t\t(\n\t\t\tcheck([0x00, 0x00, 0x01], {offset: 8}) ||\n\t\t\tcheck([0x01, 0x00, 0x02], {offset: 8}) ||\n\t\t\tcheck([0x02, 0x00, 0x02], {offset: 8})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'eot',\n\t\t\tmime: 'application/vnd.ms-fontobject'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'ttf',\n\t\t\tmime: 'font/ttf'\n\t\t};\n\t}\n\n\tif (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n\t\treturn {\n\t\t\text: 'otf',\n\t\t\tmime: 'font/otf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x01, 0x00])) {\n\t\treturn {\n\t\t\text: 'ico',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x02, 0x00])) {\n\t\treturn {\n\t\t\text: 'cur',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x56, 0x01])) {\n\t\treturn {\n\t\t\text: 'flv',\n\t\t\tmime: 'video/x-flv'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x21])) {\n\t\treturn {\n\t\t\text: 'ps',\n\t\t\tmime: 'application/postscript'\n\t\t};\n\t}\n\n\tif (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n\t\treturn {\n\t\t\text: 'xz',\n\t\t\tmime: 'application/x-xz'\n\t\t};\n\t}\n\n\tif (check([0x53, 0x51, 0x4C, 0x69])) {\n\t\treturn {\n\t\t\text: 'sqlite',\n\t\t\tmime: 'application/x-sqlite3'\n\t\t};\n\t}\n\n\tif (check([0x4E, 0x45, 0x53, 0x1A])) {\n\t\treturn {\n\t\t\text: 'nes',\n\t\t\tmime: 'application/x-nintendo-nes-rom'\n\t\t};\n\t}\n\n\tif (check([0x43, 0x72, 0x32, 0x34])) {\n\t\treturn {\n\t\t\text: 'crx',\n\t\t\tmime: 'application/x-google-chrome-extension'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4D, 0x53, 0x43, 0x46]) ||\n\t\tcheck([0x49, 0x53, 0x63, 0x28])\n\t) {\n\t\treturn {\n\t\t\text: 'cab',\n\t\t\tmime: 'application/vnd.ms-cab-compressed'\n\t\t};\n\t}\n\n\t// Needs to be before `ar` check\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n\t\treturn {\n\t\t\text: 'deb',\n\t\t\tmime: 'application/x-deb'\n\t\t};\n\t}\n\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n\t\treturn {\n\t\t\text: 'ar',\n\t\t\tmime: 'application/x-unix-archive'\n\t\t};\n\t}\n\n\tif (check([0xED, 0xAB, 0xEE, 0xDB])) {\n\t\treturn {\n\t\t\text: 'rpm',\n\t\t\tmime: 'application/x-rpm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x1F, 0xA0]) ||\n\t\tcheck([0x1F, 0x9D])\n\t) {\n\t\treturn {\n\t\t\text: 'Z',\n\t\t\tmime: 'application/x-compress'\n\t\t};\n\t}\n\n\tif (check([0x4C, 0x5A, 0x49, 0x50])) {\n\t\treturn {\n\t\t\text: 'lz',\n\t\t\tmime: 'application/x-lzip'\n\t\t};\n\t}\n\n\tif (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n\t\treturn {\n\t\t\text: 'msi',\n\t\t\tmime: 'application/x-msi'\n\t\t};\n\t}\n\n\tif (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n\t\treturn {\n\t\t\text: 'mxf',\n\t\t\tmime: 'application/mxf'\n\t\t};\n\t}\n\n\tif (check([0x47], {offset: 4}) && (check([0x47], {offset: 192}) || check([0x47], {offset: 196}))) {\n\t\treturn {\n\t\t\text: 'mts',\n\t\t\tmime: 'video/mp2t'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n\t\treturn {\n\t\t\text: 'blend',\n\t\t\tmime: 'application/x-blender'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x50, 0x47, 0xFB])) {\n\t\treturn {\n\t\t\text: 'bpg',\n\t\t\tmime: 'image/bpg'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n\t\t// JPEG-2000 family\n\n\t\tif (check([0x6A, 0x70, 0x32, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jp2',\n\t\t\t\tmime: 'image/jp2'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x78, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpx',\n\t\t\t\tmime: 'image/jpx'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x6D, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpm',\n\t\t\t\tmime: 'image/jpm'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6D, 0x6A, 0x70, 0x32], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'mj2',\n\t\t\t\tmime: 'image/mj2'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (check([0x46, 0x4F, 0x52, 0x4D])) {\n\t\treturn {\n\t\t\text: 'aif',\n\t\t\tmime: 'audio/aiff'\n\t\t};\n\t}\n\n\tif (checkString(' new Promise((resolve, reject) => {\n\t// Using `eval` to work around issues when bundling with Webpack\n\tconst stream = eval('require')('stream'); // eslint-disable-line no-eval\n\n\treadableStream.once('readable', () => {\n\t\tconst pass = new stream.PassThrough();\n\t\tconst chunk = readableStream.read(module.exports.minimumBytes) || readableStream.read();\n\t\ttry {\n\t\t\tpass.fileType = fileType(chunk);\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\n\t\treadableStream.unshift(chunk);\n\n\t\tif (stream.pipeline) {\n\t\t\tresolve(stream.pipeline(readableStream, pass, () => {}));\n\t\t} else {\n\t\t\tresolve(readableStream.pipe(pass));\n\t\t}\n\t});\n});\n","/**\n *\n * Dump data to a big JSON tree\n *\n * @fileoverview dump data to JSON tree\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\n\n/**\n * deindent\n *\n * The generated HOCR is excessively indented, so\n * we get rid of that indentation\n *\n * @name deindent\n * @function deindent string\n * @access public\n * @param {string} html HOCR in html format\n * @returns {string} deindent html string\n */\nconst deindent = (html) => {\n const lines = html.split('\\n');\n if (lines[0].substring(0, 2) === ' ') {\n for (let i = 0; i < lines.length; i += 1) {\n if (lines[i].substring(0, 2) === ' ') {\n lines[i] = lines[i].slice(2);\n }\n }\n }\n return lines.join('\\n');\n};\n\n/**\n * dump\n *\n * @name dump\n * @function dump recognition result to a JSON object\n * @access public\n * @param {object} TessModule TessModule from TesseractCore\n * @param {object} api TesseractBaseAPI instance\n * @returns {object} dumpped JSON object\n */\nmodule.exports = (TessModule, api) => {\n const ri = api.GetIterator();\n const blocks = [];\n let block;\n let para;\n let textline;\n let word;\n let symbol;\n\n const enumToString = (value, prefix) => (\n Object.keys(TessModule)\n .filter(e => (e.substr(0, prefix.length + 1) === `${prefix}_`))\n .filter(e => TessModule[e] === value)\n .map(e => e.slice(prefix.length + 1))[0]\n );\n\n ri.Begin();\n do {\n if (ri.IsAtBeginningOf(TessModule.RIL_BLOCK)) {\n const poly = ri.BlockPolygon();\n let polygon = null;\n // BlockPolygon() returns null when automatic page segmentation is off\n if (TessModule.getPointer(poly) > 0) {\n const n = poly.get_n();\n const px = poly.get_x();\n const py = poly.get_y();\n polygon = [];\n for (let i = 0; i < n; i += 1) {\n polygon.push([px.getValue(i), py.getValue(i)]);\n }\n TessModule._ptaDestroy(TessModule.getPointer(poly));\n }\n\n block = {\n paragraphs: [],\n text: ri.GetUTF8Text(TessModule.RIL_BLOCK),\n confidence: ri.Confidence(TessModule.RIL_BLOCK),\n baseline: ri.getBaseline(TessModule.RIL_BLOCK),\n bbox: ri.getBoundingBox(TessModule.RIL_BLOCK),\n blocktype: enumToString(ri.BlockType(), 'PT'),\n polygon,\n };\n blocks.push(block);\n }\n if (ri.IsAtBeginningOf(TessModule.RIL_PARA)) {\n para = {\n lines: [],\n text: ri.GetUTF8Text(TessModule.RIL_PARA),\n confidence: ri.Confidence(TessModule.RIL_PARA),\n baseline: ri.getBaseline(TessModule.RIL_PARA),\n bbox: ri.getBoundingBox(TessModule.RIL_PARA),\n is_ltr: !!ri.ParagraphIsLtr(),\n };\n block.paragraphs.push(para);\n }\n if (ri.IsAtBeginningOf(TessModule.RIL_TEXTLINE)) {\n textline = {\n words: [],\n text: ri.GetUTF8Text(TessModule.RIL_TEXTLINE),\n confidence: ri.Confidence(TessModule.RIL_TEXTLINE),\n baseline: ri.getBaseline(TessModule.RIL_TEXTLINE),\n bbox: ri.getBoundingBox(TessModule.RIL_TEXTLINE),\n };\n para.lines.push(textline);\n }\n if (ri.IsAtBeginningOf(TessModule.RIL_WORD)) {\n const fontInfo = ri.getWordFontAttributes();\n const wordDir = ri.WordDirection();\n word = {\n symbols: [],\n choices: [],\n\n text: ri.GetUTF8Text(TessModule.RIL_WORD),\n confidence: ri.Confidence(TessModule.RIL_WORD),\n baseline: ri.getBaseline(TessModule.RIL_WORD),\n bbox: ri.getBoundingBox(TessModule.RIL_WORD),\n\n is_numeric: !!ri.WordIsNumeric(),\n in_dictionary: !!ri.WordIsFromDictionary(),\n direction: enumToString(wordDir, 'DIR'),\n language: ri.WordRecognitionLanguage(),\n\n is_bold: fontInfo.is_bold,\n is_italic: fontInfo.is_italic,\n is_underlined: fontInfo.is_underlined,\n is_monospace: fontInfo.is_monospace,\n is_serif: fontInfo.is_serif,\n is_smallcaps: fontInfo.is_smallcaps,\n font_size: fontInfo.pointsize,\n font_id: fontInfo.font_id,\n font_name: fontInfo.font_name,\n };\n const wc = new TessModule.WordChoiceIterator(ri);\n do {\n word.choices.push({\n text: wc.GetUTF8Text(),\n confidence: wc.Confidence(),\n });\n } while (wc.Next());\n TessModule.destroy(wc);\n textline.words.push(word);\n }\n\n // let image = null;\n // var pix = ri.GetBinaryImage(TessModule.RIL_SYMBOL)\n // var image = pix2array(pix);\n // // for some reason it seems that things stop working if you destroy pics\n // TessModule._pixDestroy(TessModule.getPointer(pix));\n if (ri.IsAtBeginningOf(TessModule.RIL_SYMBOL)) {\n symbol = {\n choices: [],\n image: null,\n text: ri.GetUTF8Text(TessModule.RIL_SYMBOL),\n confidence: ri.Confidence(TessModule.RIL_SYMBOL),\n baseline: ri.getBaseline(TessModule.RIL_SYMBOL),\n bbox: ri.getBoundingBox(TessModule.RIL_SYMBOL),\n is_superscript: !!ri.SymbolIsSuperscript(),\n is_subscript: !!ri.SymbolIsSubscript(),\n is_dropcap: !!ri.SymbolIsDropcap(),\n };\n word.symbols.push(symbol);\n const ci = new TessModule.ChoiceIterator(ri);\n do {\n symbol.choices.push({\n text: ci.GetUTF8Text(),\n confidence: ci.Confidence(),\n });\n } while (ci.Next());\n // TessModule.destroy(i);\n }\n } while (ri.Next(TessModule.RIL_SYMBOL));\n TessModule.destroy(ri);\n\n return {\n text: api.GetUTF8Text(),\n html: deindent(api.GetHOCRText()),\n confidence: api.MeanTextConf(),\n blocks,\n psm: enumToString(api.GetPageSegMode(), 'PSM'),\n oem: enumToString(api.oem(), 'OEM'),\n version: api.Version(),\n };\n};\n"],"sourceRoot":""}